diff --git a/.github/workflows/NewUpdate.yml b/.github/workflows/NewUpdate.yml index de810c08..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 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: @@ -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 @@ -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,28 +76,28 @@ 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: | - 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/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 + + 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/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 @@ -109,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/.github/workflows/PythonTest.yml b/.github/workflows/PythonTest.yml index f1932efd..d37b5e2d 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 }} @@ -42,10 +42,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: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names @@ -74,10 +76,11 @@ 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_to_sirius(sirius_port=8080) + 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...') @@ -87,22 +90,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 @@ -111,7 +102,23 @@ 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 working-directory: client-api_python/generated/test \ No newline at end of file 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/.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..4383b2ff 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 }} @@ -24,13 +24,15 @@ 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 - run: install.packages("/home/runner/work/sirius-client-openAPI/sirius-client-openAPI/client-api_r/generated", repos = NULL, type = "source") + - 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 uses: actions/cache@v3 @@ -38,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/)" @@ -53,25 +57,93 @@ 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) + library(RSirius) var_accept_terms <- TRUE var_account_credentials <- AccountCredentials$new(Sys.getenv('SIRIUS_USER'), Sys.getenv('SIRIUS_PW')) 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 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: | + 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: | - R CMD build ./client-api_r/generated - - name: Test Rsirius using testthat + 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: | - packageVersion=$(cat .updater/api/packageVersion.txt) - R CMD check "Rsirius_$packageVersion.tar.gz" --no-manual + 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/.updater/api/api-docs-enums.json b/.updater/api/api-docs-enums.json index 202bdfe6..f8b3728b 100644 --- a/.updater/api/api-docs-enums.json +++ b/.updater/api/api-docs-enums.json @@ -1 +1,11204 @@ -{"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.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 [EXPERIMENTAL] 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
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.
A clause may be:
\ntags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
The syntax allows to build complex filter queries such as:
\n\ntags.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 [EXPERIMENTAL] 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
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.
A clause may be:
\ntags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
The syntax allows to build complex filter queries such as:
\n\ntags.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 [EXPERIMENTAL] 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
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.
A clause may be:
\ntags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
The syntax allows to build complex filter queries such as:
\n\ntags.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 [EXPERIMENTAL] 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" + } + }, + "nullable": true + }, + "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 c5dd1a32..16d1f54e 100644 --- a/.updater/api/api-docs-strings.json +++ b/.updater/api/api-docs-strings.json @@ -1 +1,11574 @@ -{"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.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 [EXPERIMENTAL] 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
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.
A clause may be:
\ntags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
The syntax allows to build complex filter queries such as:
\n\ntags.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 [EXPERIMENTAL] 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
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.
A clause may be:
\ntags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
The syntax allows to build complex filter queries such as:
\n\ntags.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 [EXPERIMENTAL] 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
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.
A clause may be:
\ntags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
The syntax allows to build complex filter queries such as:
\n\ntags.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 [EXPERIMENTAL] 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" + } + }, + "nullable": true + }, + "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 f3b5af39..7849b73d 100644 --- a/.updater/api/packageVersion.txt +++ b/.updater/api/packageVersion.txt @@ -1 +1 @@ -6.1.1 +6.3.3 diff --git a/.updater/clientTests/CondaFeedstockMinimalTests/PythonFeedstockTest.py b/.updater/clientTests/CondaFeedstockMinimalTests/PythonFeedstockTest.py index 02b08e7a..ac0b4f28 100644 --- a/.updater/clientTests/CondaFeedstockMinimalTests/PythonFeedstockTest.py +++ b/.updater/clientTests/CondaFeedstockMinimalTests/PythonFeedstockTest.py @@ -1,10 +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) -time.sleep(10) 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 +19,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 +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 diff --git a/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R b/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R index f3798026..2cf7f2cc 100644 --- a/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R +++ b/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R @@ -1,16 +1,10 @@ options(error = traceback) -library('Rsirius') +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 != "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/.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 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/.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 diff --git a/README.md b/README.md index 931fbfb2..5d25ab1c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,10 @@ -# sirius-client-openAPI +[](https://anaconda.org/conda-forge/r-sirius-ms) +[](https://anaconda.org/conda-forge/py-sirius-ms) +[](https://anaconda.org/conda-forge/sirius-ms) + + 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 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/). 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/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/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/.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 0e44d372..d4afb829 100644 --- a/client-api_python/generated/PySirius/__init__.py +++ b/client-api_python/generated/PySirius/__init__.py @@ -12,143 +12,342 @@ """ # noqa: E501 -__version__ = "6.1.1" +__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.compounds_api import CompoundsApi -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.searchable_databases_api import SearchableDatabasesApi +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.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_peak import AnnotatedPeak -from PySirius.models.annotated_spectrum import AnnotatedSpectrum -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.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.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.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 -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.ms_data import MsData -from PySirius.models.ms_novelist import MsNovelist -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_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.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.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.searchable_database import SearchableDatabase -from PySirius.models.searchable_database_parameters import SearchableDatabaseParameters -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_matching_type import SpectralMatchingType -from PySirius.models.spectrum_annotation import SpectrumAnnotation -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.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.zodiac import Zodiac -from PySirius.models.zodiac_edge_filter_thresholds import ZodiacEdgeFilterThresholds -from PySirius.models.zodiac_epochs import ZodiacEpochs -from PySirius.sirius_api import PySiriusAPI -from PySirius.sirius import SiriusSDK +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 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/__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..263e6997 100644 --- a/client-api_python/generated/PySirius/api/actuator_api.py +++ b/client-api_python/generated/PySirius/api/actuator_api.py @@ -233,7 +233,9 @@ def _health_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -244,13 +246,14 @@ def _health_serialize( # 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' - ] - ) + 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 @@ -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, - ) -> object: + ) -> None: """Actuator web endpoint 'shutdown' @@ -324,7 +327,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 +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[object]: + ) -> ApiResponse[None]: """Actuator web endpoint 'shutdown' @@ -386,7 +390,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 +453,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, @@ -474,7 +480,9 @@ def _shutdown_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -484,14 +492,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..9de9e08b --- /dev/null +++ b/client-api_python/generated/PySirius/api/compound_statistics_api.py @@ -0,0 +1,1278 @@ +# 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[Optional[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[Optional[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[Optional[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, 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.")], + 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, 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.")], + 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, 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.")], + 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, 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 3bc9dee4..9c90a007 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 @@ -313,7 +316,9 @@ def _add_compounds_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -340,11 +345,12 @@ def _add_compounds_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + 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: @@ -383,10 +389,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 +406,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 +439,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 +450,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 +464,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 +481,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 +514,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 +525,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 +539,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 +557,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 +589,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 +600,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 +609,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,13 +623,16 @@ def _delete_compound_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -622,17 +644,39 @@ 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` + 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='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 +693,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 +709,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 +740,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 +750,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 +764,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 +780,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 +811,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 +821,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 +835,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 +852,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 +882,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 +892,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 +901,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,15 +914,15 @@ def _get_compound_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -913,25 +931,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 +943,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 +961,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[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)], @@ -974,17 +980,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 +1017,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 +1030,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 +1044,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[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)], @@ -1049,17 +1063,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 +1100,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 +1113,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 +1127,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[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)], @@ -1125,16 +1147,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 +1183,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 +1196,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 +1205,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,13 +1221,17 @@ def _get_compound_traces_experimental_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -1206,9 +1240,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 @@ -1216,11 +1258,12 @@ def _get_compound_traces_experimental_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -1229,7 +1272,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 +1289,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 +1305,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 +1336,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 +1346,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 +1360,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 +1376,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 +1407,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 +1417,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 +1431,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 +1448,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 +1478,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 +1488,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 +1497,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,28 +1510,24 @@ def _get_compounds_serialize( _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] = {} + _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: + if type is not None: - _query_params.append(('optFields', opt_fields)) - - if opt_fields_features is not None: - - _query_params.append(('optFieldsFeatures', opt_fields_features)) + _query_params.append(('type', type.value)) # process the header parameters # process the form parameters @@ -1509,11 +1535,12 @@ def _get_compounds_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -1522,7 +1549,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 +1566,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 +1583,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 +1616,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 +1627,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 +1641,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 +1658,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 +1691,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 +1702,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 +1716,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 +1734,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 +1766,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 +1777,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 +1786,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,41 +1800,26 @@ def _get_compounds_paged_serialize( _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] = {} + _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 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 @@ -1854,11 +1827,12 @@ def _get_compounds_paged_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -1867,7 +1841,2229 @@ 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, 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.")], + 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[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)], + 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[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)], + 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[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)], + 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, 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.")], + 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[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)], + 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[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)], + 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[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)], + 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, 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.")], + 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[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)], + 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.
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:
tags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
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
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:
tags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
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
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:
tags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
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 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, 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, 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..36dc5cac --- /dev/null +++ b/client-api_python/generated/PySirius/api/feature_statistics_api.py @@ -0,0 +1,1278 @@ +# 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[Optional[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[Optional[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[Optional[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, 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.")], + 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, 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.")], + 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, 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.")], + 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, 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 d0972dfc..a81aefc8 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 @@ -321,7 +322,9 @@ def _add_aligned_features_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -344,11 +347,12 @@ def _add_aligned_features_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + 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: @@ -387,10 +391,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 +408,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 +441,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 +452,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 +466,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 +483,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 +516,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 +527,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 +541,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 +559,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 +591,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 +602,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 +611,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, @@ -614,7 +631,9 @@ def _delete_aligned_feature_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -623,11 +642,22 @@ 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` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -635,8 +665,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 +683,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 +700,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 +733,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 +744,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 +758,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 +775,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 +808,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 +819,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 +833,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 +851,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 +883,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 +894,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 +903,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,27 +917,38 @@ def _delete_aligned_features_serialize( _host = None _collection_formats: Dict[str, str] = { - 'request_body': '', + '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] = {} + _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 request_body is not None: - _body_params = request_body + 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: @@ -916,7 +970,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 +987,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 +1003,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 +1034,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 +1044,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 +1058,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 +1074,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 +1105,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 +1115,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 +1129,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 +1146,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 +1176,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 +1186,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 +1195,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, @@ -1160,7 +1214,9 @@ def _get_adduct_network_with_merged_traces_experimental_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -1174,12 +1230,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 +1237,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 +1255,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 +1271,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 +1302,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 +1312,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 +1326,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 +1342,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 +1373,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 +1383,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 +1397,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 +1414,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 +1444,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 +1454,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 +1463,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,46 +1476,51 @@ def _get_aligned_feature_serialize( _host = None _collection_formats: Dict[str, str] = { - 'optFields': 'multi', + '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] = {} + _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 + 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 +1537,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 +1553,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 +1584,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 +1594,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 +1608,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 +1624,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 +1655,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 +1665,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 +1679,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 +1696,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 +1726,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 +1736,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 +1745,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,35 +1758,35 @@ def _get_aligned_features_serialize( _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] = {} + _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` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -1753,7 +1795,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,12 +1812,11 @@ 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, + 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[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, @@ -1789,19 +1830,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 +1865,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 +1877,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,12 +1891,11 @@ 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, + 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[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, @@ -1872,19 +1909,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 +1944,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 +1956,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,12 +1970,11 @@ 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, + 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[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, @@ -1956,18 +1989,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 +2023,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 +2035,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 +2044,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 +2059,6 @@ def _get_aligned_features_paged_serialize( _host = None _collection_formats: Dict[str, str] = { - 'sort': 'multi', 'optFields': 'multi', } @@ -2038,24 +2066,20 @@ def _get_aligned_features_paged_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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: + if ms_data_search_prepared 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)) + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) if opt_fields is not None: @@ -2067,11 +2091,12 @@ def _get_aligned_features_paged_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -2080,7 +2105,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 +2122,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 +2139,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 +2169,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 +2193,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 +2210,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 +2240,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 +2264,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 +2281,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 +2311,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 +2330,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, @@ -2324,7 +2349,9 @@ def _get_aligned_features_quality_experimental_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -2339,11 +2366,12 @@ def _get_aligned_features_quality_experimental_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -2369,11 +2397,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[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)], @@ -2386,17 +2414,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 +2447,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 +2458,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 +2472,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[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)], @@ -2461,17 +2489,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 +2522,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 +2533,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 +2547,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[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)], @@ -2537,16 +2565,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 +2597,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 +2608,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 +2617,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,34 +2631,42 @@ def _get_best_matching_compound_classes_serialize( _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] = {} + _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` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -2639,7 +2675,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 +2692,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[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)], @@ -2673,17 +2712,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 +2751,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 +2765,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 +2779,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[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)], @@ -2748,17 +2799,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 +2838,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 +2852,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 +2866,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[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)], @@ -2824,16 +2887,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 +2925,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 +2939,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 +2948,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,34 +2965,55 @@ def _get_canopus_prediction_serialize( _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] = {} + _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 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' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -2926,7 +3022,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 +3039,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[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)], @@ -2960,17 +3059,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.
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:
tags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
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 +3098,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 +3112,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 +3126,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[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)], @@ -3035,17 +3146,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.
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:
tags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
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 +3185,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 +3199,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 +3213,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[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)], @@ -3111,18 +3234,24 @@ 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.
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:
tags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
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 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 + :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[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 @@ -3143,9 +3272,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 +3286,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 +3295,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 +3312,7 @@ def _get_de_novo_structure_candidates_serialize( _host = None _collection_formats: Dict[str, str] = { + 'sort': 'multi', 'optFields': 'multi', } @@ -3184,15 +3320,31 @@ def _get_de_novo_structure_candidates_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 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)) @@ -3203,11 +3355,12 @@ def _get_de_novo_structure_candidates_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -3216,7 +3369,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 +3386,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[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)], @@ -3251,19 +3406,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 +3445,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 +3459,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 +3473,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[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)], @@ -3330,19 +3493,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 +3532,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 +3546,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 +3560,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[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)], @@ -3410,18 +3581,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 +3619,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 +3633,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 +3642,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 +3659,7 @@ def _get_de_novo_structure_candidates_by_formula_serialize( _host = None _collection_formats: Dict[str, str] = { + 'sort': 'multi', 'optFields': 'multi', } @@ -3487,17 +3667,31 @@ def _get_de_novo_structure_candidates_by_formula_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 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)) @@ -3508,11 +3702,12 @@ def _get_de_novo_structure_candidates_by_formula_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -3521,7 +3716,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 +3733,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 +3750,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 +3761,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 +3783,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 +3794,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 +3808,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 +3825,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 +3836,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 +3858,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 +3869,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 +3883,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 +3901,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 +3911,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 +3933,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 +3944,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 +3953,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,15 +3967,15 @@ 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] = {} _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -3843,33 +3986,18 @@ 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 # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -3878,7 +4006,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 +4023,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 +4040,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. + ) -> 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 @@ -3954,13 +4073,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 +4084,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 +4098,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 +4115,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 +4148,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 +4159,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 +4173,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 +4191,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 +4223,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 +4234,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 +4243,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,15 +4257,15 @@ def _get_de_novo_structure_candidates_paged_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -4184,34 +4273,21 @@ 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 # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -4220,7 +4296,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 +4313,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[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)], @@ -4254,17 +4330,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 +4363,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 +4374,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 +4388,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[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)], @@ -4329,17 +4405,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 +4438,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 +4449,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 +4463,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[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)], @@ -4405,16 +4481,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 +4513,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 +4524,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 +4533,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,13 +4547,16 @@ def _get_fingerprint_prediction_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -4485,20 +4564,23 @@ 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 # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -4507,7 +4589,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 +4606,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[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)], @@ -4541,10 +4624,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 +4635,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 +4659,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 +4671,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 +4685,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[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)], @@ -4616,10 +4703,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 +4714,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 +4738,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 +4750,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 +4764,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[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)], @@ -4692,9 +4783,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 +4793,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 +4817,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 +4829,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 +4838,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,13 +4853,16 @@ def _get_formula_annotated_ms_ms_data_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -4775,17 +4873,22 @@ 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 # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -4794,7 +4897,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 +4914,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[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)], @@ -4829,10 +4935,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 +4946,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 +4976,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 +4991,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 +5005,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[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)], @@ -4908,10 +5026,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 +5037,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 +5067,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 +5082,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 +5096,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[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)], @@ -4988,9 +5118,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 +5128,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 +5158,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 +5173,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 +5182,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,13 +5200,17 @@ def _get_formula_annotated_spectrum_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -5075,9 +5221,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 @@ -5085,11 +5243,12 @@ def _get_formula_annotated_spectrum_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -5098,7 +5257,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 +5274,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[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)], @@ -5133,19 +5294,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 +5333,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 +5347,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 +5361,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[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)], @@ -5212,19 +5381,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 +5420,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 +5434,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 +5448,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[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)], @@ -5292,20 +5469,24 @@ 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 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 + :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 (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional @@ -5326,10 +5507,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 +5521,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 +5530,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 +5547,7 @@ def _get_formula_candidate_serialize( _host = None _collection_formats: Dict[str, str] = { + 'sort': 'multi', 'optFields': 'multi', } @@ -5369,7 +5555,9 @@ def _get_formula_candidate_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -5377,9 +5565,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)) @@ -5390,11 +5588,12 @@ def _get_formula_candidate_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -5403,7 +5602,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 +5619,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 +5635,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 +5666,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 +5676,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 +5690,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 +5706,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 +5737,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 +5747,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 +5761,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 +5778,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 +5808,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 +5818,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 +5827,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,25 +5840,24 @@ def _get_formula_candidates_serialize( _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] = {} + _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: + 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 @@ -5680,11 +5865,12 @@ def _get_formula_candidates_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -5693,7 +5879,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 +5896,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 +5913,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 +5946,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 +5957,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 +5971,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 +5988,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 +6021,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 +6032,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 +6046,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 +6064,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 +6096,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 +6107,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 +6116,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,15 +6130,15 @@ def _get_formula_candidates_paged_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -5999,34 +6146,21 @@ 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 # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -6035,7 +6169,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 +6186,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 +6204,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 +6215,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 +6239,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 +6251,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 +6265,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 +6283,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 +6294,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 +6318,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 +6330,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 +6344,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 +6363,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 +6373,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 +6397,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 +6409,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 +6418,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, @@ -6292,7 +6439,9 @@ def _get_frag_tree_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -6303,17 +6452,22 @@ 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 # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -6322,7 +6476,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 +6493,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 +6512,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 +6523,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 +6549,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 +6562,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 +6576,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 +6595,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 +6606,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 +6632,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 +6645,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 +6659,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 +6679,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 +6689,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 +6715,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 +6728,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 +6737,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, @@ -6579,7 +6759,9 @@ def _get_isotope_pattern_annotation_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -6590,17 +6772,26 @@ 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 # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -6609,7 +6800,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 +6817,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[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)], @@ -6643,10 +6836,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 +6847,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 +6873,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 +6886,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 +6900,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[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)], @@ -6718,10 +6919,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 +6930,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 +6956,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 +6969,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 +6983,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[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)], @@ -6794,9 +7003,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 +7013,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 +7039,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 +7052,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 +7061,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,13 +7077,16 @@ def _get_lipid_annotation_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -6877,17 +7097,26 @@ 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 # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -6896,7 +7125,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 +7142,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[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)], @@ -6929,15 +7160,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 +7195,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 +7207,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 +7221,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[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)], @@ -7000,15 +7239,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 +7274,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 +7286,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 +7300,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[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)], @@ -7072,14 +7319,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 +7353,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 +7365,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 +7374,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,13 +7389,16 @@ def _get_ms_data_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -7149,17 +7407,26 @@ 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 # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -7168,7 +7435,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 +7452,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[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)], @@ -7202,17 +7473,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 +7514,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 +7529,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 +7543,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[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)], @@ -7277,17 +7564,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 +7605,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 +7620,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 +7634,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[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)], @@ -7353,16 +7656,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 +7696,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 +7711,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,27 +7720,35 @@ 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, - _request_auth, - _content_type, - _headers, + 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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -7434,9 +7757,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 @@ -7444,11 +7783,12 @@ def _get_quantification_experimental_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -7457,7 +7797,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 +7814,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 +7831,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 +7864,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 +7875,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 +7889,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 +7906,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 +7939,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 +7950,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 +7964,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 +7982,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 +8014,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 +8025,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 +8034,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,14 +8048,15 @@ def _get_spectral_library_match_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -7736,24 +8064,21 @@ 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 # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -7762,7 +8087,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 +8104,11 @@ 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, - 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")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7799,23 +8121,17 @@ 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'. + ) -> IsotopePatternAnnotation: + """Returns Isotope pattern information for given formulaId - List of spectral library matches for the given 'alignedFeatureId'. + 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 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: - :type inchi_key: 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 @@ -7838,13 +8154,10 @@ def get_spectral_library_matches( :return: Returns the result object. """ # noqa: E501 - _param = self._get_spectral_library_matches_serialize( + _param = self._get_isotope_pattern_annotation_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, + formula_id=formula_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -7852,7 +8165,7 @@ def get_spectral_library_matches( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[SpectralLibraryMatch]", + '200': "IsotopePatternAnnotation", } response_data = self.api_client.call_api( *_param, @@ -7866,14 +8179,11 @@ def get_spectral_library_matches( @validate_call - def get_spectral_library_matches_with_http_info( + 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 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")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7886,23 +8196,17 @@ 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[IsotopePatternAnnotation]: + """Returns Isotope pattern information for given formulaId - List of spectral library matches for the given 'alignedFeatureId'. + 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 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: - :type inchi_key: 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 @@ -7925,13 +8229,10 @@ 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_isotope_pattern_annotation_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, + formula_id=formula_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -7939,7 +8240,7 @@ def get_spectral_library_matches_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[SpectralLibraryMatch]", + '200': "IsotopePatternAnnotation", } response_data = self.api_client.call_api( *_param, @@ -7953,14 +8254,11 @@ def get_spectral_library_matches_with_http_info( @validate_call - def get_spectral_library_matches_without_preload_content( + 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 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")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7974,22 +8272,16 @@ 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'. + """Returns Isotope pattern information for given formulaId - List of spectral library matches for the given 'alignedFeatureId'. + 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 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: - :type inchi_key: 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 @@ -8012,13 +8304,10 @@ 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_isotope_pattern_annotation_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, + formula_id=formula_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -8026,7 +8315,7 @@ def get_spectral_library_matches_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[SpectralLibraryMatch]", + '200': "IsotopePatternAnnotation", } response_data = self.api_client.call_api( *_param, @@ -8035,14 +8324,11 @@ def get_spectral_library_matches_without_preload_content( return response_data.response - def _get_spectral_library_matches_serialize( + def _get_isotope_pattern_annotation_serialize( self, project_id, aligned_feature_id, - min_shared_peaks, - min_similarity, - inchi_key, - opt_fields, + formula_id, _request_auth, _content_type, _headers, @@ -8052,14 +8338,15 @@ def _get_spectral_library_matches_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -8067,34 +8354,21 @@ def _get_spectral_library_matches_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 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' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -8103,7 +8377,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}/isotope-pattern', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -8120,12 +8394,1736 @@ def _get_spectral_library_matches_serialize( @validate_call - def get_spectral_library_matches_paged( + 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 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, + 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, 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.")], + 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, 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.")], + 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, 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.")], + 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[Optional[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[Optional[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[Optional[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, 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.")], + 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, + _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[Optional[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[Optional[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, 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.")], + 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, + _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[Optional[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, @@ -8143,29 +10141,857 @@ 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'. + ) -> 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, 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.")], + 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)], + 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: + """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 + ) + 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.")], + 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, + _request_timeout=_request_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.")], + 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, + ) -> 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. + + :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, + _request_timeout=_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.")], + 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, + ) -> 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. + + :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, + _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.")], + 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.")], + _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, + ) -> 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 +11014,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 +11025,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 +11039,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 +11056,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 +11089,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 +11100,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 +11114,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 +11132,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 +11164,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 +11175,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 +11184,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,15 +11198,15 @@ def _get_spectral_library_matches_paged_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -8448,46 +11214,21 @@ 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 # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -8496,7 +11237,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 +11254,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 +11274,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 +11313,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 +11327,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 +11341,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 +11361,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 +11400,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 +11414,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 +11428,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 +11449,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 +11487,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, + aligned_feature_id=aligned_feature_id, + 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 +11501,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 +11510,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, @@ -8779,7 +11533,9 @@ def _get_spectral_library_matches_summary_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -8787,18 +11543,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 @@ -8806,11 +11562,12 @@ def _get_spectral_library_matches_summary_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -8819,7 +11576,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 +11593,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[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)], @@ -8854,19 +11610,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 +11643,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 +11654,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 +11668,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[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)], @@ -8933,19 +11685,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 +11718,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 +11729,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 +11743,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[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)], @@ -9013,18 +11761,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 +11793,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 +11804,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 +11813,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,13 +11827,16 @@ def _get_structure_annotated_ms_data_experimental_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -9097,22 +11844,23 @@ 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 # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -9121,7 +11869,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 +11886,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[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)], @@ -9157,10 +11904,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 +11915,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 +11939,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 +11951,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 +11965,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[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)], @@ -9240,10 +11983,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 +11994,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 +12018,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 +12030,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 +12044,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[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)], @@ -9324,9 +12063,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 +12073,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 +12097,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 +12109,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 +12118,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,13 +12133,16 @@ def _get_structure_annotated_spectrum_experimental_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -9414,12 +12152,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 @@ -9427,11 +12163,12 @@ def _get_structure_annotated_spectrum_experimental_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -9440,7 +12177,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,10 +12194,14 @@ 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.")], + 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, @@ -9474,15 +12215,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 +12256,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 +12271,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,10 +12285,14 @@ 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.")], + 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, @@ -9549,15 +12306,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 +12347,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 +12362,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,10 +12376,14 @@ 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.")], + 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, @@ -9625,14 +12398,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 +12438,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 +12453,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 +12462,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 +12480,7 @@ def _get_structure_candidates_serialize( _host = None _collection_formats: Dict[str, str] = { + 'sort': 'multi', 'optFields': 'multi', } @@ -9698,7 +12488,9 @@ def _get_structure_candidates_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -9706,7 +12498,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)) @@ -9717,11 +12523,12 @@ def _get_structure_candidates_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -9730,7 +12537,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,11 +12554,13 @@ 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")], + 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, _request_timeout: Union[ None, @@ -9765,17 +12574,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 +12613,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 +12627,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,11 +12641,13 @@ 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")], + 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, _request_timeout: Union[ None, @@ -9844,17 +12661,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 +12700,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 +12714,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,11 +12728,13 @@ 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")], + 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, _request_timeout: Union[ None, @@ -9924,16 +12749,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 +12787,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 +12801,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 +12810,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 +12827,7 @@ def _get_structure_candidates_by_formula_serialize( _host = None _collection_formats: Dict[str, str] = { + 'sort': 'multi', 'optFields': 'multi', } @@ -10001,7 +12835,9 @@ def _get_structure_candidates_by_formula_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -10009,9 +12845,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)) @@ -10022,11 +12868,12 @@ def _get_structure_candidates_by_formula_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -10035,7 +12882,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 +12899,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 +12915,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 +12946,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 +12956,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 +12970,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 +12986,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. + ) -> ApiResponse[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 @@ -10203,16 +13015,11 @@ def get_structure_candidates_by_formula_paged_with_http_info( in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. - """ # noqa: E501 - - _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, + """ # noqa: E501 + + _param = self._get_tags_for_aligned_features_experimental_serialize( + project_id=project_id, + object_id=object_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -10220,7 +13027,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 +13041,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 +13058,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 +13088,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 +13098,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 +13107,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,52 +13120,35 @@ def _get_structure_candidates_by_formula_paged_serialize( _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] = {} + _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 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 # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -10392,7 +13157,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 +13174,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 +13191,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 +13224,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 +13235,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 +13249,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 +13266,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 +13299,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 +13310,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 +13324,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 +13342,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 +13374,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 +13385,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 +13394,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,15 +13408,15 @@ def _get_structure_candidates_paged_serialize( _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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -10699,21 +13425,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 @@ -10721,11 +13435,12 @@ def _get_structure_candidates_paged_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -10734,7 +13449,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 +13466,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 +13483,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 +13516,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 +13527,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 +13541,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 +13558,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 +13591,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 +13602,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 +13616,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 +13634,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 +13666,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 +13677,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 +13686,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, @@ -10991,7 +13706,9 @@ def _get_traces_experimental_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -10999,22 +13716,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 +13731,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/info_api.py b/client-api_python/generated/PySirius/api/info_api.py index b6770f85..15e01432 100644 --- a/client-api_python/generated/PySirius/api/info_api.py +++ b/client-api_python/generated/PySirius/api/info_api.py @@ -236,7 +236,9 @@ def _get_connection_check_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -247,11 +249,12 @@ def _get_connection_check_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -501,7 +504,9 @@ def _get_info_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -520,11 +525,12 @@ def _get_info_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting diff --git a/client-api_python/generated/PySirius/api/jobs_api.py b/client-api_python/generated/PySirius/api/jobs_api.py index a859ad04..043b725d 100644 --- a/client-api_python/generated/PySirius/api/jobs_api.py +++ b/client-api_python/generated/PySirius/api/jobs_api.py @@ -295,7 +295,9 @@ def _delete_job_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -556,7 +558,9 @@ def _delete_job_config_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -833,7 +837,9 @@ def _delete_jobs_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -877,12 +883,285 @@ 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, 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, 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 +1183,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 +1236,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 +1258,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 +1311,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 +1333,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 @@ -1118,7 +1397,9 @@ def _get_default_job_config_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -1141,11 +1422,12 @@ def _get_default_job_config_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -1412,7 +1694,9 @@ def _get_job_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -1431,11 +1715,12 @@ def _get_job_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -1688,7 +1973,9 @@ def _get_job_config_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -1705,11 +1992,12 @@ def _get_job_config_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -1750,9 +2038,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 +2102,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 +2166,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 @@ -1939,7 +2227,9 @@ def _get_job_config_names_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -1950,11 +2240,12 @@ def _get_job_config_names_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -2181,7 +2472,9 @@ def _get_job_configs_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -2192,11 +2485,12 @@ def _get_job_configs_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -2450,7 +2744,9 @@ def _get_jobs_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -2467,11 +2763,12 @@ def _get_jobs_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -2765,7 +3062,9 @@ def _get_jobs_paged_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -2794,11 +3093,12 @@ def _get_jobs_paged_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -3048,7 +3348,9 @@ def _has_jobs_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -3065,11 +3367,12 @@ def _has_jobs_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -3348,7 +3651,9 @@ def _save_job_config_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -3371,11 +3676,12 @@ def _save_job_config_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + 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: @@ -3655,7 +3961,9 @@ def _start_job_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -3674,11 +3982,12 @@ def _start_job_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + 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: @@ -3985,7 +4294,9 @@ def _start_job_from_config_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -4012,11 +4323,12 @@ def _start_job_from_config_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + 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: 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..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 @@ -254,7 +254,9 @@ def _get_account_info_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -269,11 +271,12 @@ def _get_account_info_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -500,7 +503,9 @@ def _get_sign_up_url_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -511,11 +516,12 @@ def _get_sign_up_url_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'text/plain;charset=UTF-8' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'text/plain;charset=UTF-8' + ] + ) # authentication setting @@ -742,7 +748,9 @@ def _get_subscriptions_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -753,11 +761,12 @@ def _get_subscriptions_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -984,7 +993,9 @@ def _is_logged_in_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -995,11 +1006,12 @@ def _is_logged_in_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -1278,7 +1290,9 @@ def _login_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -1303,11 +1317,12 @@ def _login_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + 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: @@ -1547,7 +1562,9 @@ def _logout_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -1783,7 +1800,9 @@ def _open_portal_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -2032,7 +2051,9 @@ def _select_subscription_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -2047,11 +2068,12 @@ def _select_subscription_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -2278,7 +2300,9 @@ def _sign_up_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -2289,11 +2313,12 @@ def _sign_up_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'text/plain;charset=UTF-8' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'text/plain;charset=UTF-8' + ] + ) # authentication setting diff --git a/client-api_python/generated/PySirius/api/projects_api.py b/client-api_python/generated/PySirius/api/projects_api.py index 2fcf6e3a..506ca817 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, @@ -257,13 +270,19 @@ def _close_project_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -535,7 +554,9 @@ def _create_project_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -556,11 +577,12 @@ def _create_project_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -810,7 +832,9 @@ def _get_canopus_classy_fire_data_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -827,12 +851,13 @@ def _get_canopus_classy_fire_data_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/csv', - 'application/CSV' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/csv', + 'application/CSV' + ] + ) # authentication setting @@ -1082,7 +1107,9 @@ def _get_canopus_npc_data_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -1099,12 +1126,13 @@ def _get_canopus_npc_data_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/csv', - 'application/CSV' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/csv', + 'application/CSV' + ] + ) # authentication setting @@ -1354,7 +1382,9 @@ def _get_finger_id_data_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -1371,12 +1401,13 @@ def _get_finger_id_data_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/csv', - 'application/CSV' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/csv', + 'application/CSV' + ] + ) # authentication setting @@ -1630,7 +1661,9 @@ def _get_project_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -1647,11 +1680,12 @@ def _get_project_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -1878,7 +1912,9 @@ def _get_projects_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -1889,11 +1925,12 @@ def _get_projects_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -1922,8 +1959,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: LcmsSubmissionParameters, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1943,9 +1980,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: (required) :type parameters: LcmsSubmissionParameters :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1997,8 +2034,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: LcmsSubmissionParameters, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2018,9 +2055,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: (required) :type parameters: LcmsSubmissionParameters :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2072,8 +2109,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: LcmsSubmissionParameters, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2093,9 +2130,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: (required) :type parameters: LcmsSubmissionParameters :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2153,14 +2190,16 @@ def _import_ms_run_data_serialize( _host = None _collection_formats: Dict[str, str] = { - 'inputFiles': 'csv', + '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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -2172,16 +2211,26 @@ def _import_ms_run_data_serialize( if input_files is not None: _files['inputFiles'] = input_files if parameters is not None: - _form_params.append(('parameters', parameters)) + # 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` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + 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: @@ -2223,9 +2272,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.")], + input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Files to import into project.")], + 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, - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, - parameters: Optional[LcmsSubmissionParameters] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2245,12 +2294,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: (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 +2324,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 +2351,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.")], + input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Files to import into project.")], + 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, - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, - parameters: Optional[LcmsSubmissionParameters] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2324,12 +2373,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: (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 +2403,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 +2430,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.")], + input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Files to import into project.")], + 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, - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, - parameters: Optional[LcmsSubmissionParameters] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2403,12 +2452,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: (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 +2482,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 +2504,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,15 +2516,17 @@ def _import_ms_run_data_as_job_serialize( _host = None _collection_formats: Dict[str, str] = { + 'inputFiles': 'multi', 'optFields': 'multi', - '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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -2491,16 +2542,26 @@ def _import_ms_run_data_as_job_serialize( if input_files is not None: _files['inputFiles'] = input_files if parameters is not None: - _form_params.append(('parameters', parameters)) + # 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` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + 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: @@ -2542,9 +2603,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 +2625,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 +2655,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 +2682,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 +2704,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 +2734,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 +2761,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 +2783,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 +2813,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 +2835,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, @@ -2793,7 +2854,9 @@ def _import_preprocessed_data_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -2816,11 +2879,12 @@ def _import_preprocessed_data_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + 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: @@ -2862,10 +2926,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, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2885,14 +2949,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 +2981,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 +3009,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, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2968,14 +3032,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 +3064,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 +3092,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, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3051,14 +3115,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 +3147,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 +3170,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,15 +3183,17 @@ 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] = {} _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -3154,11 +3220,12 @@ def _import_preprocessed_data_as_job_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + 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: @@ -3438,7 +3505,9 @@ def _open_project_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -3459,11 +3528,12 @@ def _open_project_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting 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..a0cadfba --- /dev/null +++ b/client-api_python/generated/PySirius/api/runs_api.py @@ -0,0 +1,2528 @@ +# 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, 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.")], + 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[Optional[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[Optional[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[Optional[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, 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.")], + run_id: Annotated[StrictStr, Field(description="identifier of run to access.")], + 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)], + 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[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)], + 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[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)], + 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, 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.")], + 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[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[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)], + 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[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)], + 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, 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.")], + 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[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)], + 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[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)], + 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[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)], + 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, 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.")], + 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[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)], + 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.
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:
tags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
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
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:
tags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
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
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:
tags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
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 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, 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 aa2d5177..b50242ec 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 @@ -254,7 +255,9 @@ def _add_databases_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -267,11 +270,12 @@ def _add_databases_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + 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: @@ -534,7 +538,9 @@ def _create_database_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -549,11 +555,12 @@ def _create_database_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + 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: @@ -816,7 +823,9 @@ def _get_custom_databases_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -835,11 +844,12 @@ def _get_custom_databases_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -1089,7 +1099,9 @@ def _get_database_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -1106,11 +1118,12 @@ def _get_database_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -1360,7 +1373,9 @@ def _get_databases_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -1379,11 +1394,12 @@ def _get_databases_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -1620,7 +1636,9 @@ def _get_included_databases_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -1635,11 +1653,12 @@ def _get_included_databases_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -1668,8 +1687,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: Optional[BioTransformerParameters] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1689,10 +1709,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: + :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 +1739,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 +1766,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: Optional[BioTransformerParameters] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1764,10 +1788,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: + :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 +1818,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 +1845,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: Optional[BioTransformerParameters] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1839,10 +1867,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: + :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 +1897,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 +1919,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, @@ -1899,14 +1931,16 @@ def _import_into_database_serialize( _host = None _collection_formats: Dict[str, str] = { - 'inputFiles': 'csv', + '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] = {} + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} _body_params: Optional[bytes] = None # process the path parameters @@ -1921,15 +1955,27 @@ 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: + # 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` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + 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: @@ -2192,7 +2238,9 @@ def _remove_database_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -2457,7 +2505,9 @@ def _update_database_serialize( _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] - _files: Dict[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 @@ -2472,11 +2522,12 @@ def _update_database_serialize( # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + 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: 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..15a380d8 --- /dev/null +++ b/client-api_python/generated/PySirius/api/tags_api.py @@ -0,0 +1,2581 @@ +# 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, 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.")], + 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.
See /tagged for filter syntax.
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 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[Dict[str, 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[Dict[str, 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, 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.")], + 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, 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.")], + 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, 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.")], + 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, 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.")], + 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, 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.")], + 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, 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.")], + 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, 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.")], + 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, 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 40f9fff0..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 @@ -86,7 +89,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.3/python' self.client_side_validation = configuration.client_side_validation def __enter__(self): @@ -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 a45650bd..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 """ @@ -492,7 +499,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.3".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self) -> List[HostSetting]: 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 0190fb57..95f83ff1 100644 --- a/client-api_python/generated/PySirius/models/__init__.py +++ b/client-api_python/generated/PySirius/models/__init__.py @@ -10,23 +10,27 @@ 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 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 +50,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 +58,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 +78,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 +101,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 +118,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 +132,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 +143,11 @@ 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/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..0f4e0a7e 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 @@ -46,7 +47,8 @@ class AlignedFeature(BaseModel): 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, alias="computedTools") - __properties: ClassVar[List[str]] = ["alignedFeatureId", "compoundId", "name", "externalFeatureId", "ionMass", "charge", "detectedAdducts", "rtStartSeconds", "rtEndSeconds", "rtApexSeconds", "quality", "hasMs1", "hasMsMs", "msData", "topAnnotations", "topAnnotationsDeNovo", "computing", "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,6 +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() + # 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 # 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: @@ -139,6 +148,11 @@ def to_dict(self) -> Dict[str, Any]: 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 @@ -168,7 +182,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/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_spectrum.py b/client-api_python/generated/PySirius/models/annotated_spectrum.py index 08aa4647..0126606d 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, 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") + 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, alias="spectrumAnnotation") - __properties: ClassVar[List[str]] = ["name", "msLevel", "collisionEnergy", "instrument", "precursorMz", "scanNumber", "peaks", "absIntensityFactor", "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: @@ -121,6 +131,26 @@ def to_dict(self) -> Dict[str, Any]: 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: @@ -144,8 +174,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..1d972587 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, 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: @@ -116,6 +125,26 @@ def to_dict(self) -> Dict[str, Any]: 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 @@ -134,8 +163,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..2abf5846 --- /dev/null +++ b/client-api_python/generated/PySirius/models/bio_transformer_parameters.py @@ -0,0 +1,111 @@ +# 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: 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"] + + 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 + # 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 + 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") 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 + }) + 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/compound.py b/client-api_python/generated/PySirius/models/compound.py index 3f2cebc0..879593a0 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 @@ -36,7 +37,8 @@ class Compound(BaseModel): 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"] + 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,6 +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() + # 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 # 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: @@ -128,6 +137,11 @@ def to_dict(self) -> Dict[str, Any]: 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 @@ -148,7 +162,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_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/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/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/lcms_submission_parameters.py b/client-api_python/generated/PySirius/models/lcms_submission_parameters.py index 04d74fd4..ccb250ff 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, 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"] model_config = ConfigDict( populate_by_name=True, @@ -66,6 +72,22 @@ 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() + # 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 @@ -78,7 +100,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/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..b5ab16b8 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"] + __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,6 +94,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 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: @@ -112,6 +121,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/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_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/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_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/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 79% 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..db9bba10 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") + quantification_measure: Optional[QuantMeasure] = Field(default=None, alias="quantificationMeasure") + row_type: Optional[QuantRowType] = Field(default=None, alias="rowType") 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]] = ["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]: @@ -100,7 +98,7 @@ def to_dict(self) -> Dict[str, Any]: @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 +106,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..494ceae2 --- /dev/null +++ b/client-api_python/generated/PySirius/models/run.py @@ -0,0 +1,137 @@ +# 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[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"] + + 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 + # 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 + 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/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/spectral_library_match.py b/client-api_python/generated/PySirius/models/spectral_library_match.py index 0e0daaa0..d43e765b 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] = 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") - __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,6 +88,13 @@ 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() @@ -105,6 +119,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 +129,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") if obj.get("type") is not None else SpectralMatchType.IDENTITY, "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_search.py b/client-api_python/generated/PySirius/models/spectral_library_search.py index 7055daa5..ffd9ccef 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 @@ -27,10 +27,15 @@ class SpectralLibrarySearch(BaseModel): """ # 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") 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] = None - __properties: ClassVar[List[str]] = ["enabled", "spectraSearchDBs", "peakDeviationPpm", "precursorDeviationPpm", "scoring"] + 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, @@ -76,21 +81,41 @@ def to_dict(self) -> Dict[str, Any]: 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 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 @@ -105,9 +130,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..b3fea83f 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, @@ -102,6 +104,16 @@ def to_dict(self) -> Dict[str, Any]: 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: @@ -125,6 +137,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/structure_candidate.py b/client-api_python/generated/PySirius/models/structure_candidate.py index 6d3be46b..f4037dd0 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") - xlog_p: Optional[float] = Field(default=None, alias="xlogP") + 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[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"] + xlog_p: Optional[float] = Field(default=None, alias="xlogP") + __properties: ClassVar[List[str]] = ["inchiKey", "smiles", "structureName", "structureSvg", "dbLinks", "spectralLibraryMatches", "xlogP"] model_config = ConfigDict( populate_by_name=True, @@ -92,10 +93,10 @@ def to_dict(self) -> Dict[str, Any]: 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 + # set to None if structure_svg (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 + 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 @@ -107,6 +108,11 @@ def to_dict(self) -> Dict[str, Any]: 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 @@ -122,9 +128,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..3e0ce462 100644 --- a/client-api_python/generated/PySirius/models/structure_candidate_formula.py +++ b/client-api_python/generated/PySirius/models/structure_candidate_formula.py @@ -30,9 +30,10 @@ 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") - xlog_p: Optional[float] = Field(default=None, alias="xlogP") + 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[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") @@ -41,7 +42,7 @@ class StructureCandidateFormula(BaseModel): 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, @@ -104,10 +105,10 @@ def to_dict(self) -> Dict[str, Any]: 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 + # set to None if structure_svg (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 + 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 @@ -119,6 +120,11 @@ def to_dict(self) -> Dict[str, Any]: 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: @@ -149,9 +155,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..0500dba3 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") - xlog_p: Optional[float] = Field(default=None, alias="xlogP") + 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[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] = None - __properties: ClassVar[List[str]] = ["inchiKey", "smiles", "structureName", "xlogP", "dbLinks", "spectralLibraryMatches", "rank", "csiScore", "tanimotoSimilarity", "mcesDistToTopHit", "fingerprint"] + __properties: ClassVar[List[str]] = ["inchiKey", "smiles", "structureName", "structureSvg", "dbLinks", "spectralLibraryMatches", "xlogP", "rank", "csiScore", "tanimotoSimilarity", "mcesDistToTopHit", "fingerprint"] model_config = ConfigDict( populate_by_name=True, @@ -101,10 +102,10 @@ def to_dict(self) -> Dict[str, Any]: 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 + # set to None if structure_svg (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 + 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 @@ -116,6 +117,11 @@ def to_dict(self) -> Dict[str, Any]: 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: @@ -146,9 +152,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/subscription.py b/client-api_python/generated/PySirius/models/subscription.py index c0eae167..841e7a14 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,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 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: @@ -167,7 +172,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..c1827308 --- /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[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( + 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..e69dc3e0 --- /dev/null +++ b/client-api_python/generated/PySirius/models/tag_definition.py @@ -0,0 +1,125 @@ +# 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[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"] + + 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 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: + _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..5aaa4016 --- /dev/null +++ b/client-api_python/generated/PySirius/models/tag_definition_import.py @@ -0,0 +1,123 @@ +# 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[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( + 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 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: + _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_experimental.py b/client-api_python/generated/PySirius/models/trace_experimental.py index 543d454b..88091bec 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, @@ -109,6 +110,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..b052fe74 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 @@ -32,7 +34,9 @@ class Zodiac(BaseModel): 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"] + 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( populate_by_name=True, @@ -79,6 +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() + # 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() # 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: @@ -104,6 +114,16 @@ def to_dict(self) -> Dict[str, Any]: 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 @@ -121,7 +141,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/pysirius_api.py similarity index 64% rename from client-api_python/generated/PySirius/sirius_api.py rename to client-api_python/generated/PySirius/pysirius_api.py index 2d6496b4..7a9b7a46 100644 --- a/client-api_python/generated/PySirius/sirius_api.py +++ b/client-api_python/generated/PySirius/pysirius_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_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/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 6ff03b17..1568f057 100644 --- a/client-api_python/generated/README.md +++ b/client-api_python/generated/README.md @@ -4,13 +4,13 @@ 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 -- Generator version: 7.10.0 +- Package version: 6.3.3 +- Generator version: 7.16.0 - Build package: org.openapitools.codegen.languages.PythonClientCodegen ## Requirements. -Python 3.8+ +Python 3.9+ ## Installation & Usage ### pip install @@ -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..c65db4e2 100644 --- a/client-api_python/generated/docs/AlignedFeature.md +++ b/client-api_python/generated/docs/AlignedFeature.md @@ -24,6 +24,7 @@ Name | Type | Description | Notes **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) | | [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/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..62711ce5 100644 --- a/client-api_python/generated/docs/AnnotatedSpectrum.md +++ b/client-api_python/generated/docs/AnnotatedSpectrum.md @@ -12,8 +12,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) | | [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] +**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] ## 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..3afd1bb7 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) | | [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..ce688a30 --- /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) | | [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). | + +## 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..483bacee 100644 --- a/client-api_python/generated/docs/Compound.md +++ b/client-api_python/generated/docs/Compound.md @@ -14,6 +14,7 @@ Name | Type | Description | Notes **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/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..8532566b --- /dev/null +++ b/client-api_python/generated/docs/CompoundStatisticsApi.md @@ -0,0 +1,322 @@ +# 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..29f799a7 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** @@ -17,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 @@ -92,12 +100,87 @@ 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) 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 @@ -160,7 +243,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 +273,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. + 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,6 +295,7 @@ 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"]] @@ -235,12 +320,174 @@ 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 +514,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 +555,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 +584,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 +605,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 +630,199 @@ 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. + +
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:
+tags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
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.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/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/FeatureStatisticsApi.md b/client-api_python/generated/docs/FeatureStatisticsApi.md new file mode 100644 index 00000000..53d15570 --- /dev/null +++ b/client-api_python/generated/docs/FeatureStatisticsApi.md @@ -0,0 +1,322 @@ +# 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..a58240a6 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** @@ -47,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 @@ -119,6 +128,152 @@ 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 +411,11 @@ 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 +441,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 +481,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 +510,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. + 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,6 +531,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"]] ### Return type @@ -396,8 +555,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_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 +658,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. + 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,6 +678,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[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -467,12 +702,14 @@ 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 +732,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"]) 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,7 +755,8 @@ 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] @@ -540,23 +779,134 @@ 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] Get features (aligned over runs) by tag + +[EXPERIMENTAL] Get features (aligned over runs) by tag. + +
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
-Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.
+
The format of the date type is yyyy-MM-dd and of the time type is HH\:mm\:ss.
A clause may be:
+tags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
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 +922,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 +945,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 +968,18 @@ 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 +1006,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) @@ -763,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 @@ -836,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 @@ -911,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 @@ -992,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 @@ -1066,12 +1430,90 @@ 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_feature_quant_table_experimental** +> QuantTableExperimental get_feature_quant_table_experimental(project_id, type=type) + +[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 + + +```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.FeaturesApi(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 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_feature_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** | 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 +1539,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 +1580,15 @@ 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 +1613,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 +1634,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 +1658,13 @@ 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 +1690,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 +1712,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,11 +1736,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_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. -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 @@ -1314,11 +1767,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 + 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,6 +1789,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] **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,11 +1814,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_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. -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 @@ -1388,11 +1844,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 +1865,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,11 +1890,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_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. -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 @@ -1464,11 +1923,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) + 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,6 +1947,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] + **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 +1974,11 @@ 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 +2005,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 +2048,12 @@ 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 +2080,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 +2123,11 @@ 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 +2154,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 +2195,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 +2222,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 +2242,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 +2266,24 @@ 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 +2299,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 +2319,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 +2346,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 +2373,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 | + 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,7 +2394,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**| | + **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 +2414,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) @@ -2028,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 @@ -2113,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 @@ -2185,11 +2661,17 @@ 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 +2697,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 +2719,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 +2742,91 @@ 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 +2853,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 +2876,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 @@ -2339,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 @@ -2412,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 @@ -2487,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 @@ -2568,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 @@ -2642,12 +3211,92 @@ 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 +3323,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 +3363,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) +# **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/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/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 1d616e05..373fc872 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 @@ -443,9 +512,11 @@ 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 +539,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) @@ -718,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/LcmsSubmissionParameters.md b/client-api_python/generated/docs/LcmsSubmissionParameters.md index da84c412..a2d066de 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) | | [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] ## 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/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/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..704f3fce 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,14 @@ 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 +48,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 +65,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 @@ -493,11 +498,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) # **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) -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 @@ -521,12 +527,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 | 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 +547,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)| | ### Return type @@ -566,11 +572,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) # **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. -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 @@ -595,13 +602,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. + 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"]) - input_files = None # List[bytearray] | (optional) - parameters = PySirius.LcmsSubmissionParameters() # LcmsSubmissionParameters | (optional) 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 +623,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. | + **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"]] - **input_files** | **List[bytearray]**| | [optional] - **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| | [optional] ### Return type @@ -642,11 +649,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) # **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) -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 @@ -669,13 +677,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 +698,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,11 +724,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) # **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. -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 @@ -744,14 +753,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) 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 +775,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] ### 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..6924443d --- /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[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.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..ca845a7f --- /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[Optional[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..06cd6011 --- /dev/null +++ b/client-api_python/generated/docs/RunsApi.md @@ -0,0 +1,652 @@ +# 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. + +
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:
+tags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ 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 || )
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.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..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 @@ -416,7 +406,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 +417,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 +434,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 | (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 +455,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)| | [optional] ### Return type @@ -483,15 +476,13 @@ 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) # **remove_database** > remove_database(database_id, delete=delete) - - ### Example @@ -554,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/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/SpectralLibraryMatch.md b/client-api_python/generated/docs/SpectralLibraryMatch.md index aff6bd24..680ba722 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] [default to SpectralMatchType.IDENTITY] **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..e4ee04ae 100644 --- a/client-api_python/generated/docs/SpectralLibrarySearch.md +++ b/client-api_python/generated/docs/SpectralLibrarySearch.md @@ -8,9 +8,14 @@ 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] **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) | | [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/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..abcc2cfd 100644 --- a/client-api_python/generated/docs/StructureCandidateFormula.md +++ b/client-api_python/generated/docs/StructureCandidateFormula.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] **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] 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..f090586f 100644 --- a/client-api_python/generated/docs/StructureCandidateScored.md +++ b/client-api_python/generated/docs/StructureCandidateScored.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] **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] 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..5554c15f --- /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 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 + +```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..ec08cad2 --- /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[Optional[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..72bc45d3 --- /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[Optional[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..20337034 --- /dev/null +++ b/client-api_python/generated/docs/TagsApi.md @@ -0,0 +1,672 @@ +# 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_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..fe55b584 100644
--- a/client-api_python/generated/docs/Zodiac.md
+++ b/client-api_python/generated/docs/Zodiac.md
@@ -12,6 +12,8 @@ Name | Type | Description | Notes
**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]
+**library_search_anchors** | [**ZodiacLibraryScoring**](ZodiacLibraryScoring.md) | | [optional]
+**analogue_search_anchors** | [**ZodiacAnalogueNodes**](ZodiacAnalogueNodes.md) | | [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/pyproject.toml b/client-api_python/generated/pyproject.toml
index 35e10a56..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.1.1"
+version = "6.3.3"
description = "SIRIUS Nightsky API"
-authors = ["OpenAPI Generator Community 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 \link{SpectrumAnnotation} [optional]
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
@@ -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 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 spectrumAnnotation
#' @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"))
+ 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$`peaks` <- ApiClient$new()$deserializeObj(this_object$`peaks`, "array[AnnotatedPeak]", loadNamespace("Rsirius"))
+ 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/api_client.R b/client-api_r/generated/R/api_client.R
index 8aa87282..613a620d 100644
--- a/client-api_r/generated/R/api_client.R
+++ b/client-api_r/generated/R/api_client.R
@@ -4,387 +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.1.1/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) {
- req <- req %>% req_body_multipart(!!!file_params)
-
- # add form parameters via req_body_multipart
- if (!is.null(form_params) && length(form_params) != 0) {
- req <- req %>% req_body_multipart(!!!form_params)
- }
- } 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(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')
- )
- } 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 65db84a1..c3ca83be 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 \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 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 ... 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"))
+ 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$`peaks` <- ApiClient$new()$deserializeObj(this_object$`peaks`, "array[SimplePeak]", loadNamespace("Rsirius"))
+ 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/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
new file mode 100644
index 00000000..d767cd61
--- /dev/null
+++ b/client-api_r/generated/R/bio_transformer_parameters.R
@@ -0,0 +1,260 @@
+#' 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 `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 `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/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 4f19a62d..747d6f0d 100644
--- a/client-api_r/generated/R/compound.R
+++ b/client-api_r/generated/R/compound.R
@@ -16,6 +16,7 @@
#' @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
#' @export
@@ -31,6 +32,7 @@ Compound <- R6::R6Class(
`consensusAnnotations` = NULL,
`consensusAnnotationsDeNovo` = NULL,
`customAnnotations` = NULL,
+ `tags` = NULL,
#' @description
#' Initialize a new Compound class.
@@ -44,8 +46,9 @@ Compound <- R6::R6Class(
#' @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, ...) {
+ 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)
},
@@ -188,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()
@@ -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
},
@@ -231,10 +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
},
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
new file mode 100644
index 00000000..f9dc5c8e
--- /dev/null
+++ b/client-api_r/generated/R/compound_statistics_api.R
@@ -0,0 +1,657 @@
+#' 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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..222ed229 100644
--- a/client-api_r/generated/R/compounds_api.R
+++ b/client-api_r/generated/R/compounds_api.R
@@ -15,9 +15,9 @@
#' \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(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,9 +31,25 @@
#' 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", 123)) # 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)
+#' 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.
#'
@@ -45,9 +61,10 @@
#'
#' #################### 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)
#' 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,19 +72,50 @@
#' 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)
#'
#'
#' #################### 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)
#'
-#' #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.
@@ -78,8 +126,9 @@
#'
#' #################### 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)
#' var_opt_fields_features <- c("none") # array[character] | (Optional)
#'
@@ -87,18 +136,57 @@
#' 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)
#'
#'
#' #################### 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)
#' 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
@@ -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,16 +325,20 @@ 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))
}
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
@@ -255,13 +375,193 @@ 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")
+ # 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)
+ } 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] 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) {
+ if (inherits(param, "character")) {
+ param
+ } else {
+ param$toJSONString()
}
- )
- local_var_resp$content <- deserialized_resp_obj
+ })), 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)
+ }
+
+ # 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)
@@ -373,14 +673,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 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("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
} else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) {
@@ -397,13 +698,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 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("none"), opt_fields_features = list("none"), data_file = NULL, ...) {
args <- list(...)
query_params <- list()
header_params <- c()
@@ -425,11 +727,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 +742,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))
}
@@ -478,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)
@@ -499,17 +831,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 +853,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 +875,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")
@@ -589,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(), "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(), "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)
@@ -610,17 +961,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 +984,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 +1007,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")
@@ -708,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(), "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(), "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)
@@ -729,20 +1102,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 +1125,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,19 +1148,647 @@ CompoundsApi <- R6::R6Class(
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.")
+ if (missing(`compound_id`)) {
+ stop("Missing required parameter `compound_id`.")
}
- if (`size` < 1) {
- stop("Invalid value for `size` when calling CompoundsApi$GetCompoundsPaged, must be bigger than or equal to 1.")
- }
+ query_params[["featureId"]] <- `feature_id`
- query_params[["page"]] <- `page`
+ 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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("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
+ } 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("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 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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("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
+ } 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("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`.")
+ }
+
+
+ if (`page` < 0) {
+ stop("Invalid value for `page` when calling CompoundsApi$GetCompoundsPaged, must be bigger than or equal to 0.")
+ }
+
+ if (`size` < 1) {
+ stop("Invalid value for `size` when calling CompoundsApi$GetCompoundsPaged, must be bigger than or equal to 1.")
+ }
+
+
+
+
+
+ query_params[["page"]] <- `page`
query_params[["size"]] <- `size`
@@ -802,11 +1797,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 +1811,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))
}
@@ -851,13 +1848,277 @@ 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)
+ } 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 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)
+ }
+
+ # 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)
+ } 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)
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
new file mode 100644
index 00000000..075ad1bb
--- /dev/null
+++ b/client-api_r/generated/R/feature_statistics_api.R
@@ -0,0 +1,657 @@
+#' 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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..6aeea61f 100644
--- a/client-api_r/generated/R/features_api.R
+++ b/client-api_r/generated/R/features_api.R
@@ -15,9 +15,9 @@
#' \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(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,9 +30,41 @@
#' 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", 123)) # 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)
+#' 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.
#'
@@ -44,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] |
#'
@@ -56,11 +88,11 @@
#'
#' #################### 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
#'
-#' #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.
@@ -71,76 +103,117 @@
#'
#' #################### 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)
#' 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)
#'
#'
#' #################### 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)
#'
#' #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.
+#' 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)
#'
-#' #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)
+#' 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)
#'
#'
#' #################### 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
#'
-#' #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.
@@ -151,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
@@ -167,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)
@@ -183,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
@@ -200,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
@@ -220,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)
@@ -237,14 +310,29 @@
#' 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)
+#' 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
#'
-#' #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.
@@ -255,97 +343,102 @@
#'
#' #################### 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
+#' 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)
#'
#'
#' #################### 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
#' 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)
#'
#'
#' #################### 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
+#' 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)
#'
#'
#' #################### 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)
#' 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)
#'
#'
#' #################### 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)
#' 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)
#'
#'
#' #################### 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
#'
-#' #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.
@@ -356,12 +449,12 @@
#'
#' #################### 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
#'
-#' #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.
@@ -372,12 +465,12 @@
#'
#' #################### 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
#'
-#' #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.
@@ -388,44 +481,45 @@
#'
#' #################### 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 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)
+#' 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)
#'
#'
#' #################### 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 |
+#' 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.
@@ -436,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)
@@ -455,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)
@@ -477,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)
@@ -495,42 +589,60 @@
#'
#' #################### 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
#' 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()
#'
-#' #EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable.
+#' # 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)
+#'
+#'
+#' #################### 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)
#'
#'
#' #################### 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
#' 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)
#'
#'
#' #################### 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)
@@ -546,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
@@ -563,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
@@ -583,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)
@@ -600,14 +712,29 @@
#' 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)
+#' 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)
#'
-#' #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
@@ -702,16 +842,20 @@ 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))
}
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
@@ -748,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)
@@ -769,15 +940,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 +963,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 +992,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 +1006,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 +1025,45 @@ 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)
+ }
+
+ # 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)
@@ -862,15 +1078,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 +1101,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,29 +1124,42 @@ 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) {
- param$toJSONString()
- })), collapse = ",")
+
+
+ if (!is.null(`tag`)) {
+ body.items <- paste(unlist(lapply(`tag`, function(param) {
+ if (inherits(param, "character")) {
+ param
+ } else {
+ param$toJSONString()
+ }
+ })), collapse = ",")
local_var_body <- paste0("[", body.items, "]")
} else {
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 +1178,45 @@ 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)
+ }
+
+ # 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)
@@ -960,16 +1231,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 +1252,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 +1279,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 +1290,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 +1309,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 +1324,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 +1345,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,40 +1366,39 @@ 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`.")
}
-
- # 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].")
- }
- query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item))
+ if (!is.null(`request_body`)) {
+ body.items <- paste(unlist(lapply(`request_body`, function(param) {
+ if (inherits(param, "character")) {
+ param
+ } else {
+ param$toJSONString()
+ }
+ })), collapse = ",")
+ local_var_body <- paste0("[", body.items, "]")
+ } else {
+ body <- NULL
}
- local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}"
+ 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)
}
- 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")
+ local_var_accepts <- list()
# The Content-Type representation header
- local_var_content_types <- list()
+ 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 = "GET",
+ method = "PUT",
query_params = query_params,
header_params = header_params,
form_params = form_params,
@@ -1158,18 +1411,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(), "AlignedFeature", 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)
@@ -1184,16 +1426,433 @@ FeaturesApi <- R6::R6Class(
},
#' @description
- #' 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
#'
#' @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 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)
+ }
+
+ # 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)
+ } 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("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
+ } 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("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(`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))
+ }
+
+ 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)
+ }
+
+ 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)
+ }
+
+ # 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)
+ } 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 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)
+ }
+
+ # 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)
+ } 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 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("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
} else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) {
@@ -1209,12 +1868,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 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("none"), data_file = NULL, ...) {
args <- list(...)
query_params <- list()
header_params <- c()
@@ -1230,11 +1890,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))
}
@@ -1270,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)
@@ -1291,9 +1981,10 @@ 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.
@@ -1302,8 +1993,8 @@ FeaturesApi <- R6::R6Class(
#' @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("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
} else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) {
@@ -1316,9 +2007,10 @@ 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.
@@ -1327,7 +2019,7 @@ FeaturesApi <- R6::R6Class(
#' @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("none"), data_file = NULL, ...) {
args <- list(...)
query_params <- list()
header_params <- c()
@@ -1341,17 +2033,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 +2063,13 @@ 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)
}
@@ -1401,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)
@@ -1422,16 +2148,20 @@ 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 features (aligned over runs) by tag
#'
- #' @param project_id project-space to read from.
- #' @param aligned_feature_id identifier of feature (aligned over runs) to access.
+ #' @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 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
+ 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) {
@@ -1444,15 +2174,19 @@ 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 features (aligned over runs) by tag
#'
- #' @param project_id project-space to read from.
- #' @param aligned_feature_id identifier of feature (aligned over runs) to access.
+ #' @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 (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
+ 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()
@@ -1466,19 +2200,204 @@ 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$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.")
+ }
- local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report"
+
+ 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)
}
- 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)
+ }
+
+ # 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)
+ } 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 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 PagedModelAlignedFeature
+ 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
+ } 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 all available features (aligned over 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 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 (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("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 (`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/page"
+ if (!missing(`project_id`)) {
+ local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path)
}
@@ -1507,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(), "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(), "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)
@@ -1528,7 +2474,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 +2497,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.
@@ -1624,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)
@@ -1741,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)
@@ -1818,8 +2818,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))
}
@@ -1859,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)
@@ -1943,8 +2970,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))
}
@@ -1988,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)
@@ -2096,8 +3150,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))
}
@@ -2141,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)
@@ -2242,8 +3323,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))
}
@@ -2283,13 +3364,170 @@ 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)
+ } 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 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)
+ }
+
+ # 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)
@@ -2304,7 +3542,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.
@@ -2327,7 +3565,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.
@@ -2400,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)
@@ -2421,17 +3686,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 +3710,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 +3745,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)
@@ -2517,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)
@@ -2538,18 +3835,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 +3860,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 +3897,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)
@@ -2639,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)
@@ -2665,13 +3994,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 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("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
} else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) {
@@ -2689,12 +4019,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 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("none"), data_file = NULL, ...) {
args <- list(...)
query_params <- list()
header_params <- c()
@@ -2720,6 +4051,9 @@ FeaturesApi <- R6::R6Class(
+
+ query_params[["msDataSearchPrepared"]] <- `ms_data_search_prepared`
+
# explore
for (query_item in `opt_fields`) {
# validate enum values
@@ -2768,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)
@@ -2793,13 +4154,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 +4178,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 +4205,9 @@ FeaturesApi <- R6::R6Class(
+
+ query_params[["msDataSearchPrepared"]] <- `ms_data_search_prepared`
+
# explore
for (query_item in `opt_fields`) {
# validate enum values
@@ -2886,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)
@@ -2914,13 +4307,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 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("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
} else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) {
@@ -2940,12 +4334,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 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("none"), data_file = NULL, ...) {
args <- list(...)
query_params <- list()
header_params <- c()
@@ -2975,6 +4370,7 @@ FeaturesApi <- R6::R6Class(
+
query_params[["page"]] <- `page`
query_params[["size"]] <- `size`
@@ -2984,6 +4380,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
@@ -3028,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)
@@ -3049,7 +4474,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 +4497,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.
@@ -3145,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)
@@ -3166,7 +4618,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 +4641,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.
@@ -3262,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)
@@ -3283,7 +4762,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 +4785,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.
@@ -3379,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)
@@ -3403,13 +4909,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 +4932,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 +4958,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)
@@ -3485,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)
@@ -3506,17 +5044,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 +5067,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 +5097,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)
}
@@ -3599,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(), "QuantificationTableExperimental", 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)
@@ -3620,11 +5185,11 @@ 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 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
@@ -3644,11 +5209,11 @@ 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 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
@@ -3728,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)
@@ -3861,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)
@@ -4018,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)
@@ -4049,9 +5695,157 @@ FeaturesApi <- R6::R6Class(
#' @param data_file (optional) name of the data file to save the result
#' @param ... Other optional arguments
#'
- #' @return SpectralLibraryMatchSummary
- GetSpectralLibraryMatchesSummary = function(project_id, aligned_feature_id, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", data_file = NULL, ...) {
- local_var_response <- self$GetSpectralLibraryMatchesSummaryWithHttpInfo(project_id, aligned_feature_id, min_shared_peaks, min_similarity, inchi_key, data_file = data_file, ...)
+ #' @return SpectralLibraryMatchSummary
+ GetSpectralLibraryMatchesSummary = function(project_id, aligned_feature_id, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", data_file = NULL, ...) {
+ local_var_response <- self$GetSpectralLibraryMatchesSummaryWithHttpInfo(project_id, aligned_feature_id, min_shared_peaks, min_similarity, inchi_key, 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
+ #' 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)
+ }
+
+ # 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)
+ } 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) {
@@ -4064,18 +5858,18 @@ FeaturesApi <- R6::R6Class(
},
#' @description
- #' Summarize matched reference spectra for the given 'alignedFeatureId'.
+ #' [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 +5887,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 +5911,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")
@@ -4139,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(), "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(), "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)
@@ -4160,18 +5993,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 +6016,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 +6043,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 +6059,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)
}
@@ -4267,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(), "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(), "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)
@@ -4288,19 +6137,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 +6163,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 +6206,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)
@@ -4400,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)
@@ -4477,8 +6358,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))
}
@@ -4518,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)
@@ -4602,8 +6510,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))
}
@@ -4647,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)
@@ -4755,8 +6690,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))
}
@@ -4800,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)
@@ -4901,8 +6863,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))
}
@@ -4942,13 +6904,173 @@ 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)
+ } 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 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)
+ }
+
+ # 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)
@@ -4963,7 +7085,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
@@ -4986,7 +7108,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
@@ -5053,13 +7175,144 @@ 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)
+ } 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 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)
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..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/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/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 1456a600..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)
#'
@@ -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 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 296b0320..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)
@@ -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)
+#' 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()
@@ -69,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)
@@ -85,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)
#'
@@ -100,9 +114,9 @@
#'
#' #################### GetJobConfigNames ####################
#'
-#' library(Rsirius)
+#' 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.
@@ -113,7 +127,7 @@
#'
#' #################### GetJobConfigs ####################
#'
-#' library(Rsirius)
+#' library(RSirius)
#'
#' #Request all available job configurations
#' api_instance <- rsirius_api$new()
@@ -126,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)
#'
@@ -141,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)
@@ -159,7 +173,7 @@
#'
#' #################### HasJobs ####################
#'
-#' library(Rsirius)
+#' library(RSirius)
#' var_project_id <- "project_id_example" # character |
#' var_include_finished <- FALSE # character | (Optional)
#'
@@ -173,9 +187,9 @@
#'
#' #################### 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, "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)
#'
@@ -190,9 +204,9 @@
#'
#' #################### 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, "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.
@@ -206,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
@@ -520,12 +534,136 @@ 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)
+ }
+
+ # 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)
+ } 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 +686,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
#'
@@ -599,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)
@@ -717,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)
@@ -817,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)
@@ -838,7 +1057,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 +1077,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
@@ -901,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)
@@ -985,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)
@@ -1092,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)
@@ -1223,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)
@@ -1323,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)
@@ -1441,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)
@@ -1561,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)
@@ -1660,8 +2068,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
@@ -1698,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 8f25915c..06dbedd9 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 \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
#' @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 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.
- 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..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 bb9b4e20..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()
@@ -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/ms_data.R b/client-api_r/generated/R/ms_data.R
index 4ccdc527..82713fba 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'))
@@ -119,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
},
@@ -145,10 +161,11 @@ 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"))
- 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
new file mode 100644
index 00000000..1c0ae1f2
--- /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/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/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..8a7aac4c 100644
--- a/client-api_r/generated/R/projects_api.R
+++ b/client-api_r/generated/R/projects_api.R
@@ -15,18 +15,19 @@
#' \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)
#'
-#' #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 ####################
#'
-#' 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)
@@ -42,7 +43,7 @@
#'
#' #################### GetCanopusClassyFireData ####################
#'
-#' library(Rsirius)
+#' library(RSirius)
#' var_project_id <- "project_id_example" # character |
#' var_charge <- 56 # integer |
#'
@@ -57,7 +58,7 @@
#'
#' #################### GetCanopusNpcData ####################
#'
-#' library(Rsirius)
+#' library(RSirius)
#' var_project_id <- "project_id_example" # character |
#' var_charge <- 56 # integer |
#'
@@ -72,7 +73,7 @@
#'
#' #################### GetFingerIdData ####################
#'
-#' library(Rsirius)
+#' library(RSirius)
#' var_project_id <- "project_id_example" # character |
#' var_charge <- 56 # integer |
#'
@@ -87,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)
#'
@@ -102,7 +103,7 @@
#'
#' #################### GetProjects ####################
#'
-#' library(Rsirius)
+#' library(RSirius)
#'
#' #List opened project spaces.
#' api_instance <- rsirius_api$new()
@@ -115,75 +116,75 @@
#'
#' #################### 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] | (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 |
#'
#' #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)
#'
#'
#' #################### 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 |
#' 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)
#'
#'
#' #################### 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)
#' 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)
#'
#'
#' #################### 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)
#' 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)
#'
#'
#' #################### 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)
@@ -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)
@@ -392,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)
@@ -496,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)
@@ -600,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)
@@ -704,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)
@@ -811,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)
@@ -895,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)
@@ -919,13 +1087,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
#' @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 +1110,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
#' @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,11 +1130,27 @@ 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`.")
+ }
+
- 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)
@@ -998,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)
@@ -1022,15 +1233,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 input_files Files to import into project.
+ #' @param parameters
#' @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 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 +1257,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 input_files Files to import into project.
+ #' @param parameters
#' @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 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 +1278,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`.")
+ }
+
@@ -1080,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)
@@ -1113,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)
@@ -1137,15 +1391,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 +1415,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 +1436,10 @@ ProjectsApi <- R6::R6Class(
stop("Missing required parameter `project_id`.")
}
+ if (missing(`input_files`)) {
+ stop("Missing required parameter `input_files`.")
+ }
+
@@ -1190,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)
@@ -1222,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)
@@ -1246,16 +1533,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 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 +1558,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 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 +1580,10 @@ ProjectsApi <- R6::R6Class(
stop("Missing required parameter `project_id`.")
}
+ if (missing(`input_files`)) {
+ stop("Missing required parameter `input_files`.")
+ }
+
@@ -1311,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)
@@ -1343,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)
@@ -1455,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/quantification_table_experimental.R b/client-api_r/generated/R/quant_table_experimental.R
similarity index 55%
rename from client-api_r/generated/R/quantification_table_experimental.R
rename to client-api_r/generated/R/quant_table_experimental.R
index 2f7bf824..56a76d70 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,85 +111,75 @@ 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"))
+ 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,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,34 +196,30 @@ 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"))
- 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
},
#' @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..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
@@ -19,32 +19,38 @@
#' @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,
- #' Initialize a new Rsirius API Class.
+ tags_api = NULL,
+ #' 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
@@ -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/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 93%
rename from client-api_r/SiriusSDK.R
rename to client-api_r/generated/R/rsirius_sdk.R
index 6fe1a36f..5ce6ec5f 100644
--- a/client-api_r/SiriusSDK.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
new file mode 100644
index 00000000..4d7fa227
--- /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..b9dca755
--- /dev/null
+++ b/client-api_r/generated/R/runs_api.R
@@ -0,0 +1,1323 @@
+#' 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", 123)) # 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) {
+ if (inherits(param, "character")) {
+ param
+ } else {
+ 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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..74227c24
--- /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..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,23 +98,24 @@
#'
#' #################### 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)
-#' 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 | (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)
#'
#'
#' #################### RemoveDatabase ####################
#'
-#' library(Rsirius)
+#' library(RSirius)
#' var_database_id <- "database_id_example" # character |
#' var_delete <- FALSE # character | (Optional)
#'
@@ -125,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)
#'
@@ -204,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
@@ -238,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)
@@ -345,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)
@@ -439,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)
@@ -539,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)
@@ -633,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)
@@ -722,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)
@@ -746,14 +913,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) No description
#' @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 +937,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) No description
#' @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 +958,26 @@ 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`)
+ 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)
@@ -826,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)
@@ -1017,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/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..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 381811ef..18ab98f4 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..2e87f360 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)
},
@@ -133,20 +198,35 @@ 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"))
- }
- if (!is.null(this_object$`peakDeviationPpm`)) {
- self$`peakDeviationPpm` <- this_object$`peakDeviationPpm`
+ self$`spectraSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`spectraSearchDBs`, "array[character]", loadNamespace("RSirius"))
}
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
},
@@ -169,13 +249,18 @@ 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$`peakDeviationPpm` <- this_object$`peakDeviationPpm`
+ self$`spectraSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`spectraSearchDBs`, "array[character]", loadNamespace("RSirius"))
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..f712b56b
--- /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/structure_candidate.R b/client-api_r/generated/R/structure_candidate.R
index a77e882e..e21e9577 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,14 +160,17 @@ 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"))
+ 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`
}
self
},
@@ -180,9 +196,10 @@ StructureCandidate <- R6::R6Class(
self$`inchiKey` <- this_object$`inchiKey`
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$`xlogP` <- this_object$`xlogP`
- 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
},
diff --git a/client-api_r/generated/R/structure_candidate_formula.R b/client-api_r/generated/R/structure_candidate_formula.R
index ac8b703a..1d02ded7 100644
--- a/client-api_r/generated/R/structure_candidate_formula.R
+++ b/client-api_r/generated/R/structure_candidate_formula.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]
#' @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]
@@ -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,9 +50,10 @@ 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
@@ -60,7 +63,7 @@ StructureCandidateFormula <- R6::R6Class(
#' @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,14 +262,17 @@ 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"))
+ 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`
}
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$`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$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("Rsirius"))
- self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius"))
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..62578259 100644
--- a/client-api_r/generated/R/structure_candidate_scored.R
+++ b/client-api_r/generated/R/structure_candidate_scored.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]
#' @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]
@@ -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 ... 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,14 +223,17 @@ 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"))
+ 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`
}
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$`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$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("Rsirius"))
- self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius"))
self$`rank` <- this_object$`rank`
self$`csiScore` <- this_object$`csiScore`
self$`tanimotoSimilarity` <- this_object$`tanimotoSimilarity`
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/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..95e7efd5
--- /dev/null
+++ b/client-api_r/generated/R/tag.R
@@ -0,0 +1,191 @@
+#' 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 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
+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 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`)) {
+ 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`)) {
+ 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`
+ }
+ 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`)) {
+ self$`value` <- this_object$`value`
+ }
+ 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` <- this_object$`value`
+ 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..37578f74
--- /dev/null
+++ b/client-api_r/generated/R/tag_definition.R
@@ -0,0 +1,316 @@
+#' 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(object) [optional]
+#' @field minValue object [optional]
+#' @field maxValue object [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(is.character(x)))
+ self$`possibleValues` <- `possibleValues`
+ }
+ if (!is.null(`minValue`)) {
+ self$`minValue` <- `minValue`
+ }
+ if (!is.null(`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"]] <-
+ self$`possibleValues`
+ }
+ if (!is.null(self$`minValue`)) {
+ TagDefinitionObject[["minValue"]] <-
+ self$`minValue`
+ }
+ if (!is.null(self$`maxValue`)) {
+ TagDefinitionObject[["maxValue"]] <-
+ self$`maxValue`
+ }
+ 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[object]", loadNamespace("RSirius"))
+ }
+ if (!is.null(this_object$`minValue`)) {
+ self$`minValue` <- this_object$`minValue`
+ }
+ if (!is.null(this_object$`maxValue`)) {
+ self$`maxValue` <- this_object$`maxValue`
+ }
+ 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[object]", loadNamespace("RSirius"))
+ self$`minValue` <- this_object$`minValue`
+ self$`maxValue` <- this_object$`maxValue`
+ 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..f8fbd078
--- /dev/null
+++ b/client-api_r/generated/R/tag_definition_import.R
@@ -0,0 +1,299 @@
+#' 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(object) [optional]
+#' @field minValue object [optional]
+#' @field maxValue object [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(is.character(x)))
+ self$`possibleValues` <- `possibleValues`
+ }
+ if (!is.null(`minValue`)) {
+ self$`minValue` <- `minValue`
+ }
+ if (!is.null(`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"]] <-
+ self$`possibleValues`
+ }
+ if (!is.null(self$`minValue`)) {
+ TagDefinitionImportObject[["minValue"]] <-
+ self$`minValue`
+ }
+ if (!is.null(self$`maxValue`)) {
+ TagDefinitionImportObject[["maxValue"]] <-
+ self$`maxValue`
+ }
+ 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[object]", loadNamespace("RSirius"))
+ }
+ if (!is.null(this_object$`minValue`)) {
+ self$`minValue` <- this_object$`minValue`
+ }
+ if (!is.null(this_object$`maxValue`)) {
+ self$`maxValue` <- this_object$`maxValue`
+ }
+ 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[object]", loadNamespace("RSirius"))
+ self$`minValue` <- this_object$`minValue`
+ self$`maxValue` <- this_object$`maxValue`
+ 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..5cce7801
--- /dev/null
+++ b/client-api_r/generated/R/tags_api.R
@@ -0,0 +1,1321 @@
+#' 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(123) # array[object] |
+#'
+#' #[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(123), 123, 123)) # 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)
+ }
+
+ # 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)
+ } 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) {
+ if (inherits(param, "character")) {
+ param
+ } else {
+ 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)
+ }
+
+ # 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)
+ } 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) {
+ if (inherits(param, "character")) {
+ param
+ } else {
+ 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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)
+ }
+
+ # 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)
+ } 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..d3c7eebb 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,11 +215,14 @@ 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"))
+ 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`
@@ -245,8 +261,9 @@ TraceExperimental <- R6::R6Class(
self$`sampleId` <- this_object$`sampleId`
self$`sampleName` <- this_object$`sampleName`
self$`label` <- this_object$`label`
- 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$`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`
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/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..11cbe6e1 100644
--- a/client-api_r/generated/R/zodiac.R
+++ b/client-api_r/generated/R/zodiac.R
@@ -13,6 +13,8 @@
#' @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 librarySearchAnchors \link{ZodiacLibraryScoring} [optional]
+#' @field analogueSearchAnchors \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.
@@ -35,8 +39,10 @@ Zodiac <- R6::R6Class(
#' @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 librarySearchAnchors librarySearchAnchors
+ #' @param analogueSearchAnchors analogueSearchAnchors
#' @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..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
@@ -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.3
- Generator version: 7.10.0
- Build package: org.openapitools.codegen.languages.RClientCodegen
@@ -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.1.1.tar.gz --no-manual
-R CMD INSTALL --preclean Rsirius_6.1.1.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.1.1.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
@@ -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/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 b68b4493..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'
#
@@ -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,22 +49,19 @@ No authorization required
| **200** | OK | - |
# **Shutdown**
-> object Shutdown()
+> Shutdown()
Actuator web endpoint 'shutdown'
### Example
```R
-library(Rsirius)
+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()
```
### 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/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 53552cf2..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.
@@ -23,5 +23,6 @@ Name | Type | Description | Notes
**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) | | [optional]
+**tags** | [**map(Tag)**](Tag.md) | Key: tagName, value: tag | [optional]
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
new file mode 100644
index 00000000..d6bf7438
--- /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/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 f1e80598..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
@@ -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) | | [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]
+**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]
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 deff8dda..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
@@ -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) | | [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/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
new file mode 100644
index 00000000..cf164dea
--- /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..79db6fec
--- /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/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 18847339..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
@@ -13,5 +13,6 @@ Name | Type | Description | Notes
**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/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
new file mode 100644
index 00000000..bffddbce
--- /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..e1703d0c 100644
--- a/client-api_r/generated/docs/CompoundsApi.md
+++ b/client-api_r/generated/docs/CompoundsApi.md
@@ -5,11 +5,18 @@ 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**
@@ -21,13 +28,13 @@ Import Compounds and its contained features. Compounds and Features must not exi
### Example
```R
-library(Rsirius)
+library(RSirius)
# Import Compounds and its contained features.
#
# 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", 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.
+# 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)
@@ -76,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.
#
@@ -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.
@@ -122,20 +180,21 @@ 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.
#
# 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)
+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.
@@ -226,19 +386,20 @@ 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.
#
# 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. The filter string must contain one or more clauses. A clause is prefÃxed by a field name. The format of the date type is A clause may be: Clauses may be grouped with brackets The syntax allows to build complex filter queries such as: [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..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
new file mode 100644
index 00000000..e057f74b
--- /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..0e0c184c 100644
--- a/client-api_r/generated/docs/FeaturesApi.md
+++ b/client-api_r/generated/docs/FeaturesApi.md
@@ -5,41 +5,49 @@ 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**
@@ -51,13 +59,13 @@ 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.
#
# 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", 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.
+# 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)
@@ -104,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.
#
@@ -150,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.
#
@@ -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)
+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.
@@ -245,19 +355,20 @@ 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.
#
# 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.
@@ -296,18 +457,19 @@ 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.
#
# 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)
+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 = [])
-# **GetAlignedFeaturesQualityExperimental**
-> AlignedFeatureQualityExperimental GetAlignedFeaturesQualityExperimental(project_id, aligned_feature_id)
+[EXPERIMENTAL] Get features (aligned over runs) by tag
-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. 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 ( The format of the date type is A clause may be: Clauses may be grouped with brackets The syntax allows to build complex filter queries such as: [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
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **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"])
+
+Get all available features (aligned over runs) in the given project-space.
-Get data quality information for 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.
### Example
```R
-library(Rsirius)
+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)
+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.
@@ -500,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,
#
@@ -551,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.
#
@@ -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
@@ -602,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.
#
@@ -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
@@ -655,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.
#
@@ -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
@@ -714,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.
#
@@ -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)
+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)
+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)
+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.
@@ -926,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.
#
@@ -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,6 +1234,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]
**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.
@@ -979,19 +1264,20 @@ 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.
#
# 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.
@@ -1030,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.
#
@@ -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,6 +1346,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]
+ **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)
+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)
+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)
+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' .
@@ -1240,18 +1529,19 @@ Mass Spec data (input data) for the given 'alignedFeatureId' .
### Example
```R
-library(Rsirius)
+library(RSirius)
# Mass Spec data (input data) 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 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)
+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
@@ -1334,20 +1625,20 @@ No authorization required
# **GetSpectralLibraryMatch**
> 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)
+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,7 +1654,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**| |
+ **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"])
@@ -1393,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'.
#
@@ -1450,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'.
#
@@ -1513,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'.
#
@@ -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)
+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)
+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
@@ -1676,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.
#
@@ -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
@@ -1727,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.
#
@@ -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
@@ -1780,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.
#
@@ -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
@@ -1839,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.
#
@@ -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)
+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/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
new file mode 100644
index 00000000..02ef1381
--- /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..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/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/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 fa45bf3b..a21aedfb 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).
@@ -29,7 +30,7 @@ Delete job. Specify how to behave for running jobs.
### Example
```R
-library(Rsirius)
+library(RSirius)
# Delete job.
#
@@ -79,7 +80,7 @@ Delete job configuration with given name.
### Example
```R
-library(Rsirius)
+library(RSirius)
# Delete job configuration with given name.
#
@@ -123,7 +124,7 @@ No authorization required
### Example
```R
-library(Rsirius)
+library(RSirius)
# * Delete ALL jobs.
#
@@ -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)
@@ -171,14 +219,14 @@ Request default job configuration
### Example
```R
-library(Rsirius)
+library(RSirius)
# Request default job configuration
#
# 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
@@ -222,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).
#
@@ -273,7 +321,7 @@ Request job configuration with given name.
### Example
```R
-library(Rsirius)
+library(RSirius)
# Request job configuration with given name.
#
@@ -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)
+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()
@@ -364,7 +412,7 @@ Request all available job configurations
### Example
```R
-library(Rsirius)
+library(RSirius)
# Request all available job configurations
#
@@ -406,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).
#
@@ -455,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).
#
@@ -508,7 +556,7 @@ No authorization required
### Example
```R
-library(Rsirius)
+library(RSirius)
# prepare function argument(s)
var_project_id <- "project_id_example" # character |
@@ -555,13 +603,13 @@ Add new job configuration with given name.
### Example
```R
-library(Rsirius)
+library(RSirius)
# Add new job configuration with given name.
#
# 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)
@@ -608,13 +656,13 @@ Start computation for given compounds and with given parameters.
### Example
```R
-library(Rsirius)
+library(RSirius)
# Start computation for given compounds and with given parameters.
#
# 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()
@@ -659,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 f7cfcb19..0636f8db 100644
--- a/client-api_r/generated/docs/LcmsSubmissionParameters.md
+++ b/client-api_r/generated/docs/LcmsSubmissionParameters.md
@@ -1,9 +1,14 @@
-# Rsirius::LcmsSubmissionParameters
+# RSirius::LcmsSubmissionParameters
## Properties
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) | | [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 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 a125cbe7..553272d3 100644
--- a/client-api_r/generated/docs/MsData.md
+++ b/client-api_r/generated/docs/MsData.md
@@ -1,10 +1,11 @@
-# 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 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/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
new file mode 100644
index 00000000..a467c744
--- /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/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/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..30737eea 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/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 d213c182..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
@@ -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..75b0baa5 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)
+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
@@ -71,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.
#
@@ -120,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
#
@@ -167,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
#
@@ -214,7 +216,7 @@ Get CSI:FingerID fingerprint (prediction vector) definition
### Example
```R
-library(Rsirius)
+library(RSirius)
# Get CSI:FingerID fingerprint (prediction vector) definition
#
@@ -263,7 +265,7 @@ Get project space info by its projectId.
### Example
```R
-library(Rsirius)
+library(RSirius)
# Get project space info by its projectId.
#
@@ -312,7 +314,7 @@ List opened project spaces.
### Example
```R
-library(Rsirius)
+library(RSirius)
# List opened project spaces.
#
@@ -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)
@@ -354,19 +356,19 @@ 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)
#
# 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 |
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)| |
### 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.
@@ -405,20 +407,20 @@ 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.
#
# 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 |
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. |
+ **input_files** | list( **data.frame** )| Files to import into project. |
+ **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"]]
- **input_files** | list( **data.frame** )| | [optional]
- **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| | [optional]
### 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)
@@ -458,20 +460,20 @@ 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)
#
# 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.
@@ -511,21 +513,21 @@ 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.
#
# 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]
### Return type
@@ -566,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/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..3dc57383 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..a645dab4
--- /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..46fc9215
--- /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..2cfbbcf2
--- /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", 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.
+# 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. [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. The filter string must contain one or more clauses. A clause is prefÃxed by a field name. The format of the date type is A clause may be: Clauses may be grouped with brackets The syntax allows to build complex filter queries such as: [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..b970f32c
--- /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/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 20ae4fd3..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)
@@ -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.
@@ -292,19 +292,20 @@ 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.
#
# 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 | (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)| | [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)
@@ -341,7 +343,7 @@ No authorization required
### Example
```R
-library(Rsirius)
+library(RSirius)
# prepare function argument(s)
var_database_id <- "database_id_example" # character |
@@ -383,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
new file mode 100644
index 00000000..2cd98508
--- /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..062d87e5
--- /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/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 d63613f4..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
@@ -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/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 9ebaeb69..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.
@@ -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..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
@@ -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..eba0c44a
--- /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..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 7e0daaba..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
@@ -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..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
@@ -7,9 +7,10 @@ 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]
diff --git a/client-api_r/generated/docs/StructureCandidateScored.md b/client-api_r/generated/docs/StructureCandidateScored.md
index 84f90521..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
@@ -7,9 +7,10 @@ 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]
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 95697bd6..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
@@ -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/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
new file mode 100644
index 00000000..3f5b2698
--- /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** | **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
new file mode 100644
index 00000000..53ab3538
--- /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[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
new file mode 100644
index 00000000..f7541234
--- /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[object]** | | [optional]
+**minValue** | **object** | | [optional]
+**maxValue** | **object** | | [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..1554e828
--- /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..1b86b8e3
--- /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 [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(123) # array[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$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( **object** )| |
+
+### 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(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.
+# 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] 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/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 4508448f..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.
@@ -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/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
new file mode 100644
index 00000000..f9ed0afb
--- /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..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
@@ -11,5 +11,7 @@ Name | Type | Description | Notes
**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]
+**librarySearchAnchors** | [**ZodiacLibraryScoring**](ZodiacLibraryScoring.md) | | [optional]
+**analogueSearchAnchors** | [**ZodiacAnalogueNodes**](ZodiacAnalogueNodes.md) | | [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..5054bc2b
--- /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/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
new file mode 100644
index 00000000..f2ec41c3
--- /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..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,15 +35,12 @@ dput(result)
#################### Shutdown ####################
-library(Rsirius)
+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{ 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]}
}
@@ -77,6 +89,7 @@ df
Initialize a new AnnotatedSpectrum class.
\subsection{Usage}{
\if{html}{\out{ 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}
diff --git a/client-api_r/generated/man/BasicSpectrum.Rd b/client-api_r/generated/man/BasicSpectrum.Rd
index 4c522b4c..a42eee88 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}}{\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{ 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{ 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{ 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{ 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{ 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{ 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{ 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.}
+}
+\if{html}{\out{Supported filter syntax
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 yyyy-MM-dd and of the time type is HH\\:mm\\:ss.
tags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3] ( and ) and / or joined with AND or OR (or && and || )Example
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 Supported filter syntax
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 yyyy-MM-dd and of the time type is HH\\:mm\\:ss.
tags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3] ( and ) and / or joined with AND or OR (or && and || )Example
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 Supported filter syntax
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 yyyy-MM-dd and of the time type is HH\\:mm\\:ss.
tags.MyTagA:sampletags.MyTagA:"Some Text"tags.MyTagA:/[mb]oat/tags.MyTagB<3[ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3] ( and ) and / or joined with AND or OR (or && and || )Example
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 /tagged for filter syntax.
}}
@@ -155,20 +150,18 @@ object
\subsection{Method \code{ShutdownWithHttpInfo()}}{
Actuator web endpoint 'shutdown'
\subsection{Usage}{
-\if{html}{\out{
}}
diff --git a/client-api_r/generated/man/AlignedFeature.Rd b/client-api_r/generated/man/AlignedFeature.Rd
index 2f8acf8e..1ca62461 100644
--- a/client-api_r/generated/man/AlignedFeature.Rd
+++ b/client-api_r/generated/man/AlignedFeature.Rd
@@ -67,6 +67,8 @@ df
\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{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{}}
}
@@ -156,6 +159,8 @@ Initialize a new AlignedFeature class.
\item{\code{computedTools}}{computedTools}
+\item{\code{tags}}{Key: tagName, value: tag}
+
\item{\code{...}}{Other optional arguments.}
}
\if{html}{\out{}}
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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-AllowedFeatures-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new AllowedFeatures class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-AllowedFeatures-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-AllowedFeatures-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-AllowedFeatures-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-BioTransformerParameters-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new BioTransformerParameters class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-BioTransformerParameters-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-BioTransformerParameters-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-BioTransformerParameters-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new BioTransformerSequenceStep class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-CompoundStatisticsApi-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new CompoundStatisticsApi.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-CompoundStatisticsApi-DeleteCompoundFoldChangesExperimental}{}}}
+\subsection{Method \code{DeleteCompoundFoldChangesExperimental()}}{
+[EXPERIMENTAL] Delete fold changes
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-CompoundsApi-DeleteCompound}{}}}
\subsection{Method \code{DeleteCompound()}}{
@@ -300,6 +498,7 @@ Get compound (group of ion identities) with the given identifier from the specif
\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-CompoundsApi-GetCompoundsPaged}{}}}
\subsection{Method \code{GetCompoundsPaged()}}{
@@ -512,6 +1024,7 @@ Page of available compounds (group of ion identities) in the given project-space
page = 0,
size = 20,
sort = NULL,
+ ms_data_search_prepared = FALSE,
opt_fields = list("none"),
opt_fields_features = list("none"),
data_file = NULL,
@@ -530,6 +1043,8 @@ 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{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"])}
@@ -555,6 +1070,7 @@ Page of available compounds (group of ion identities) in the given project-space
page = 0,
size = 20,
sort = NULL,
+ ms_data_search_prepared = FALSE,
opt_fields = list("none"),
opt_fields_features = list("none"),
data_file = NULL,
@@ -573,6 +1089,8 @@ 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{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"])}
@@ -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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-CompoundsApi-clone}{}}}
\subsection{Method \code{clone()}}{
diff --git a/client-api_r/generated/man/FeatureStatisticsApi.Rd b/client-api_r/generated/man/FeatureStatisticsApi.Rd
new file mode 100644
index 00000000..dfac66ae
--- /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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-FeatureStatisticsApi-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new FeatureStatisticsApi.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-FeatureStatisticsApi-DeleteAlignedFeatureFoldChangesExperimental}{}}}
+\subsection{Method \code{DeleteAlignedFeatureFoldChangesExperimental()}}{
+[EXPERIMENTAL] Delete fold changes
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
\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{
}}
+\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{
}}
+\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{
}}
\if{html}{\out{}}
\if{latex}{\out{\hypertarget{method-FeaturesApi-GetAlignedFeatures}{}}}
\subsection{Method \code{GetAlignedFeatures()}}{
@@ -1040,6 +1400,7 @@ Get all available features (aligned over runs) in the given project-space.
\subsection{Usage}{
\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{
}}
-\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{
}}
-\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{
}}
+\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{
}}
+\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{
}}
-\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{
}}
\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{
}}
+\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{
}}
+\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{
}}
\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{
}}
-\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{
}}
-\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{
}}
\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{
}}
+\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{
}}
+\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{
}}
\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{
}}
+\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{
}}
+\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{
}}
\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{
}}
+\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{
}}
+\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{
}}
\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-FoldChange-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new FoldChange class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-FoldChange-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-FoldChange-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-FoldChange-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-GuiApi-new}{}}}
-\subsection{Method \code{new()}}{
-Initialize a new GuiApi.
-\subsection{Usage}{
-\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{
}}
-\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{
}}
-\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{
}}
-\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{
}}
-\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{
}}
-\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{
}}
-\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{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-GuiInfo-new}{}}}
-\subsection{Method \code{new()}}{
-Initialize a new GuiInfo class.
-\subsection{Usage}{
-\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{
}}
-\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{
}}
-\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{
}}
-\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{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-GuiInfo-toJSONString}{}}}
-\subsection{Method \code{toJSONString()}}{
-To JSON String
-\subsection{Usage}{
-\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{
}}
-\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{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-GuiInfo-toString}{}}}
-\subsection{Method \code{toString()}}{
-To string (JSON format)
-\subsection{Usage}{
-\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{
}}
-\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{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-GuiInfo-print}{}}}
-\subsection{Method \code{print()}}{
-Print the object
-\subsection{Usage}{
-\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{
}}
+\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{
}}
+\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{
}}
\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}
@@ -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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-PagedModelRun-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new PagedModelRun class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-PagedModelRun-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-PagedModelRun-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-PagedModelRun-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-PeakPair-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new PeakPair class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-PeakPair-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-PeakPair-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-PeakPair-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-QuantTableExperimental-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new QuantTableExperimental class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-QuantTableExperimental-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-QuantTableExperimental-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-QuantTableExperimental-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-new}{}}}
-\subsection{Method \code{new()}}{
-Initialize a new QuantificationTableExperimental class.
-\subsection{Usage}{
-\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{
}}
-\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{
}}
-\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{
}}
-\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{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-toJSONString}{}}}
-\subsection{Method \code{toJSONString()}}{
-To JSON String
-\subsection{Usage}{
-\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{
}}
-\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{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-toString}{}}}
-\subsection{Method \code{toString()}}{
-To string (JSON format)
-\subsection{Usage}{
-\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{
}}
-\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{
}}
-\if{html}{\out{}}
-\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-print}{}}}
-\subsection{Method \code{print()}}{
-Print the object
-\subsection{Usage}{
-\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-Run-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new Run class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-Run-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-Run-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-Run-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-RunOptField-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new RunOptField class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-RunOptField-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-RunsApi-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new RunsApi.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-RunsApi-GetRunsByTagExperimental}{}}}
+\subsection{Method \code{GetRunsByTagExperimental()}}{
+[EXPERIMENTAL] Get runs by tag
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new SampleTypeFoldChangeRequest class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-SecurityContext-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new SecurityContext class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-SecurityContext-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-SecurityContext-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-SecurityContext-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new SecurityContextPrincipal class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-StatisticsTable-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new StatisticsTable class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-StatisticsTable-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-StatisticsTable-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-StatisticsTable-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-Tag-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new Tag class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-Tag-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-Tag-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-Tag-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-TagDefinition-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new TagDefinition class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-TagDefinition-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-TagDefinition-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-TagDefinition-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-TagDefinitionImport-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new TagDefinitionImport class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-TagDefinitionImport-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-TagDefinitionImport-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-TagDefinitionImport-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-TagGroup-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new TagGroup class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-TagGroup-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-TagGroup-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-TagGroup-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-TagsApi-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new TagsApi.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-WebServerNamespace-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new WebServerNamespace class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-WebServerNamespace-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-WebServerNamespace-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-WebServerNamespace-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new ZodiacAnalogueNodes class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-new}{}}}
+\subsection{Method \code{new()}}{
+Initialize a new ZodiacLibraryScoring class.
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-toJSONString}{}}}
+\subsection{Method \code{toJSONString()}}{
+To JSON String
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-toString}{}}}
+\subsection{Method \code{toString()}}{
+To string (JSON format)
+\subsection{Usage}{
+\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{
}}
+\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{
}}
+\if{html}{\out{}}
+\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-print}{}}}
+\subsection{Method \code{print()}}{
+Print the object
+\subsection{Usage}{
+\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{