From 3bb50f68cbff4cd2645ebc2c3b301c91c594c5b0 Mon Sep 17 00:00:00 2001 From: OganM Date: Thu, 13 Aug 2026 17:12:10 -0700 Subject: [PATCH 1/9] codegen skips non-get endpoints --- inst/script/registry.R | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/inst/script/registry.R b/inst/script/registry.R index d8cdc398..f7b29610 100644 --- a/inst/script/registry.R +++ b/inst/script/registry.R @@ -50,7 +50,17 @@ res = httr::GET(paste0(gemmaPath(),'openapi.json')) writeBin(res$content,con = 'inst/script/openapi.json') api_file = jsonlite::fromJSON(readLines('inst/script/openapi.json'),simplifyVector = FALSE) -api_file_fun_names = api_file$paths %>% purrr::map('get') %>% purrr::map_chr('operationId') %>% snakecase::to_snake_case() +path_filter = api_file$paths %>% + purrr::map('get') %>% + {!sapply(.,is.null)} + +api_file = api_file[!path_filter] + +api_file_fun_names = api_file$paths %>% + purrr::map('get') %>% + {.[!sapply(.,is.null)]} %>% + purrr::map_chr('operationId') %>% + snakecase::to_snake_case() # /resultSets/count get_number_of_result_sets ------ From cb035b64c92bc8aaddb4a9bf75cc0a610c52ad1f Mon Sep 17 00:00:00 2001 From: OganM Date: Thu, 13 Aug 2026 18:13:26 -0700 Subject: [PATCH 2/9] spec update --- inst/script/openapi.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/script/openapi.json b/inst/script/openapi.json index 4d706a4f..ba9a0298 100644 --- a/inst/script/openapi.json +++ b/inst/script/openapi.json @@ -1 +1 @@ -{"openapi":"3.0.1","info":{"title":"Gemma RESTful API","description":"This website documents the usage of the [Gemma RESTful API](https://gemma.msl.ubc.ca/rest/v2/). Here you can find\nexample script usage of the API, as well as graphical interface for each endpoint, with description of its\nparameters and the endpoint URL.\n\nUse of this webpage and the Gemma Web services, including the REST API, is subject to [these terms and conditions](https://pavlidislab.github.io/Gemma/terms.html).\nPlease read these in full before continuing to use this webpage or any other part of the Gemma system.\n\nYou can [consult the CHANGELOG.md file](https://gemma.msl.ubc.ca/resources/restapidocs/CHANGELOG.md) to view \nrelease notes and recent changes to the Gemma RESTful API.\n","termsOfService":"https://pavlidislab.github.io/Gemma/terms.html","contact":{"name":"Pavlidis Lab Support","url":"https://pavlab.msl.ubc.ca/","email":"pavlab-support@msl.ubc.ca"},"version":"2.9.1"},"servers":[{"url":"https://gemma.msl.ubc.ca/rest/v2"}],"security":[{"basicAuth":[]},{"cookieAuth":[]},{}],"paths":{"/resultSets/count":{"get":{"summary":"Count result sets matching the provided filter","operationId":"getNumberOfResultSets","parameters":[{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionAnalysisResultSet"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectLong"}}}}}}},"/resultSets/{resultSet}":{"get":{"summary":"Retrieve a single analysis result set by its identifier","description":"A slice or results can be retrieved by specifying the `offset` and `limit` parameters. This is only applicable to the JSON representation. The TSV output exposes the following columns: id, probe_id, probe_name, gene_(id|name|ncbi_id|official_symbol|official_name), pvalue, corrected_pvalue, rank, contrast_{fvId}_(coefficient|log2fc|tstat|pvalue). For interaction terms, `{fvId}` is structured as `{id1}_{id2}`. For continuous factors, `{fvId}` is empty and a single `_` delimiter is used.","operationId":"getResultSet","parameters":[{"name":"resultSet","in":"path","required":true,"schema":{"type":"integer","description":"An expression analysis result set numerical identifier.","format":"int32"}},{"name":"threshold","in":"query","schema":{"type":"number","format":"double"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32"}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32"}},{"name":"includeFactorValuesInContrasts","in":"query","description":"Include complete factor values in contrasts instead of only populating `factorValueId` and `secondFactorValueId`. In 2.9.0, this will default to false.","schema":{"type":"boolean","default":true}},{"name":"includeTaxonInGenes","in":"query","description":"Include complete taxon in genes instead of only populating `taxonId`. When this is set to true, a `taxa` collection will be included in `DifferentialExpressionAnalysisResultSetValueObject`. In 2.9.0, this will default to false.","schema":{"type":"boolean","default":true}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResultsResponseDataObjectDifferentialExpressionAnalysisResultSetValueObject"}},"text/tab-separated-values; charset=UTF-8; q=0.9":{"schema":{"type":"string","format":"binary"},"example":"# If you use this file for your research, please cite:\r\n# Lim et al. (2021) Curation of over 10 000 transcriptomic studies to enable data reuse.\r\n# Database, baab006 (doi:10.1093/database/baab006).\r\n# Experimental factors: [name: Diet, values: [id: 20959, characteristics: [high fat diet], id: 20960, characteristics: [reference subject role]]]\r\n# Baseline: id: 20959, characteristics: [high fat diet]\r\nid\tprobe_id\tprobe_name\tgene_id\tgene_name\tgene_ncbi_id\tgene_official_symbol\tgene_official_name\tpvalue\tcorrected_pvalue\trank\tcontrast_20960_coefficient\tcontrast_20960_log2fc\tcontrast_20960_tstat\tcontrast_20960_pvalue\r\n107660162\t6379542\tILMN_1256775\t582688\tThrsp\t21835\tThrsp\tthyroid hormone responsive\t7.375E-9\t0.0001\t2.144E-5\t3.1352\t3.1352\t17.6207\t7.375E-9\r\n107678499\t6358971\tILMN_2690657\t813306\tBpifb6\t228796\tBpifb6\tBPI fold containing family B, member 6\t7.832E-9\t0.0001\t4.289E-5\t-1.6286\t-1.6286\t-17.5121\t7.832E-9\r\n107643534\t6363391\tILMN_1222060\t619131\tArhgef5\t54324\tArhgef5\tRho guanine nucleotide exchange factor 5\t1.329E-8\t0.0001\t6.433E-5\t-1.2474\t-1.2474\t-16.5818\t1.329E-8\r\n107647171\t6357370\tILMN_1229667\t702894\tSlc43a1\t72401\tSlc43a1\tsolute carrier family 43, member 1\t2.093E-8\t0.0001\t8.578E-5\t1.0412\t1.0412\t15.8207\t2.093E-8\r\n107665034\t6350196\tILMN_2460179\t797000\tTph2\t216343\tTph2\ttryptophan hydroxylase 2\t3.414E-8\t0.0002\t0.0001\t-3.8165\t-3.8165\t-15.037\t3.414E-8\r\n107671178\t6363608\tILMN_2591159\t695665\tFam13c\t71721\tFam13c\tfamily with sequence similarity 13, member C\t4.385E-8\t0.0002\t0.0001\t-0.5792\t-0.5792\t-14.6504\t4.385E-8\r\n107641223\t6360279\tILMN_1217241\t785630\tKlhl25\t207952\tKlhl25\tkelch-like 25\t5.419E-8\t0.0002\t0.0002\t-0.756\t-0.756\t-14.3302\t5.419E-8\r\n107657532\t6339362\tILMN_1251292\t502225|502237\tEar1|Ear2\t13586|13587\tEar1|Ear2\teosinophil-associated, ribonuclease A family, member 1|eosinophil-associated, ribonuclease A family, member 2\t9.577E-8\t0.0003\t0.0002\t-1.4862\t-1.4862\t-13.5006\t9.577E-8\r\n107680187\t6345095\tILMN_2713898\t486090\tDdr1\t12305\tDdr1\tdiscoidin domain receptor family, member 1\t1.172E-7\t0.0003\t0.0002\t-0.8617\t-0.8617\t-13.2167\t1.172E-7\r\n107684452\t6363087\tILMN_2772273\t724368\tCldn22\t75677\tCldn22\tclaudin 22\t1.634E-7\t0.0004\t0.0002\t0.6557\t0.6557\t12.7622\t1.634E-7\r\n107641691\t6378887\tILMN_1218223\t561628\tPvalb\t19293\tPvalb\tparvalbumin\t1.918E-7\t0.0004\t0.0002\t-1.9261\t-1.9261\t-12.5478\t1.918E-7\r\n107652484\t6371658\tILMN_1240770\t760788\tAcly\t104112\tAcly\tATP citrate lyase\t2.145E-7\t0.0004\t0.0003\t1.8169\t1.8169\t12.4002\t2.145E-7\r\n107684617\t6340514\tILMN_2774161\t523186\tHsd11b1\t15483\tHsd11b1\thydroxysteroid 11-beta dehydrogenase 1\t2.022E-7\t0.0004\t0.0003\t1.4447\t1.4447\t12.4776\t2.022E-7\r\n107654165\t6372412\tILMN_1244211\t\t\t\t\t\t2.463E-7\t0.0005\t0.0003\t1.2247\t1.2247\t12.2193\t2.463E-7\r\n"}}},"404":{"description":"The analysis result set could not be found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/resultSets":{"get":{"summary":"Retrieve all result sets matching the provided criteria","operationId":"getResultSets","parameters":[{"name":"datasets","in":"query","explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of dataset IDs or short names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}},{"name":"databaseEntries","in":"query","explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of database entry IDs or accessions. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A database entry numerical identifier.","format":"int64"},{"type":"string","description":"A database entry name."}]}}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionAnalysisResultSet"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionAnalysisResultSet"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilteredAndPaginatedResponseDataObjectDifferentialExpressionAnalysisResultSetValueObject"}}}}}}},"/annotations/children":{"get":{"summary":"Retrieve the children of the given annotations","description":"Terms that are returned satisfies the [inverse of rdfs:subClassOf](https://www.w3.org/TR/2012/REC-owl2-syntax-20121211/#Subclass_Axioms) or [has_part](http://purl.obolibrary.org/obo/BFO_0000051) relations. When `direct` is set to false, this rule is applied recursively.","operationId":"getAnnotationsChildren","parameters":[{"name":"uri","in":"query","description":"Term URI","schema":{"type":"string"}},{"name":"direct","in":"query","description":"Only include direct parents.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListAnnotationSearchResultValueObject"}}}},"404":{"description":"No term matched the given URI.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"Ontology inference timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/annotations/parents":{"get":{"summary":"Retrieve the parents of the given annotations","description":"Terms that are returned satisfies the [rdfs:subClassOf](https://www.w3.org/TR/2012/REC-owl2-syntax-20121211/#Subclass_Axioms) or [part_of](http://purl.obolibrary.org/obo/BFO_0000050) relations. When `direct` is set to false, this rule is applied recursively.","operationId":"getAnnotationsParents","parameters":[{"name":"uri","in":"query","description":"Term URI","schema":{"type":"string"}},{"name":"direct","in":"query","description":"Only include direct children.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListAnnotationSearchResultValueObject"}}}},"404":{"description":"No term matched the given URI.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"Ontology inference timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/annotations/search":{"get":{"summary":"Search for annotation tags","operationId":"searchAnnotations","parameters":[{"name":"query","in":"query","description":"A comma-delimited list of keywords to find annotations.","explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of strings. The value may be compressed with gzip and encoded with base64.","items":{"type":"string","default":""}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListAnnotationSearchResultValueObject"}}}},"400":{"description":"The search query is empty or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"The search for annotations has timed out. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/annotations/search/{query}":{"get":{"summary":"Search for annotation tags","description":"This is deprecated in favour of passing `query` as a query parameter.","operationId":"searchAnnotationsByPathQuery","parameters":[{"name":"query","in":"path","description":"A comma-delimited list of keywords to find annotations.","required":true,"explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of strings. The value may be compressed with gzip and encoded with base64.","items":{"type":"string","default":""}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListAnnotationSearchResultValueObject"}}}},"400":{"description":"The search query is empty or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"deprecated":true}},"/annotations/search/datasets":{"get":{"summary":"Retrieve datasets associated to an annotation tags search","description":"This is deprecated in favour of the [/datasets](#/default/getDatasets) endpoint. Use the `AND` operator to intersect the results of multiple queries.","operationId":"searchDatasets","parameters":[{"name":"query","in":"query","description":"A comma-delimited list of keywords to find annotations. Matching datasets for each query are intersected.","explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of strings. The value may be compressed with gzip and encoded with base64.","items":{"type":"string","default":""}}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionExperiment"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndPaginatedResponseDataObjectExpressionExperimentValueObject"}}}},"400":{"description":"The search query is empty or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"The search for annotations has timed out. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"deprecated":true}},"/annotations/search/{query}/datasets":{"get":{"summary":"Retrieve datasets associated to an annotation tags search","description":"This is deprecated in favour of passing `query` as a query parameter.","operationId":"searchDatasetsByQueryInPath","parameters":[{"name":"query","in":"path","description":"A comma-delimited list of keywords to find annotations. Matching datasets for each query are intersected.","required":true,"explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of strings. The value may be compressed with gzip and encoded with base64.","items":{"type":"string","default":""}}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionExperiment"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndPaginatedResponseDataObjectExpressionExperimentValueObject"}}}},"400":{"description":"The search query is empty or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"deprecated":true}},"/annotations/{taxon}/search/datasets":{"get":{"summary":"Retrieve datasets within a given taxa associated to an annotation tags search","description":"This is deprecated in favour of the [/datasets](#/default/getDatasets) endpoint with a `query` parameter and a `filter` parameter with `taxon.id = {taxon} or taxon.commonName = {taxon} or taxon.scientificName = {taxon}` to restrict the taxon instead. Use the `AND` operator to intersect the results of multiple queries.","operationId":"searchTaxonDatasets","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"query","in":"query","description":"A comma-delimited list of keywords to find annotations. Matching datasets for each query are intersected.","explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of strings. The value may be compressed with gzip and encoded with base64.","items":{"type":"string","default":""}}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionExperiment"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndPaginatedResponseDataObjectExpressionExperimentValueObject"}}}},"400":{"description":"The search query is empty or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"The search for annotations has timed out. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"deprecated":true}},"/annotations/{taxon}/search/{query}/datasets":{"get":{"summary":"Retrieve datasets within a given taxa associated to an annotation tags search","description":"This is deprecated in favour of passing `query` as a query parameter.","operationId":"searchTaxonDatasetsByQueryInPath","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"query","in":"path","description":"A comma-delimited list of keywords to find annotations. Matching datasets for each query are intersected.","required":true,"explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of strings. The value may be compressed with gzip and encoded with base64.","items":{"type":"string","default":""}}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionExperiment"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndPaginatedResponseDataObjectExpressionExperimentValueObject"}}}},"400":{"description":"The search query is empty or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"deprecated":true}},"/datasets/{dataset}/publications":{"get":{"summary":"Retrieve all publications associated with a dataset","operationId":"getDatasetAllPublications","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListBibliographicReferenceValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/annotations":{"get":{"summary":"Retrieve the annotations of a dataset","operationId":"getDatasetAnnotations","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectSetAnnotationValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/cellLevelCharacteristics":{"get":{"summary":"Retrieve all other cell-level characteristics of a single-cell dataset","operationId":"getDatasetCellLevelCharacteristics","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"quantitationType","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListCellLevelCharacteristicsValueObject"}},"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"object"},"example":"sample_id\tcell_id\tcategory\tcategory_uri\tcategory_id\tvalue\tvalue_uri\r\n"}}}}}},"/datasets/{dataset}/cellTypeAssignment":{"get":{"summary":"Retrieve a cell-type assignment of a single-cell dataset","operationId":"getDatasetCellTypeAssignment","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"quantitationType","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]}},{"name":"cellTypeAssignment","in":"query","description":"The name of the cell type assignment to retrieve. If left unset, this the preferred one is returned.","schema":{"type":"string"}},{"name":"protocol","in":"query","description":"The protocol of the cell type assignment to retrieve. This cannot be used in combination with `cellTypeAssignment`.","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectCellTypeAssignmentValueObject"}},"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"object"},"example":"sample_id\tcell_id\tcell_type\tcell_type_uri\r\nH48-g2 , Entorhinal cortex\tAAACCCAAGGTCCAGA-2_1\tExcitatory Neurons\t\r\nH48-g2 , Entorhinal cortex\tAAACCCACAGATAAAC-2_1\tExcitatory Neurons\t\r\nH48-g2 , Entorhinal cortex\tAAACCCAGTCCTTAAG-2_1\tOPCs\t\r\nH48-g2 , Entorhinal cortex\tAAACGAAAGCCTCAAT-2_1\tOligodendrocytes\t\r\nH48-g2 , Entorhinal cortex\tAAACGAACAGCGTGAA-2_1\tAstrocytes\t\r\nH48-g2 , Entorhinal cortex\tAAACGAATCCATAGAC-2_1\tOligodendrocytes\t\r\nH48-g2 , Entorhinal cortex\tAAACGAATCTCCCTAG-2_1\tOligodendrocytes\t\r\nH48-g2 , Entorhinal cortex\tAAACGCTAGGCCCAAA-2_1\tExcitatory Neurons\t\r\nH48-g2 , Entorhinal cortex\tAAACGCTAGGTATAGT-2_1\tVascular Cells\t\r\nH48-g2 , Entorhinal cortex\tAAACGCTCAACATACC-2_1\tExcitatory Neurons\t\r\nH48-g2 , Entorhinal cortex\tAAACGCTCAGCTTTCC-2_1\tVascular Cells\t\r\nH48-g2 , Entorhinal cortex\tAAACGCTGTGGTCCCA-2_1\tVascular Cells\t\r\nH48-g2 , Entorhinal cortex\tAAACGCTTCGACACTA-2_1\tExcitatory Neurons\t\r\nH48-g2 , Entorhinal cortex\tAAACGCTTCGGAATGG-2_1\tOligodendrocytes\t\r\nH48-g2 , Entorhinal cortex\tAAAGAACCAAGCGAAC-2_1\tVascular Cells\t\r\nH48-g2 , Entorhinal cortex\tAAAGAACGTTCTAACG-2_1\tExcitatory Neurons\t\r\nH48-g2 , Entorhinal cortex\tAAAGGATAGAAGGATG-2_1\tOligodendrocytes\t\r\nH48-g2 , Entorhinal cortex\tAAAGGATGTTCCCAAA-2_1\tVascular Cells\t\r\nH48-g2 , Entorhinal cortex\tAAAGGATGTTCGGTAT-2_1\tExcitatory Neurons\t\r\n"}}},"404":{"description":"If the dataset, quantitation type or cell type assignment does not exist, or if a preferred cell type assignment is requested but none is available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/design":{"get":{"summary":"Retrieve the design of a dataset","operationId":"getDatasetDesign","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"string","format":"binary"},"example":"# Expression design file generated by Gemma on 12/14/2023\n# shortName=GSE2018\n# name=Human Lung Transplant - BAL\n# Experiment details: https://gemma.msl.ubc.ca/expressionExperiment/showExpressionExperiment.html?id=1\n# If you use this file for your research, please cite: \n# Lim et al. (2021) Curation of over 10 000 transcriptomic studies to enable data reuse. \n# Database, baab006 (doi:10.1093/database/baab006). \n#$batch : Category=block Type=Categorical\n#$diseaseState : Category=disease Type=Categorical\nBioassay\tExternalID\tbatch\tdiseaseState\nGSE2018_bioMaterial_34.GSM36456___BioAssayId=1Name=BAL_47c_A0B1\tGSM36456\tBatch_06_02_07_24\treference_subject_role\nGSE2018_bioMaterial_33.GSM36455___BioAssayId=2Name=BAL_47b_A0B1\tGSM36455\tBatch_07_02_10_03\treference_subject_role\nGSE2018_bioMaterial_32.GSM36454___BioAssayId=3Name=BAL_47a_A0B0\tGSM36454\tBatch_08_02_10_15\treference_subject_role\nGSE2018_bioMaterial_31.GSM36453___BioAssayId=4Name=BAL_46_A2B0\tGSM36453\tBatch_01_02_01_31\tdisease_related_to_solid_organ_transplantation_|_lung_|\nGSE2018_bioMaterial_30.GSM36452___BioAssayId=5Name=BAL_45b_A2B0\tGSM36452\tBatch_03_02_05_22\tdisease_related_to_solid_organ_transplantation_|_lung_|\nGSE2018_bioMaterial_29.GSM36451___BioAssayId=6Name=BAL_45a_A1B0\tGSM36451\tBatch_06_02_07_24\treference_subject_role\nGSE2018_bioMaterial_28.GSM36450___BioAssayId=7Name=BAL_44b_A0B0\tGSM36450\tBatch_02_02_04_03\treference_subject_role\nGSE2018_bioMaterial_27.GSM36449___BioAssayId=8Name=BAL_44a_A0B0\tGSM36449\tBatch_08_02_10_15\treference_subject_role\nGSE2018_bioMaterial_26.GSM36448___BioAssayId=9Name=BAL_43_A0B0\tGSM36448\tBatch_09_02_10_25\treference_subject_role\nGSE2018_bioMaterial_25.GSM36447___BioAssayId=10Name=BAL_42_A0B0\tGSM36447\tBatch_11_02_11_27\treference_subject_role\n"}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/analyses/differential":{"get":{"summary":"Retrieve annotations and surface level stats for a dataset's differential analyses","operationId":"getDatasetDifferentialExpressionAnalyses","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListDifferentialExpressionAnalysisValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/analyses/differential/resultSets":{"get":{"summary":"Retrieve the result sets of all differential analyses of a dataset","operationId":"getDatasetDifferentialExpressionAnalysisResultSets","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"302":{"description":"If the dataset is found, a redirection to the corresponding getResultSets operation."},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/data":{"get":{"summary":"Retrieve processed expression data of a dataset","description":"This endpoint is deprecated and getDatasetProcessedExpression() should be used instead. The following columns are available: Probe, Sequence, GeneSymbol, GeneName, GemmaId, NCBIid followed by one column per sample. GeneSymbol, GeneName, GemmaId and NCBIid are optional.","operationId":"getDatasetExpression","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"filter","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"string","format":"binary"},"example":"# Expression data file generated by Gemma on 10/29/2024\n# shortName=GSE2018\n# name=Human Lung Transplant - BAL\n# Experiment details: https://gemma.msl.ubc.ca/expressionExperiment/showExpressionExperiment.html?id=1\n# If you use this file for your research, please cite: \n# Lim et al. (2021) Curation of over 10 000 transcriptomic studies to enable data reuse. \n# Database, baab006 (doi:10.1093/database/baab006). \nProbe\tSequence\tGeneSymbol\tGeneName\tGemmaId\tNCBIid\tGSE2018_bioMaterial_34.GSM36456___BioAssayId=1Name=BAL_47c_A0B1\tGSE2018_bioMaterial_29.GSM36451___BioAssayId=6Name=BAL_45a_A1B0\tGSE2018_bioMaterial_15.GSM36437___BioAssayId=20Name=BAL_27a_A0B0\tGSE2018_bioMaterial_4.GSM36426___BioAssayId=31Name=BAL_1_A0B0\tGSE2018_bioMaterial_2.GSM36424___BioAssayId=33Name=BAL_15a_A0B1\tGSE2018_bioMaterial_32.GSM36454___BioAssayId=3Name=BAL_47a_A0B0\tGSE2018_bioMaterial_27.GSM36449___BioAssayId=8Name=BAL_44a_A0B0\tGSE2018_bioMaterial_21.GSM36443___BioAssayId=14Name=BAL_39_A0B1\tGSE2018_bioMaterial_20.GSM36442___BioAssayId=15Name=BAL_33_A0B1\tGSE2018_bioMaterial_26.GSM36448___BioAssayId=9Name=BAL_43_A0B0\tGSE2018_bioMaterial_6.GSM36428___BioAssayId=29Name=BAL_13_A0B0\tGSE2018_bioMaterial_33.GSM36455___BioAssayId=2Name=BAL_47b_A0B1\tGSE2018_bioMaterial_17.GSM36439___BioAssayId=18Name=BAL_29_A1B0\tGSE2018_bioMaterial_13.GSM36435___BioAssayId=22Name=BAL_25_A0B0\tGSE2018_bioMaterial_23.GSM36445___BioAssayId=12Name=BAL_40_A0B0\tGSE2018_bioMaterial_28.GSM36450___BioAssayId=7Name=BAL_44b_A0B0\tGSE2018_bioMaterial_24.GSM36446___BioAssayId=11Name=BAL_41_A1B0\tGSE2018_bioMaterial_19.GSM36441___BioAssayId=16Name=BAL_31_A0B1\tGSE2018_bioMaterial_25.GSM36447___BioAssayId=10Name=BAL_42_A0B0\tGSE2018_bioMaterial_22.GSM36444___BioAssayId=13Name=BAL_4_A0B0\tGSE2018_bioMaterial_18.GSM36440___BioAssayId=17Name=BAL_3_A1B0\tGSE2018_bioMaterial_8.GSM36430___BioAssayId=27Name=BAL_18_A1B0\tGSE2018_bioMaterial_7.GSM36429___BioAssayId=28Name=BAL_17_A0B0\tGSE2018_bioMaterial_5.GSM36427___BioAssayId=30Name=BAL_12_A1B0\tGSE2018_bioMaterial_3.GSM36425___BioAssayId=32Name=BAL_15b_A0B0\tGSE2018_bioMaterial_12.GSM36434___BioAssayId=23Name=BAL_21_A0B0\tGSE2018_bioMaterial_9.GSM36431___BioAssayId=26Name=BAL_19_A0B0\tGSE2018_bioMaterial_10.GSM36432___BioAssayId=25Name=BAL_20a_A1B1\tGSE2018_bioMaterial_11.GSM36433___BioAssayId=24Name=BAL_20b_A1B1\tGSE2018_bioMaterial_1.GSM36423___BioAssayId=34Name=BAL_37_A1B1\tGSE2018_bioMaterial_30.GSM36452___BioAssayId=5Name=BAL_45b_A2B0\tGSE2018_bioMaterial_14.GSM36436___BioAssayId=21Name=BAL_26_A2B0\tGSE2018_bioMaterial_31.GSM36453___BioAssayId=4Name=BAL_46_A2B0\tGSE2018_bioMaterial_16.GSM36438___BioAssayId=19Name=BAL_27b_A2B1\n1007_s_at\t1007_s_at_collapsed\tDDR1\tdiscoidin domain receptor tyrosine kinase 1\t16908\t780\t7.6721\t7.4853\t7.8763\t7.4623\t7.5819\t7.757\t7.7166\t7.3643\t7.4844\t7.4546\t7.5897\t7.5602\t7.8408\t7.5234\t7.6959\t7.5389\t7.8389\t7.4757\t7.8968\t7.5597\t7.6154\t7.5057\t7.362\t7.5837\t7.6584\t7.6638\t7.6282\t\t7.6784\t7.6151\t7.7217\t7.3875\t7.7165\t7.5376\n1053_at\t1053_at_collapsed\tRFC2\treplication factor C subunit 2\t139878\t5982\t6.8924\t6.7775\t6.8416\t7.0674\t6.7558\t6.5584\t6.9086\t6.8158\t7.0474\t6.902\t6.8889\t6.8371\t6.5479\t6.9205\t6.7033\t6.8723\t6.5528\t6.9175\t6.6162\t6.9416\t6.8842\t6.7586\t6.9581\t7.0007\t6.7241\t6.7385\t6.808\t\t6.688\t6.7764\t6.6493\t6.9261\t6.6655\t6.8936\n117_at\t117_at_collapsed\tHSPA7|HSPA6\theat shock protein family A (Hsp70) member 7 (pseudogene)|heat shock protein family A (Hsp70) member 6\t73442|73420\t3311|3310\t7.5564\t7.716\t7.7334\t7.8392\t7.5988\t7.8905\t7.6796\t7.4394\t7.649\t7.614\t7.7068\t7.813\t7.8061\t7.4471\t7.4063\t7.609\t8.0923\t7.5906\t8.2502\t7.6235\t7.4748\t7.7618\t7.7964\t7.5155\t8.0925\t7.5918\t7.8906\t\t7.8253\t7.842\t7.9382\t8.0984\t7.9372\t7.7496\n121_at\t121_at_collapsed\tPAX8\tpaired box 8\t173107\t7849\t9.1023\t9.2323\t9.3388\t9.1243\t8.7984\t9.0757\t9.2588\t8.9355\t8.9928\t9.1342\t9.0008\t9.0188\t9.4695\t8.9383\t9.2632\t8.8174\t9.382\t9.1201\t9.0405\t9.2566\t8.9751\t9.2959\t8.8983\t9.1463\t9.0725\t9.1553\t9.1685\t\t9.2515\t9.0833\t9.1434\t8.8144\t9.4814\t8.9047\n1255_g_at\t1255_g_at_collapsed\tGUCA1ANB-GUCA1A|GUCA1A\tGUCA1ANB-GUCA1A readthrough|guanylate cyclase activator 1A\t10402669|58787\t118142757|2978\t3.9816\t4.0628\t4.0015\t4.1629\t3.9986\t3.9452\t4.0291\t4.0417\t4.0483\t3.9937\t4.0622\t4.136\t4.0921\t3.9627\t4.0604\t3.9806\t4.1723\t4.0626\t4.1257\t4.0568\t3.8952\t4.0721\t4.0442\t4.1134\t3.9857\t4.1046\t4.0098\t\t4.0499\t4.0728\t3.9763\t4.0082\t3.9185\t4.0868\n1294_at\t1294_at_collapsed\tUBA7\tubiquitin like modifier activating enzyme 7\t165857\t7318\t8.0634\t7.7508\t7.7976\t8.0921\t8.0174\t8.1656\t7.8646\t7.6888\t7.9781\t7.6962\t8.0412\t7.6834\t8.1576\t7.9031\t8.0123\t7.8788\t8.0191\t8.1302\t8.0091\t7.9073\t8.0516\t7.6454\t7.9631\t7.8502\t8.0124\t7.4931\t7.9133\t\t7.6496\t7.9338\t7.8689\t7.7707\t7.7935\t7.9927\n1316_at\t1316_at_collapsed\tTHRA\tthyroid hormone receptor alpha\t160776\t7067\t5.8697\t5.8707\t5.9474\t5.8711\t5.8871\t5.9525\t5.8688\t5.8748\t5.8318\t5.8107\t5.832\t5.8217\t6.0814\t5.8491\t5.9301\t5.809\t6.0588\t5.9611\t6.0451\t5.832\t5.8675\t5.9447\t5.8611\t5.8935\t5.9666\t6.0884\t5.9402\t\t5.8583\t5.8739\t5.8993\t5.7998\t5.6166\t5.8443\n1320_at\t1320_at_collapsed\tPTPN21\tprotein tyrosine phosphatase non-receptor type 21\t227238\t11099\t5.0297\t4.8054\t4.861\t5.031\t4.9511\t4.9027\t5.2428\t4.915\t4.9608\t4.9277\t4.8071\t4.8301\t4.867\t4.9947\t4.9846\t5.0406\t4.9048\t4.8506\t4.8542\t5.0097\t4.9676\t4.8883\t4.9028\t4.9867\t4.886\t4.9535\t4.9498\t\t4.7029\t4.8417\t4.8511\t4.7326\t4.643\t4.8456\n1405_i_at\t1405_i_at_collapsed\tCCL5\tC-C motif chemokine ligand 5\t147052\t6352\t5.6652\t5.4639\t5.9441\t5.1073\t5.9815\t5.289\t5.8388\t5.1612\t5.2728\t4.9977\t6.8063\t5.6607\t5.7446\t5.2005\t6.0187\t4.9152\t5.9225\t6.1803\t5.4989\t6.6756\t7.0798\t5.0711\t4.8886\t5.6228\t6.9047\t6.324\t6.1059\t\t8.4984\t8.3406\t7.9811\t6.91\t6.7853\t6.6306\n1431_at\t1431_at_collapsed\tCYP2E1\tcytochrome P450 family 2 subfamily E member 1\t33104\t1571\t3.8388\t3.8467\t3.8965\t3.8779\t3.8262\t3.8039\t3.9421\t3.8161\t3.8997\t3.8309\t3.8176\t3.8623\t3.8059\t3.9013\t3.8035\t3.7976\t3.9332\t3.813\t3.86\t3.8494\t3.8293\t3.8349\t3.8547\t3.8433\t3.8946\t3.943\t3.8708\t\t3.8047\t3.8511\t3.8599\t3.8585\t3.8295\t3.7343\n1438_at\t1438_at_collapsed\tEPHB3\tEPH receptor B3\t43254\t2049\t6.8075\t6.5489\t6.6755\t6.63\t6.7115\t6.7421\t7.1292\t6.6164\t6.6223\t6.6747\t6.6011\t6.5757\t6.9155\t6.5807\t6.7176\t6.5973\t6.6678\t6.7832\t6.6713\t6.4502\t6.7765\t6.8397\t6.5161\t6.6269\t6.7348\t6.5554\t6.9036\t\t6.638\t6.6345\t6.6333\t6.4946\t6.7892\t6.3988\n1487_at\t1487_at_collapsed\tESRRA\testrogen related receptor alpha\t44096\t2101\t7.7785\t7.6979\t7.5933\t7.8805\t7.7475\t7.7677\t7.908\t7.5541\t7.6242\t7.5641\t7.6051\t7.5303\t7.8122\t7.6791\t7.7691\t7.7881\t7.5941\t7.7652\t7.7651\t7.5381\t7.8425\t7.5586\t7.6608\t7.6481\t7.7682\t7.7273\t7.7158\t\t7.6116\t7.6369\t7.6163\t7.517\t7.648\t7.6448\n"}}},"204":{"description":"The dataset expression matrix is empty."},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"deprecated":true}},"/datasets/{dataset}/platforms":{"get":{"summary":"Retrieve the platforms of a dataset","operationId":"getDatasetPlatforms","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListArrayDesignValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/data/processed":{"get":{"summary":"Retrieve processed expression data of a dataset","description":"The following columns are available: Probe, Sequence, GeneSymbol, GeneName, GemmaId, NCBIid followed by one column per sample. GeneSymbol, GeneName, GemmaId and NCBIid are optional.","operationId":"getDatasetProcessedExpression","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"filter","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"string","format":"binary"},"example":"# Expression data file generated by Gemma on 10/29/2024\n# shortName=GSE2018\n# name=Human Lung Transplant - BAL\n# Experiment details: https://gemma.msl.ubc.ca/expressionExperiment/showExpressionExperiment.html?id=1\n# If you use this file for your research, please cite: \n# Lim et al. (2021) Curation of over 10 000 transcriptomic studies to enable data reuse. \n# Database, baab006 (doi:10.1093/database/baab006). \nProbe\tSequence\tGeneSymbol\tGeneName\tGemmaId\tNCBIid\tGSE2018_bioMaterial_34.GSM36456___BioAssayId=1Name=BAL_47c_A0B1\tGSE2018_bioMaterial_29.GSM36451___BioAssayId=6Name=BAL_45a_A1B0\tGSE2018_bioMaterial_15.GSM36437___BioAssayId=20Name=BAL_27a_A0B0\tGSE2018_bioMaterial_4.GSM36426___BioAssayId=31Name=BAL_1_A0B0\tGSE2018_bioMaterial_2.GSM36424___BioAssayId=33Name=BAL_15a_A0B1\tGSE2018_bioMaterial_32.GSM36454___BioAssayId=3Name=BAL_47a_A0B0\tGSE2018_bioMaterial_27.GSM36449___BioAssayId=8Name=BAL_44a_A0B0\tGSE2018_bioMaterial_21.GSM36443___BioAssayId=14Name=BAL_39_A0B1\tGSE2018_bioMaterial_20.GSM36442___BioAssayId=15Name=BAL_33_A0B1\tGSE2018_bioMaterial_26.GSM36448___BioAssayId=9Name=BAL_43_A0B0\tGSE2018_bioMaterial_6.GSM36428___BioAssayId=29Name=BAL_13_A0B0\tGSE2018_bioMaterial_33.GSM36455___BioAssayId=2Name=BAL_47b_A0B1\tGSE2018_bioMaterial_17.GSM36439___BioAssayId=18Name=BAL_29_A1B0\tGSE2018_bioMaterial_13.GSM36435___BioAssayId=22Name=BAL_25_A0B0\tGSE2018_bioMaterial_23.GSM36445___BioAssayId=12Name=BAL_40_A0B0\tGSE2018_bioMaterial_28.GSM36450___BioAssayId=7Name=BAL_44b_A0B0\tGSE2018_bioMaterial_24.GSM36446___BioAssayId=11Name=BAL_41_A1B0\tGSE2018_bioMaterial_19.GSM36441___BioAssayId=16Name=BAL_31_A0B1\tGSE2018_bioMaterial_25.GSM36447___BioAssayId=10Name=BAL_42_A0B0\tGSE2018_bioMaterial_22.GSM36444___BioAssayId=13Name=BAL_4_A0B0\tGSE2018_bioMaterial_18.GSM36440___BioAssayId=17Name=BAL_3_A1B0\tGSE2018_bioMaterial_8.GSM36430___BioAssayId=27Name=BAL_18_A1B0\tGSE2018_bioMaterial_7.GSM36429___BioAssayId=28Name=BAL_17_A0B0\tGSE2018_bioMaterial_5.GSM36427___BioAssayId=30Name=BAL_12_A1B0\tGSE2018_bioMaterial_3.GSM36425___BioAssayId=32Name=BAL_15b_A0B0\tGSE2018_bioMaterial_12.GSM36434___BioAssayId=23Name=BAL_21_A0B0\tGSE2018_bioMaterial_9.GSM36431___BioAssayId=26Name=BAL_19_A0B0\tGSE2018_bioMaterial_10.GSM36432___BioAssayId=25Name=BAL_20a_A1B1\tGSE2018_bioMaterial_11.GSM36433___BioAssayId=24Name=BAL_20b_A1B1\tGSE2018_bioMaterial_1.GSM36423___BioAssayId=34Name=BAL_37_A1B1\tGSE2018_bioMaterial_30.GSM36452___BioAssayId=5Name=BAL_45b_A2B0\tGSE2018_bioMaterial_14.GSM36436___BioAssayId=21Name=BAL_26_A2B0\tGSE2018_bioMaterial_31.GSM36453___BioAssayId=4Name=BAL_46_A2B0\tGSE2018_bioMaterial_16.GSM36438___BioAssayId=19Name=BAL_27b_A2B1\n1007_s_at\t1007_s_at_collapsed\tDDR1\tdiscoidin domain receptor tyrosine kinase 1\t16908\t780\t7.6721\t7.4853\t7.8763\t7.4623\t7.5819\t7.757\t7.7166\t7.3643\t7.4844\t7.4546\t7.5897\t7.5602\t7.8408\t7.5234\t7.6959\t7.5389\t7.8389\t7.4757\t7.8968\t7.5597\t7.6154\t7.5057\t7.362\t7.5837\t7.6584\t7.6638\t7.6282\t\t7.6784\t7.6151\t7.7217\t7.3875\t7.7165\t7.5376\n1053_at\t1053_at_collapsed\tRFC2\treplication factor C subunit 2\t139878\t5982\t6.8924\t6.7775\t6.8416\t7.0674\t6.7558\t6.5584\t6.9086\t6.8158\t7.0474\t6.902\t6.8889\t6.8371\t6.5479\t6.9205\t6.7033\t6.8723\t6.5528\t6.9175\t6.6162\t6.9416\t6.8842\t6.7586\t6.9581\t7.0007\t6.7241\t6.7385\t6.808\t\t6.688\t6.7764\t6.6493\t6.9261\t6.6655\t6.8936\n117_at\t117_at_collapsed\tHSPA7|HSPA6\theat shock protein family A (Hsp70) member 7 (pseudogene)|heat shock protein family A (Hsp70) member 6\t73442|73420\t3311|3310\t7.5564\t7.716\t7.7334\t7.8392\t7.5988\t7.8905\t7.6796\t7.4394\t7.649\t7.614\t7.7068\t7.813\t7.8061\t7.4471\t7.4063\t7.609\t8.0923\t7.5906\t8.2502\t7.6235\t7.4748\t7.7618\t7.7964\t7.5155\t8.0925\t7.5918\t7.8906\t\t7.8253\t7.842\t7.9382\t8.0984\t7.9372\t7.7496\n121_at\t121_at_collapsed\tPAX8\tpaired box 8\t173107\t7849\t9.1023\t9.2323\t9.3388\t9.1243\t8.7984\t9.0757\t9.2588\t8.9355\t8.9928\t9.1342\t9.0008\t9.0188\t9.4695\t8.9383\t9.2632\t8.8174\t9.382\t9.1201\t9.0405\t9.2566\t8.9751\t9.2959\t8.8983\t9.1463\t9.0725\t9.1553\t9.1685\t\t9.2515\t9.0833\t9.1434\t8.8144\t9.4814\t8.9047\n1255_g_at\t1255_g_at_collapsed\tGUCA1ANB-GUCA1A|GUCA1A\tGUCA1ANB-GUCA1A readthrough|guanylate cyclase activator 1A\t10402669|58787\t118142757|2978\t3.9816\t4.0628\t4.0015\t4.1629\t3.9986\t3.9452\t4.0291\t4.0417\t4.0483\t3.9937\t4.0622\t4.136\t4.0921\t3.9627\t4.0604\t3.9806\t4.1723\t4.0626\t4.1257\t4.0568\t3.8952\t4.0721\t4.0442\t4.1134\t3.9857\t4.1046\t4.0098\t\t4.0499\t4.0728\t3.9763\t4.0082\t3.9185\t4.0868\n1294_at\t1294_at_collapsed\tUBA7\tubiquitin like modifier activating enzyme 7\t165857\t7318\t8.0634\t7.7508\t7.7976\t8.0921\t8.0174\t8.1656\t7.8646\t7.6888\t7.9781\t7.6962\t8.0412\t7.6834\t8.1576\t7.9031\t8.0123\t7.8788\t8.0191\t8.1302\t8.0091\t7.9073\t8.0516\t7.6454\t7.9631\t7.8502\t8.0124\t7.4931\t7.9133\t\t7.6496\t7.9338\t7.8689\t7.7707\t7.7935\t7.9927\n1316_at\t1316_at_collapsed\tTHRA\tthyroid hormone receptor alpha\t160776\t7067\t5.8697\t5.8707\t5.9474\t5.8711\t5.8871\t5.9525\t5.8688\t5.8748\t5.8318\t5.8107\t5.832\t5.8217\t6.0814\t5.8491\t5.9301\t5.809\t6.0588\t5.9611\t6.0451\t5.832\t5.8675\t5.9447\t5.8611\t5.8935\t5.9666\t6.0884\t5.9402\t\t5.8583\t5.8739\t5.8993\t5.7998\t5.6166\t5.8443\n1320_at\t1320_at_collapsed\tPTPN21\tprotein tyrosine phosphatase non-receptor type 21\t227238\t11099\t5.0297\t4.8054\t4.861\t5.031\t4.9511\t4.9027\t5.2428\t4.915\t4.9608\t4.9277\t4.8071\t4.8301\t4.867\t4.9947\t4.9846\t5.0406\t4.9048\t4.8506\t4.8542\t5.0097\t4.9676\t4.8883\t4.9028\t4.9867\t4.886\t4.9535\t4.9498\t\t4.7029\t4.8417\t4.8511\t4.7326\t4.643\t4.8456\n1405_i_at\t1405_i_at_collapsed\tCCL5\tC-C motif chemokine ligand 5\t147052\t6352\t5.6652\t5.4639\t5.9441\t5.1073\t5.9815\t5.289\t5.8388\t5.1612\t5.2728\t4.9977\t6.8063\t5.6607\t5.7446\t5.2005\t6.0187\t4.9152\t5.9225\t6.1803\t5.4989\t6.6756\t7.0798\t5.0711\t4.8886\t5.6228\t6.9047\t6.324\t6.1059\t\t8.4984\t8.3406\t7.9811\t6.91\t6.7853\t6.6306\n1431_at\t1431_at_collapsed\tCYP2E1\tcytochrome P450 family 2 subfamily E member 1\t33104\t1571\t3.8388\t3.8467\t3.8965\t3.8779\t3.8262\t3.8039\t3.9421\t3.8161\t3.8997\t3.8309\t3.8176\t3.8623\t3.8059\t3.9013\t3.8035\t3.7976\t3.9332\t3.813\t3.86\t3.8494\t3.8293\t3.8349\t3.8547\t3.8433\t3.8946\t3.943\t3.8708\t\t3.8047\t3.8511\t3.8599\t3.8585\t3.8295\t3.7343\n1438_at\t1438_at_collapsed\tEPHB3\tEPH receptor B3\t43254\t2049\t6.8075\t6.5489\t6.6755\t6.63\t6.7115\t6.7421\t7.1292\t6.6164\t6.6223\t6.6747\t6.6011\t6.5757\t6.9155\t6.5807\t6.7176\t6.5973\t6.6678\t6.7832\t6.6713\t6.4502\t6.7765\t6.8397\t6.5161\t6.6269\t6.7348\t6.5554\t6.9036\t\t6.638\t6.6345\t6.6333\t6.4946\t6.7892\t6.3988\n1487_at\t1487_at_collapsed\tESRRA\testrogen related receptor alpha\t44096\t2101\t7.7785\t7.6979\t7.5933\t7.8805\t7.7475\t7.7677\t7.908\t7.5541\t7.6242\t7.5641\t7.6051\t7.5303\t7.8122\t7.6791\t7.7691\t7.7881\t7.5941\t7.7652\t7.7651\t7.5381\t7.8425\t7.5586\t7.6608\t7.6481\t7.7682\t7.7273\t7.7158\t\t7.6116\t7.6369\t7.6163\t7.517\t7.648\t7.6448\n"}}},"204":{"description":"The dataset expression matrix is empty. Only applicable if filter is set to true."},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/quantitationTypes":{"get":{"summary":"Retrieve quantitation types of a dataset","operationId":"getDatasetQuantitationTypes","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectSetQuantitationTypeValueObject"}}}}}}},"/datasets/{dataset}/data/raw":{"get":{"summary":"Retrieve raw expression data of a dataset","description":"The following columns are available: Probe, Sequence, GeneSymbol, GeneName, GemmaId, NCBIid followed by one column per sample. GeneSymbol, GeneName, GemmaId and NCBIid are optional.","operationId":"getDatasetRawExpression","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"quantitationType","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]}}],"responses":{"200":{"content":{"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"string","format":"binary"},"example":"# Expression data file generated by Gemma on 08/12/2024\n# shortName=GSE2018\n# name=Human Lung Transplant - BAL\n# Experiment details: https://gemma.msl.ubc.ca/expressionExperiment/showExpressionExperiment.html?id=1\n# If you use this file for your research, please cite: \n# Lim et al. (2021) Curation of over 10 000 transcriptomic studies to enable data reuse. \n# Database, baab006 (doi:10.1093/database/baab006). \nProbe\tSequence\tGeneSymbol\tGeneName\tGemmaId\tNCBIid\tGSE2018_bioMaterial_34.GSM36456___BioAssayId=1Name=BAL_47c_A0B1\tGSE2018_bioMaterial_29.GSM36451___BioAssayId=6Name=BAL_45a_A1B0\tGSE2018_bioMaterial_15.GSM36437___BioAssayId=20Name=BAL_27a_A0B0\tGSE2018_bioMaterial_4.GSM36426___BioAssayId=31Name=BAL_1_A0B0\tGSE2018_bioMaterial_2.GSM36424___BioAssayId=33Name=BAL_15a_A0B1\tGSE2018_bioMaterial_32.GSM36454___BioAssayId=3Name=BAL_47a_A0B0\tGSE2018_bioMaterial_27.GSM36449___BioAssayId=8Name=BAL_44a_A0B0\tGSE2018_bioMaterial_21.GSM36443___BioAssayId=14Name=BAL_39_A0B1\tGSE2018_bioMaterial_20.GSM36442___BioAssayId=15Name=BAL_33_A0B1\tGSE2018_bioMaterial_26.GSM36448___BioAssayId=9Name=BAL_43_A0B0\tGSE2018_bioMaterial_6.GSM36428___BioAssayId=29Name=BAL_13_A0B0\tGSE2018_bioMaterial_33.GSM36455___BioAssayId=2Name=BAL_47b_A0B1\tGSE2018_bioMaterial_17.GSM36439___BioAssayId=18Name=BAL_29_A1B0\tGSE2018_bioMaterial_13.GSM36435___BioAssayId=22Name=BAL_25_A0B0\tGSE2018_bioMaterial_23.GSM36445___BioAssayId=12Name=BAL_40_A0B0\tGSE2018_bioMaterial_28.GSM36450___BioAssayId=7Name=BAL_44b_A0B0\tGSE2018_bioMaterial_24.GSM36446___BioAssayId=11Name=BAL_41_A1B0\tGSE2018_bioMaterial_19.GSM36441___BioAssayId=16Name=BAL_31_A0B1\tGSE2018_bioMaterial_25.GSM36447___BioAssayId=10Name=BAL_42_A0B0\tGSE2018_bioMaterial_22.GSM36444___BioAssayId=13Name=BAL_4_A0B0\tGSE2018_bioMaterial_18.GSM36440___BioAssayId=17Name=BAL_3_A1B0\tGSE2018_bioMaterial_8.GSM36430___BioAssayId=27Name=BAL_18_A1B0\tGSE2018_bioMaterial_7.GSM36429___BioAssayId=28Name=BAL_17_A0B0\tGSE2018_bioMaterial_5.GSM36427___BioAssayId=30Name=BAL_12_A1B0\tGSE2018_bioMaterial_3.GSM36425___BioAssayId=32Name=BAL_15b_A0B0\tGSE2018_bioMaterial_12.GSM36434___BioAssayId=23Name=BAL_21_A0B0\tGSE2018_bioMaterial_9.GSM36431___BioAssayId=26Name=BAL_19_A0B0\tGSE2018_bioMaterial_10.GSM36432___BioAssayId=25Name=BAL_20a_A1B1\tGSE2018_bioMaterial_11.GSM36433___BioAssayId=24Name=BAL_20b_A1B1\tGSE2018_bioMaterial_1.GSM36423___BioAssayId=34Name=BAL_37_A1B1\tGSE2018_bioMaterial_30.GSM36452___BioAssayId=5Name=BAL_45b_A2B0\tGSE2018_bioMaterial_14.GSM36436___BioAssayId=21Name=BAL_26_A2B0\tGSE2018_bioMaterial_31.GSM36453___BioAssayId=4Name=BAL_46_A2B0\tGSE2018_bioMaterial_16.GSM36438___BioAssayId=19Name=BAL_27b_A2B1\n1007_s_at\t1007_s_at_collapsed\tDDR1\tdiscoidin domain receptor tyrosine kinase 1\t16908\t780\t7.5836\t7.5149\t7.9426\t7.5726\t7.6895\t7.747\t7.5579\t7.2625\t7.4659\t7.3409\t7.7495\t7.5836\t7.822\t7.6083\t7.6108\t7.6486\t7.8301\t7.4155\t7.8598\t7.5372\t7.6389\t7.3945\t7.3296\t7.6254\t7.642\t7.704\t7.6074\t8.1251\t7.6831\t7.5234\t7.8507\t7.3347\t7.6171\t7.6385\n1053_at\t1053_at_collapsed\tRFC2\treplication factor C subunit 2\t139878\t5982\t6.9008\t6.8009\t6.9914\t7.1967\t6.9169\t6.4509\t6.8932\t6.7594\t7.1623\t6.9441\t6.8418\t6.7719\t6.4701\t6.8874\t6.744\t6.8398\t6.4207\t6.8337\t6.634\t6.9803\t6.9255\t6.7607\t7.015\t7.082\t6.8054\t6.6631\t6.7386\t6.2169\t6.6692\t6.8769\t6.6228\t6.9671\t6.5623\t6.8402\n117_at\t117_at_collapsed\tHSPA7|HSPA6\theat shock protein family A (Hsp70) member 7 (pseudogene)|heat shock protein family A (Hsp70) member 6\t73442|73420\t3311|3310\t7.4346\t7.7029\t7.7987\t7.9137\t7.7466\t7.807\t7.4488\t7.3236\t7.6193\t7.4809\t7.7857\t7.791\t7.7153\t7.481\t7.3295\t7.8339\t8.2324\t7.6392\t8.6027\t7.8209\t7.6376\t7.9457\t8.148\t7.5137\t8.3775\t7.3311\t7.6101\t8.9948\t7.7385\t7.7543\t8.0032\t8.1108\t7.5221\t7.5053\n121_at\t121_at_collapsed\tPAX8\tpaired box 8\t173107\t7849\t9.1509\t9.428\t9.3332\t9.1608\t8.8577\t9.0129\t9.0078\t9.0458\t9.0435\t9.1961\t8.9763\t9.0637\t9.556\t8.9965\t9.2378\t8.8475\t9.4043\t9.0734\t8.987\t9.2315\t9.023\t9.2218\t9.0111\t9.163\t8.9894\t9.1115\t9.0487\t9.693\t9.2713\t9.1449\t9.0412\t8.8165\t9.2399\t8.9253\n1255_g_at\t1255_g_at_collapsed\tGUCA1ANB-GUCA1A|GUCA1A\tGUCA1ANB-GUCA1A readthrough|guanylate cyclase activator 1A\t10402669|58787\t118142757|2978\t3.9748\t3.9926\t3.9962\t4.1169\t3.9788\t3.945\t4.0353\t4.0047\t3.9895\t3.9749\t3.9999\t4.191\t4.1986\t3.9693\t4.037\t3.9649\t4.2678\t4.1094\t4.1081\t4.0075\t3.8168\t4.0413\t3.9619\t4.1162\t3.9818\t4.2462\t4.0512\t4.723\t4.0472\t4.0368\t3.9148\t3.957\t4.0902\t4.1647\n1294_at\t1294_at_collapsed\tUBA7\tubiquitin like modifier activating enzyme 7\t165857\t7318\t8.0512\t7.8481\t8.0362\t8.2978\t8.2437\t8.1893\t7.6526\t7.6184\t8.0514\t7.6264\t8.2552\t7.676\t8.1379\t7.9863\t8.0424\t8.2834\t8.2405\t8.3477\t8.0258\t8.0478\t8.2163\t7.7458\t8.188\t7.9344\t8.0258\t6.727\t7.2924\t7.213\t7.5449\t7.8528\t8.0715\t7.9229\t7.0863\t7.5198\n1316_at\t1316_at_collapsed\tTHRA\tthyroid hormone receptor alpha\t160776\t7067\t5.8251\t5.7495\t5.8783\t5.8014\t5.8045\t5.9517\t5.93\t5.8003\t5.7543\t5.7576\t5.8004\t5.8105\t6.1751\t5.813\t5.9054\t5.807\t6.1431\t6.0282\t5.9885\t5.7663\t5.7778\t5.8662\t5.7441\t5.9164\t6.0428\t6.4239\t6.2033\t6.5181\t5.8785\t5.8192\t5.901\t5.7307\t5.7442\t6.0342\n1320_at\t1320_at_collapsed\tPTPN21\tprotein tyrosine phosphatase non-receptor type 21\t227238\t11099\t5.0278\t4.6977\t4.8773\t4.9623\t4.8959\t4.9385\t5.601\t4.9198\t4.9711\t4.9674\t4.7135\t4.78\t4.888\t4.9157\t4.9604\t4.9639\t4.9033\t4.8436\t4.7897\t4.871\t4.8224\t4.8035\t4.7408\t4.9627\t4.9318\t5.1471\t5.1729\t5.0119\t4.7383\t4.8618\t4.7806\t4.6818\t4.8755\t4.9758\n1405_i_at\t1405_i_at_collapsed\tCCL5\tC-C motif chemokine ligand 5\t147052\t6352\t5.4452\t5.1815\t5.6907\t5.0938\t5.6752\t5.121\t5.8731\t4.9235\t5.0333\t5.0179\t8.4139\t5.3691\t5.516\t4.9412\t5.6315\t4.758\t5.8292\t6.0614\t5.5311\t7.1939\t7.8281\t4.9137\t4.5903\t6.2115\t7.8041\t6.0074\t5.7304\t6.4826\t8.7004\t8.5726\t9.3943\t6.7638\t5.9301\t5.6076\n1431_at\t1431_at_collapsed\tCYP2E1\tcytochrome P450 family 2 subfamily E member 1\t33104\t1571\t3.8357\t3.7918\t3.8725\t3.8444\t3.8142\t3.8356\t3.9912\t3.7955\t3.8791\t3.8172\t3.8016\t3.8793\t3.8674\t3.8844\t3.7936\t3.7149\t3.9306\t3.7555\t3.7919\t3.7646\t3.7422\t3.7627\t3.7409\t3.8532\t3.8988\t4.1843\t4.0179\t4.1031\t3.8357\t3.8252\t3.8331\t3.7994\t4.1635\t3.7985\n1438_at\t1438_at_collapsed\tEPHB3\tEPH receptor B3\t43254\t2049\t6.7774\t6.5141\t6.6158\t6.5813\t6.6212\t6.8403\t7.3128\t6.6126\t6.659\t6.6867\t6.5531\t6.5593\t6.9292\t6.5632\t6.6107\t6.5833\t6.6236\t6.7196\t6.4916\t6.2833\t6.6082\t6.6347\t6.3239\t6.6174\t6.7539\t6.689\t7.1478\t7.0775\t6.772\t6.6523\t6.5891\t6.4019\t6.9996\t6.4729\n1487_at\t1487_at_collapsed\tESRRA\testrogen related receptor alpha\t44096\t2101\t7.776\t7.8337\t7.6923\t8.0144\t7.8732\t7.7621\t7.8187\t7.5107\t7.6478\t7.4898\t7.5515\t7.4533\t7.7246\t7.6886\t7.7484\t7.9294\t7.5594\t7.7236\t7.636\t7.4774\t7.894\t7.4357\t7.7109\t7.6747\t7.7433\t7.7378\t7.6665\t7.1557\t7.6136\t7.5788\t7.5488\t7.5945\t7.54\t7.7664\n"}}},"404":{"description":"Either the dataset or the quantitation type do not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/samples":{"get":{"summary":"Retrieve the samples of a dataset","operationId":"getDatasetSamples","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"quantitationType","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]}},{"name":"useProcessedQuantitationType","in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListBioAssayValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/singleCellDimension":{"get":{"summary":"Retrieve a single-cell dimension of a single-cell dataset","operationId":"getDatasetSingleCellDimension","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"quantitationType","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]}},{"name":"exclude","in":"query","description":"Exclude cell IDs from the output","schema":{"minItems":1,"uniqueItems":true,"type":"array","description":"List of fields to exclude from the payload. If the payload is a list of object, then the exclusion is applicable to all the listed objects.","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectSingleCellDimensionValueObject"}},"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"object"},"example":"sample_id\tcell_id\tcategory\tcategory_uri\tcategory_id\tvalue\tvalue_uri\r\nH48-g2 , Entorhinal cortex\tAAACCCAAGGTCCAGA-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tExcitatory Neurons\t\r\nH48-g2 , Entorhinal cortex\tAAACCCACAGATAAAC-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tExcitatory Neurons\t\r\nH48-g2 , Entorhinal cortex\tAAACCCAGTCCTTAAG-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tOPCs\t\r\nH48-g2 , Entorhinal cortex\tAAACGAAAGCCTCAAT-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tOligodendrocytes\t\r\nH48-g2 , Entorhinal cortex\tAAACGAACAGCGTGAA-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tAstrocytes\t\r\nH48-g2 , Entorhinal cortex\tAAACGAATCCATAGAC-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tOligodendrocytes\t\r\nH48-g2 , Entorhinal cortex\tAAACGAATCTCCCTAG-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tOligodendrocytes\t\r\nH48-g2 , Entorhinal cortex\tAAACGCTAGGCCCAAA-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tExcitatory Neurons\t\r\nH48-g2 , Entorhinal cortex\tAAACGCTAGGTATAGT-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tVascular Cells\t\r\nH48-g2 , Entorhinal cortex\tAAACGCTCAACATACC-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tExcitatory Neurons\t\r\nH48-g2 , Entorhinal cortex\tAAACGCTCAGCTTTCC-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tVascular Cells\t\r\nH48-g2 , Entorhinal cortex\tAAACGCTGTGGTCCCA-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tVascular Cells\t\r\nH48-g2 , Entorhinal cortex\tAAACGCTTCGACACTA-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tExcitatory Neurons\t\r\nH48-g2 , Entorhinal cortex\tAAACGCTTCGGAATGG-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tOligodendrocytes\t\r\nH48-g2 , Entorhinal cortex\tAAAGAACCAAGCGAAC-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tVascular Cells\t\r\nH48-g2 , Entorhinal cortex\tAAAGAACGTTCTAACG-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tExcitatory Neurons\t\r\nH48-g2 , Entorhinal cortex\tAAAGGATAGAAGGATG-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tOligodendrocytes\t\r\nH48-g2 , Entorhinal cortex\tAAAGGATGTTCCCAAA-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tVascular Cells\t\r\nH48-g2 , Entorhinal cortex\tAAAGGATGTTCGGTAT-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tExcitatory Neurons\t\r\n"}}}}}},"/datasets/{dataset}/data/singleCell":{"get":{"summary":"Retrieve single-cell expression data of a dataset","operationId":"getDatasetSingleCellExpression","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"quantitationType","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]}}],"responses":{"200":{"content":{"application/vnd.10xgenomics.mex":{"schema":{"type":"string","description":"Sample files are bundled in a TAR archive according to the 10x MEX format.","format":"binary","externalDocs":{"url":"https://www.10xgenomics.com/support/software/cell-ranger/latest/analysis/outputs/cr-outputs-mex-matrices"}},"example":"38651_GSE199762_600467_10x_MEX_expmat.unfilt.scdata\n├── 1003795_H48-g2_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003796_H29-g2_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003797_H33-g2_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003798_H31_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003799_H69_LGE_region\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003800_H39-g1_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003801_H39-g2_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003802_H33-g1_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003803_H71_EC_stream_region\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003804_H69_MGE_region\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003805_H71_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003806_H69_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003807_H37_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003808_H48-g1_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003809_H46-g2_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003810_H29-g1_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003811_H46-g1_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n└── 1003812_H69_CGE_region\n ├── barcodes.tsv.gz\n ├── features.tsv.gz\n └── matrix.mtx.gz\n\n18 directories, 54 files\n"},"text/tab-separated-values; charset=UTF-8; q=0.9":{"schema":{"type":"string","format":"binary"},"example":"\n\n429 Too Many Requests\n\n

Too Many Requests

\n

The user has sent too many requests\nin a given amount of time.

\n\n"}}},"404":{"description":"Either the dataset or the quantitation type do not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/subSets/{subSet}":{"get":{"summary":"Obtain a specific subset of a dataset","operationId":"getDatasetSubSetById","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"subSet","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectExpressionExperimentSubSetWithGroupsValueObject"}}}}}}},"/datasets/{dataset}/subSetGroups/{subSetGroup}":{"get":{"summary":"Obtain a specific subset group of a dataset","operationId":"getDatasetSubSetGroup","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"subSetGroup","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectExpressionExperimentSubSetGroupValueObject"}}}}}}},"/datasets/{dataset}/subSetGroups":{"get":{"summary":"Obtain all the subset groups of a dataset","operationId":"getDatasetSubSetGroups","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListExpressionExperimentSubSetGroupValueObject"}}}}}}},"/datasets/{dataset}/subSets/{subSet}/samples":{"get":{"summary":"Obtain the samples of a specific subset of a dataset","operationId":"getDatasetSubSetSamples","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"subSet","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListBioAssayValueObject"}}}}}}},"/datasets/{dataset}/subSets":{"get":{"summary":"Obtain all subsets of a dataset","operationId":"getDatasetSubSets","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListExpressionExperimentSubSetWithGroupsValueObject"}}}}}}},"/datasets/{dataset}/svd":{"get":{"summary":"Retrieve the singular value decomposition (SVD) of a dataset expression data","operationId":"getDatasetSvd","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectSimpleSVDValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets":{"get":{"summary":"Retrieve all datasets","operationId":"getDatasets","parameters":[{"name":"query","in":"query","description":"If specified, `sort` will default to `-searchResult.score` instead of `+id`. Note that sorting by `searchResult.score` is only valid if a query is specified.","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionExperiment"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndPaginatedResponseDataObjectExpressionExperimentWithSearchResultValueObject"}}}},"503":{"description":"The search has timed out. This can only occur if the `search` parameter is provided. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/annotations":{"get":{"summary":"Retrieve usage statistics of annotations among datasets matching the provided query and filter","description":"Usage statistics are aggregated across experiment tags, samples and factor values mentioned in the experimental design.","operationId":"getDatasetsAnnotationsUsageStatistics","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"exclude","in":"query","description":"List of fields to exclude from the payload. Only `parentTerms` can be excluded.","schema":{"minItems":1,"uniqueItems":true,"type":"array","description":"List of fields to exclude from the payload. If the payload is a list of object, then the exclusion is applicable to all the listed objects.","items":{"type":"string"}}},{"name":"limit","in":"query","description":"Maximum number of annotations to returned; capped at 5000.","schema":{"maximum":5000,"minimum":1,"type":"integer","format":"int64"}},{"name":"minFrequency","in":"query","description":"Minimum number of associated datasets to report an annotation. If used, the limit will default to 5000.","schema":{"type":"integer","format":"int32"}},{"name":"category","in":"query","description":"A category URI to restrict reported annotations. If unspecified, annotations from all categories are reported. If empty, uncategorized terms are reported.","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndLimitedResponseDataObjectAnnotationWithUsageStatisticsValueObject"}}}},"503":{"description":"The search has timed out. This can only occur if the `search` parameter is provided. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}":{"get":{"summary":"Retrieve datasets by their identifiers","operationId":"getDatasetsByIds","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of dataset IDs or short names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionExperiment"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilteredAndInferredAndPaginatedResponseDataObjectExpressionExperimentValueObject"}}}}}}},"/datasets/categories":{"get":{"summary":"Retrieve usage statistics of categories among datasets matching the provided query and filter","description":"Usage statistics are aggregated across experiment tags, samples and factor values mentioned in the experimental design.","operationId":"getDatasetsCategoriesUsageStatistics","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndLimitedResponseDataObjectCategoryWithUsageStatisticsValueObject"}}}},"503":{"description":"The search has timed out. This can only occur if the `search` parameter is provided. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{datasets}/expressions/differential":{"get":{"summary":"Retrieve the expression levels of a set of datasets subject to a threshold on their differential expressions","operationId":"getDatasetsDifferentialExpression","parameters":[{"name":"datasets","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of dataset IDs or short names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}},{"name":"diffExSet","in":"query","schema":{"type":"integer","format":"int64"}},{"name":"threshold","in":"query","description":"Maximum threshold on the corrected P-value to retain a result. The threshold is inclusive (i.e. 0.05 will match results with corrected P-values lower or equal to 0.05).","schema":{"type":"number","format":"double","default":1.0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":100}},{"name":"keepNonSpecific","in":"query","description":"Keep results from non-specific probes.","schema":{"type":"boolean","default":false}},{"name":"consolidate","in":"query","description":"Strategy for consolidating expression of multiple probes for a given gene.","schema":{"type":"string","description":"An option for gene expression level consolidation.","enum":["pickmax","pickvar","average"]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListExperimentExpressionLevelsValueObject"}}}}}}},"/datasets/analyses/differential/results/genes/{gene}":{"get":{"summary":"Retrieve the differential expression results for a given gene among datasets matching the provided query and filter","description":"Pagination with `offset` and `limit` is done on the datasets, thus `data` will hold a variable number of results.\n\nIf a result set has more than one probe for a given gene, the result corresponding to the lowest corrected P-value is retained. This statistic reflects the goodness of the fit of the linear model for the probe, and not the significance of the contrasts.\n\nResults for non-specific probes (i.e. probes that map to more than one genes) are excluded.","operationId":"getDatasetsDifferentialExpressionAnalysisResultsForGene","parameters":[{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}},{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32"}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32"}},{"name":"threshold","in":"query","description":"Maximum threshold on the corrected P-value to retain a result. The threshold is inclusive (i.e. 0.05 will match results with corrected P-values lower or equal to 0.05).","schema":{"maximum":1.0,"minimum":0.0,"type":"number","format":"double","default":1.0}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndPaginatedResponseDataObjectDifferentialExpressionAnalysisResultByGeneValueObject"}},"text/tab-separated-values; charset=UTF-8; q=0.9":{"schema":{"type":"string","format":"binary"}}}}}}},"/datasets/analyses/differential/results/taxa/{taxon}/genes/{gene}":{"get":{"summary":"Retrieve the differential expression results for a given gene and taxa among datasets matching the provided query and filter","description":"Pagination with `offset` and `limit` is done on the datasets, thus `data` will hold a variable number of results.\n\nIf a result set has more than one probe for a given gene, the result corresponding to the lowest corrected P-value is retained. This statistic reflects the goodness of the fit of the linear model for the probe, and not the significance of the contrasts.\n\nResults for non-specific probes (i.e. probes that map to more than one genes) are excluded.","operationId":"getDatasetsDifferentialExpressionAnalysisResultsForGeneInTaxon","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}},{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32"}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32"}},{"name":"threshold","in":"query","description":"Maximum threshold on the corrected P-value to retain a result. The threshold is inclusive (i.e. 0.05 will match results with corrected P-values lower or equal to 0.05).","schema":{"maximum":1.0,"minimum":0.0,"type":"number","format":"double","default":1.0}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndPaginatedResponseDataObjectDifferentialExpressionAnalysisResultByGeneValueObject"}},"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"string","format":"binary"}}}}}}},"/datasets/expressions/genes/{gene}":{"get":{"summary":"Retrieve the expression levels of a gene among datasets matching the provided query and filter","operationId":"getDatasetsExpressionLevelsForGene","parameters":[{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}},{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"keepNonSpecific","in":"query","schema":{"type":"boolean","default":false}},{"name":"consolidate","in":"query","schema":{"type":"string","description":"An option for gene expression level consolidation.","enum":["pickmax","pickvar","average"]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponseDataObjectExperimentExpressionLevelsValueObject"}}}}}}},"/datasets/expressions/taxa/{taxon}/genes/{gene}":{"get":{"summary":"Retrieve the expression levels of a gene and taxa among datasets matching the provided query and filter","operationId":"getDatasetsExpressionLevelsForGeneInTaxon","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}},{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"keepNonSpecific","in":"query","schema":{"type":"boolean","default":false}},{"name":"consolidate","in":"query","schema":{"type":"string","description":"An option for gene expression level consolidation.","enum":["pickmax","pickvar","average"]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponseDataObjectExperimentExpressionLevelsValueObject"}}}}}}},"/datasets/{datasets}/expressions/genes/{genes}":{"get":{"summary":"Retrieve the expression data matrix of a set of datasets and genes","operationId":"getDatasetsExpressionLevelsForGenes","parameters":[{"name":"datasets","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of dataset IDs or short names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}},{"name":"genes","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of NCBI IDs, Ensembl IDs or gene symbols. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}},{"name":"keepNonSpecific","in":"query","schema":{"type":"boolean","default":false}},{"name":"consolidate","in":"query","schema":{"type":"string","description":"An option for gene expression level consolidation.","enum":["pickmax","pickvar","average"]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListExperimentExpressionLevelsValueObject"}}}}}}},"/datasets/{datasets}/expressions/taxa/{taxon}/genes/{genes}":{"get":{"summary":"Retrieve the expression data matrix of a set of datasets and genes","operationId":"getDatasetsExpressionLevelsForGenesInTaxon","parameters":[{"name":"datasets","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of dataset IDs or short names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}},{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"genes","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of NCBI IDs, Ensembl IDs or gene symbols. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}},{"name":"keepNonSpecific","in":"query","schema":{"type":"boolean","default":false}},{"name":"consolidate","in":"query","schema":{"type":"string","description":"An option for gene expression level consolidation.","enum":["pickmax","pickvar","average"]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListExperimentExpressionLevelsValueObject"}}}}}}},"/datasets/{datasets}/expressions/pca":{"get":{"summary":"Retrieve the principal components (PCA) of a set of datasets","operationId":"getDatasetsExpressionPca","parameters":[{"name":"datasets","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of dataset IDs or short names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}},{"name":"component","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":100}},{"name":"keepNonSpecific","in":"query","schema":{"type":"boolean","default":false}},{"name":"consolidate","in":"query","schema":{"type":"string","description":"An option for gene expression level consolidation.","enum":["pickmax","pickvar","average"]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListExperimentExpressionLevelsValueObject"}}}}}}},"/datasets/platforms":{"get":{"summary":"Retrieve usage statistics of platforms among datasets matching the provided query and filter","description":"Usage statistics are aggregated across experiment tags, samples and factor values mentioned in the experimental design.","operationId":"getDatasetsPlatformsUsageStatistics","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":50}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndLimitedResponseDataObjectArrayDesignWithUsageStatisticsValueObject"}}}},"503":{"description":"The search has timed out. This can only occur if the `search` parameter is provided. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/taxa":{"get":{"summary":"Retrieve taxa usage statistics for datasets matching the provided query and filter","operationId":"getDatasetsTaxaUsageStatistics","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredResponseDataObjectTaxonWithUsageStatisticsValueObject"}}}},"503":{"description":"The search has timed out. This can only occur if the `search` parameter is provided. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/count":{"get":{"summary":"Count datasets matching the provided query and filter","operationId":"getNumberOfDatasets","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectLong"}}}},"503":{"description":"The search has timed out. This can only occur if the `search` parameter is provided. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/refresh":{"get":{"summary":"Retrieve a refreshed dataset","operationId":"refreshDataset","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"refreshVectors","in":"query","description":"Refresh processed data vectors.","schema":{"type":"boolean","default":false}},{"name":"refreshReports","in":"query","description":"Refresh experiment reports which include differential expression analyses and batch effects.","schema":{"type":"boolean","default":false}}],"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectExpressionExperimentValueObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/annotations/refresh":{"get":{"summary":"Retrieve refreshed dataset annotations.","operationId":"refreshDatasetsAnnotations","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"exclude","in":"query","description":"List of fields to exclude from the payload. Only `parentTerms` can be excluded.","schema":{"minItems":1,"uniqueItems":true,"type":"array","description":"List of fields to exclude from the payload. If the payload is a list of object, then the exclusion is applicable to all the listed objects.","items":{"type":"string"}}},{"name":"limit","in":"query","description":"Maximum number of annotations to returned; capped at 5000.","schema":{"maximum":5000,"minimum":1,"type":"integer","format":"int64"}},{"name":"minFrequency","in":"query","description":"Minimum number of associated datasets to report an annotation. If used, the limit will default to 5000.","schema":{"type":"integer","format":"int32"}},{"name":"category","in":"query","description":"A category URI to restrict reported annotations. If unspecified, annotations from all categories are reported. If empty, uncategorized terms are reported.","schema":{"type":"string"}}],"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndLimitedResponseDataObjectAnnotationWithUsageStatisticsValueObject"}}}}}}},"/datasets/platforms/refresh":{"get":{"summary":"Retrieve refreshed experiment-to-platform associations.","operationId":"refreshDatasetsPlatforms","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":50}}],"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndLimitedResponseDataObjectArrayDesignWithUsageStatisticsValueObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/genes/{gene}/goTerms":{"get":{"summary":"Retrieve the GO terms associated to a gene","operationId":"getGeneGoTerms","parameters":[{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListGeneOntologyTermValueObject"}}}}}}},"/genes/{gene}/locations":{"get":{"summary":"Retrieve the physical locations of a given gene","operationId":"getGeneLocations","parameters":[{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListPhysicalLocationValueObject"}}}}}}},"/genes/{gene}/probes":{"get":{"summary":"Retrieve the probes associated to a genes across all platforms","operationId":"getGeneProbes","parameters":[{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponseDataObjectCompositeSequenceValueObject"}}}}}}},"/genes":{"get":{"summary":"Retrieve all genes","operationId":"getGenes","parameters":[{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponseDataObjectGeneValueObject"}}}}}}},"/genes/{genes}":{"get":{"summary":"Retrieve genes matching gene identifiers","operationId":"getGenesByIds","parameters":[{"name":"genes","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of NCBI IDs, Ensembl IDs or gene symbols. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListGeneValueObject"}}}}}}},"/genes/probes/refresh":{"get":{"summary":"Refresh gene-to-probe associations.","operationId":"refreshGenesProbes","responses":{"200":{"description":"default response","content":{"*/*":{}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/platforms/count":{"get":{"summary":"Count platforms matching the provided filter","operationId":"getNumberOfPlatforms","parameters":[{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgArrayDesign"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectLong"}}}}}}},"/platforms/{platform}/annotations":{"get":{"summary":"Retrieve the annotations of a given platform","description":"The following columns are available: ElementName, GeneSymbols, GOTerms, GemmaIDs, NCBIids. Older files might still use ProbeName instead of ElementName.","operationId":"getPlatformAnnotations","parameters":[{"name":"platform","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}}],"responses":{"200":{"content":{"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"string","format":"binary"},"example":"# Annotation file generated by Gemma\n# Generated 10/27/2023\n# If you use this file for your research, please cite: \n# Lim et al. (2021) Curation of over 10 000 transcriptomic studies to enable data reuse. \n# Database, baab006 (doi:10.1093/database/baab006). \n# Gemma link for this platform: https://gemma.msl.ubc.ca/arrays/showArrayDesign.html?id=2\n# GPL1355 Affymetrix GeneChip Rat Genome 230 2.0 Array\n# Rattus norvegicus\nProbeName\tGeneSymbols\tGeneNames\tGOTerms\tGemmaIDs\tNCBIids\n1391127_at\t\t\t\t\t\n1387788_at\tJunb\tJunB proto-oncogene, AP-1 transcription factor subunit\tGO:0014070|GO:0032570|GO:0005515|GO:0036294|GO:0042127|GO:0110165|GO:0009891|GO:0019438|GO:0048522|GO:0051173|GO:2001141|GO:0048568|GO:0090575|GO:0048609|GO:1901360|GO:0050896|GO:0051252|GO:0006807|GO:0032991|GO:0051384|GO:0009605|GO:0019219|GO:1990837|GO:0071248|GO:0051171|GO:0032774|GO:1901576|GO:0045597|GO:1901698|GO:0001067|GO:0034641|GO:0050789|GO:0009893|GO:0080090|GO:0007565|GO:0048545|GO:0050794|GO:1902075|GO:0051385|GO:0045944|GO:0009628|GO:0003674|GO:0009410|GO:0010033|GO:0006139|GO:0006725|GO:0007275|GO:0044271|GO:1902074|GO:0000987|GO:0001649|GO:0060716|GO:0043565|GO:0032870|GO:0071704|GO:0009790|GO:0046697|GO:0009416|GO:0006950|GO:0033554|GO:0001666|GO:0005654|GO:0022414|GO:0010038|GO:0009058|GO:0070661|GO:0072724|GO:0003677|GO:0090304|GO:0044706|GO:0033993|GO:0005575|GO:0001570|GO:0008283|GO:0005667|GO:0042221|GO:0016070|GO:0070887|GO:0043170|GO:0051726|GO:0140110|GO:1901700|GO:0044703|GO:0030316|GO:0010468|GO:0009889|GO:0045935|GO:1901654|GO:0000978|GO:0051592|GO:0140513|GO:0043009|GO:0006357|GO:0001216|GO:0008134|GO:0009725|GO:0031960|GO:0000981|GO:0019222|GO:0071453|GO:0065007|GO:1901701|GO:0002573|GO:1901652|GO:0070482|GO:0071310|GO:0050793|GO:0003700|GO:0006366|GO:0002158|GO:0003006|GO:0008152|GO:0009314|GO:0009987|GO:1902680|GO:0009719|GO:0009059|GO:0001228|GO:0048869|GO:0031328|GO:0009888|GO:0071277|GO:0009612|GO:0010557|GO:0031325|GO:0006355|GO:0044237|GO:0009792|GO:0008150|GO:0048513|GO:0035976|GO:0043434|GO:0060255|GO:0033687|GO:0045595|GO:0036293|GO:1901362|GO:0001829|GO:0048856|GO:0051254|GO:0060136|GO:0071241|GO:0045893|GO:0000976|GO:0032501|GO:0005488|GO:0010243|GO:0071495|GO:0010604|GO:0051412|GO:0010556|GO:0034097|GO:0000977|GO:0003676|GO:0032502|GO:0001701|GO:0044249|GO:0046483|GO:0051716|GO:0031326|GO:0002521|GO:0006351|GO:0071456|GO:0031323|GO:0051591|GO:0001568|GO:0048518|GO:0097159|GO:0030154|GO:0030099|GO:0051094|GO:0014074|GO:0046683|GO:0003690|GO:0018130|GO:0034654|GO:0060674|GO:0097305|GO:0044238|GO:0010035\t938780\t24517\n1397577_at\t\t\t\t\t\n1397945_at\tCcn6\tcellular communication network factor 6\tGO:0005615|GO:0008285|GO:0065007|GO:0005515|GO:0043226|GO:1901342|GO:0042127|GO:0050839|GO:1901681|GO:0110165|GO:0005178|GO:0051241|GO:0044877|GO:1901343|GO:2000181|GO:0050793|GO:0031012|GO:0043229|GO:0009987|GO:0065008|GO:0050789|GO:0043227|GO:2000377|GO:0050794|GO:0016525|GO:0048519|GO:0008150|GO:0003674|GO:0051881|GO:0048523|GO:0042391|GO:0043231|GO:1903426|GO:0007165|GO:0051239|GO:0005102|GO:0030312|GO:2000026|GO:0005488|GO:0051093|GO:0045765|GO:0097367|GO:0005575|GO:0022603|GO:0008201|GO:0031323|GO:0009889|GO:0005739|GO:0005539|GO:0007155|GO:0019222\t1058532\t499461\n1368722_at\tLta\tlymphotoxin alpha\tGO:0008285|GO:0005515|GO:0043067|GO:0002682|GO:0008284|GO:0042127|GO:0002706|GO:0010628|GO:0110165|GO:0002874|GO:0009891|GO:0002925|GO:0048522|GO:0048534|GO:0098772|GO:0002678|GO:0050896|GO:0048583|GO:0009605|GO:0050729|GO:0009991|GO:0031349|GO:0002676|GO:0005126|GO:0002237|GO:0080134|GO:0016020|GO:0045597|GO:0050789|GO:0002822|GO:0009893|GO:0060251|GO:0032496|GO:0002684|GO:0002922|GO:0002861|GO:0009607|GO:0050794|GO:0048519|GO:0002699|GO:0009628|GO:0003674|GO:0009410|GO:0010033|GO:0060284|GO:0031347|GO:0002923|GO:0042981|GO:0050778|GO:0002863|GO:0002891|GO:0006950|GO:0048584|GO:0005102|GO:0001666|GO:2000026|GO:0010720|GO:0051707|GO:0051962|GO:0140677|GO:0002708|GO:0033993|GO:0002824|GO:0050769|GO:0005575|GO:0032729|GO:0042221|GO:0006955|GO:1901700|GO:0010468|GO:0009889|GO:0002876|GO:0032101|GO:0043068|GO:0032649|GO:0002821|GO:0060252|GO:0019222|GO:0005615|GO:0065007|GO:0006959|GO:0001819|GO:0042742|GO:0070482|GO:0005164|GO:0050793|GO:0051240|GO:0002705|GO:0009987|GO:0007584|GO:0031328|GO:0030545|GO:0030546|GO:0050830|GO:0032813|GO:0043065|GO:0010557|GO:0031325|GO:0001817|GO:0002697|GO:0002712|GO:0014015|GO:0051960|GO:0002714|GO:0008150|GO:0048513|GO:0044419|GO:0050776|GO:0060255|GO:0048523|GO:0002819|GO:0045595|GO:0005125|GO:0036293|GO:0050727|GO:0002920|GO:0048856|GO:0002889|GO:0043207|GO:0007165|GO:0051239|GO:0048145|GO:0050767|GO:0002703|GO:0005488|GO:0010604|GO:0010556|GO:0032502|GO:0014013|GO:0031326|GO:0031323|GO:0009617|GO:0048518|GO:0002376|GO:0048018|GO:0031667|GO:0051094|GO:0048535|GO:0032103|GO:0048147|GO:0006952|GO:0098542\t942120\t25008\n1386320_at\t\t\t\t\t\n1382859_at\t\t\t\t\t\n1373040_at\tEif3f\teukaryotic translation initiation factor 3, subunit F\tGO:0005515|GO:0140096|GO:0045202|GO:0110165|GO:0140492|GO:0016282|GO:0070993|GO:0071826|GO:0008234|GO:0022607|GO:0016043|GO:0032991|GO:0016032|GO:0008152|GO:0005488|GO:0009987|GO:0004843|GO:0075522|GO:0008237|GO:0090079|GO:0003676|GO:0071840|GO:0003743|GO:0001732|GO:0005575|GO:0030054|GO:0043933|GO:0006413|GO:0031369|GO:0016787|GO:0065003|GO:0097159|GO:0044237|GO:0045182|GO:0003824|GO:0008150|GO:0022618|GO:0008135|GO:0042802|GO:0008233|GO:0003674|GO:0101005|GO:0005852|GO:0071541|GO:0019783|GO:0033290|GO:1990904\t994174\t293427\n1373407_at\t\t\t\t\t\n1368354_at\tGstt1\tglutathione S-transferase theta 1\tGO:0014070|GO:0110165|GO:0016684|GO:0043412|GO:0005737|GO:0016491|GO:1901360|GO:0098754|GO:0050896|GO:0006807|GO:0009605|GO:0008152|GO:0009987|GO:0007584|GO:0009991|GO:0004364|GO:0047651|GO:0033273|GO:0006259|GO:0034641|GO:0010269|GO:0019120|GO:0033197|GO:0016740|GO:0098869|GO:0044237|GO:0006749|GO:0003824|GO:0004601|GO:0008150|GO:0003674|GO:0009410|GO:0018900|GO:0006139|GO:0006725|GO:0010033|GO:1990748|GO:0004602|GO:0016209|GO:0071704|GO:0006304|GO:0016824|GO:0006805|GO:0090304|GO:0005575|GO:0009751|GO:0046483|GO:0042221|GO:0043170|GO:1901700|GO:0016787|GO:0016765|GO:0005829|GO:0042197|GO:0031667|GO:0044238|GO:0010035\t943978\t25260\n1386248_at\t\t\t\t\t\n"}}}}}},"/platforms/{platform}/datasets":{"get":{"summary":"Retrieve all experiments using a given platform","operationId":"getPlatformDatasets","parameters":[{"name":"platform","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponseDataObjectExpressionExperimentValueObject"}}}}}}},"/platforms/{platform}/elements/{probes}":{"get":{"summary":"Retrieve the selected probes for a given platform","operationId":"getPlatformElement","parameters":[{"name":"platform","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}},{"name":"probes","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of element IDs or names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A composite sequence numerical identifier.","format":"int64"},{"type":"string","description":"A composite sequence name."}]}}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilteredAndPaginatedResponseDataObjectCompositeSequenceValueObject"}}}}}}},"/platforms/{platform}/elements/{probe}/genes":{"get":{"summary":"Retrieve the genes associated to a probe in a given platform","operationId":"getPlatformElementGenes","parameters":[{"name":"platform","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}},{"name":"probe","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A composite sequence numerical identifier.","format":"int64"},{"type":"string","description":"A composite sequence name."}]}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilteredAndPaginatedResponseDataObjectGeneValueObject"}}}}}}},"/platforms/{platform}/elements":{"get":{"summary":"Retrieve the probes for a given platform","operationId":"getPlatformElements","parameters":[{"name":"platform","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponseDataObjectCompositeSequenceValueObject"}}}}}}},"/platforms":{"get":{"summary":"Retrieve all platforms","operationId":"getPlatforms","parameters":[{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgArrayDesign"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgArrayDesign"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilteredAndPaginatedResponseDataObjectArrayDesignValueObject"}}}}}}},"/platforms/{platform}":{"get":{"summary":"Retrieve all platforms matching a set of platform identifiers","operationId":"getPlatformsByIds","parameters":[{"name":"platform","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of platform IDs or short names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgArrayDesign"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgArrayDesign"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilteredAndPaginatedResponseDataObjectArrayDesignValueObject"}}}}}}},"/":{"get":{"summary":"Retrieve an object with basic API information","description":"The payload contains a list of featured external databases that Gemma uses under the `externalDatabases` field. Those are mainly genomic references and sources of gene annotations.","operationId":"getApiInfo","responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectApiInfoValueObject"}}}}}}},"/search":{"get":{"summary":"Search everything in Gemma","operationId":"search","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"taxon","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"platform","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}},{"name":"resultTypes","in":"query","schema":{"type":"array","items":{"type":"string","enum":["ubic.gemma.model.expression.arrayDesign.ArrayDesign","ubic.gemma.model.expression.designElement.CompositeSequence","ubic.gemma.model.genome.gene.GeneSet","ubic.gemma.model.expression.experiment.ExpressionExperiment","ubic.gemma.model.analysis.expression.ExpressionExperimentSet","ubic.gemma.model.blacklist.BlacklistedEntity","ubic.gemma.model.common.description.BibliographicReference","ubic.gemma.model.genome.Gene","ubic.gemma.model.genome.biosequence.BioSequence"]}}},{"name":"limit","in":"query","description":"Maximum number of search results to return; capped at 2000 unless `resultObject` is excluded.","schema":{"maximum":2000,"minimum":1,"type":"integer","format":"int64"}},{"name":"exclude","in":"query","description":"List of fields to exclude from the payload. Only `resultObject` is supported.","schema":{"minItems":1,"uniqueItems":true,"type":"array","description":"List of fields to exclude from the payload. If the payload is a list of object, then the exclusion is applicable to all the listed objects.","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResultsResponseDataObject"}}}},"400":{"description":"Invalid search query, taxon, platform result type or exclusion specification.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"The search timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/taxa":{"get":{"summary":"Retrieve all available taxa","operationId":"getTaxa","responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListTaxonValueObject"}}}}}}},"/taxa/{taxa}":{"get":{"summary":"Retrieve taxa by their identifiers","operationId":"getTaxaByIds","parameters":[{"name":"taxa","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of taxon IDs, NCBI IDs, common names or scientific names.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListTaxonValueObject"}}}}}}},"/taxa/{taxon}/datasets":{"get":{"summary":"Retrieve the datasets for a given taxon","operationId":"getTaxonDatasets","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionExperiment"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilteredAndPaginatedResponseDataObjectExpressionExperimentValueObject"}}}}}}},"/taxa/{taxon}/genes/{gene}/goTerms":{"get":{"summary":"Retrieve the GO terms associated to a gene in a given taxon","operationId":"getTaxonGeneGoTerms","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListGeneOntologyTermValueObject"}}}}}}},"/taxa/{taxon}/genes/{gene}/locations":{"get":{"summary":"Retrieve physical locations for a given gene and taxon","operationId":"getTaxonGeneLocations","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListPhysicalLocationValueObject"}}}}}}},"/taxa/{taxon}/genes/{gene}/probes":{"get":{"summary":"Retrieve the probes associated to a genes across all platforms in a given taxon","operationId":"getTaxonGeneProbes","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponseDataObjectCompositeSequenceValueObject"}}}}}}},"/taxa/{taxon}/genes":{"get":{"summary":"Retrieve all genes in a given taxon","operationId":"getTaxonGenes","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponseDataObjectGeneValueObject"}}}}}}},"/taxa/{taxon}/genes/{gene}":{"get":{"summary":"Retrieve genes matching gene identifiers in a given taxon","operationId":"getTaxonGenesByIds","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"gene","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of NCBI IDs, Ensembl IDs or gene symbols. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListGeneValueObject"}}}}}}},"/taxa/{taxon}/chromosomes/{chromosome}/genes":{"get":{"summary":"Retrieve genes overlapping a given region in a taxon","operationId":"getTaxonGenesOverlappingChromosome","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"chromosome","in":"path","required":true,"schema":{"type":"string"}},{"name":"strand","in":"query","schema":{"type":"string"}},{"name":"start","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"size","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListGeneValueObject"}}}}}}}},"components":{"schemas":{"ResponseDataObjectLong":{"type":"object","properties":{"data":{"type":"integer","format":"int64"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"WellComposedWarning":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"},"location":{"type":"string"},"locationType":{"type":"string","enum":["HEADERS","QUERY","BODY"]}}},"FilterArgExpressionAnalysisResultSet":{"type":"string","description":"Filter results by matching the expression. The exact syntax is described in the attached external documentation. The filter value may be compressed with gzip and encoded with base64.\n\nAvailable properties:\n\n- analysis.experimentAnalyzed.id `integer`\n- analysis.experimentAnalyzed.name `string`\n- analysis.id `integer`\n- analysis.numberOfElementsAnalyzed `integer`\n- analysis.resultSets.size `integer`\n- analysis.subsetFactorValue.characteristics.category `string`\n- analysis.subsetFactorValue.characteristics.categoryUri `string`\n- analysis.subsetFactorValue.characteristics.evidenceCode `string` (possible values: IC, IDA, IEA, IEP, IGI, IMP, IPI, ISS, NAS, ND, RCA, TAS, NR, EXP, ISA, ISM, IGC, ISO, IIA, IBA, IBD, IKR, IRD, IMR, IED, IAGP, IPM, QTM, HDA, HEP, HGI, HMP, HTP, OTHER)\n- analysis.subsetFactorValue.characteristics.id `integer`\n- analysis.subsetFactorValue.characteristics.name `string`\n- analysis.subsetFactorValue.characteristics.size `integer`\n- analysis.subsetFactorValue.characteristics.value `string`\n- analysis.subsetFactorValue.characteristics.valueUri `string`\n- analysis.subsetFactorValue.id `integer`\n- baselineGroup.characteristics.category `string`\n- baselineGroup.characteristics.categoryUri `string`\n- baselineGroup.characteristics.evidenceCode `string` (possible values: IC, IDA, IEA, IEP, IGI, IMP, IPI, ISS, NAS, ND, RCA, TAS, NR, EXP, ISA, ISM, IGC, ISO, IIA, IBA, IBD, IKR, IRD, IMR, IED, IAGP, IPM, QTM, HDA, HEP, HGI, HMP, HTP, OTHER)\n- baselineGroup.characteristics.id `integer`\n- baselineGroup.characteristics.name `string`\n- baselineGroup.characteristics.size `integer`\n- baselineGroup.characteristics.value `string`\n- baselineGroup.characteristics.valueUri `string`\n- baselineGroup.experimentalFactor.id `integer`\n- baselineGroup.experimentalFactor.name `string`\n- baselineGroup.experimentalFactor.type `string` (possible values: CONTINUOUS, CATEGORICAL)\n- baselineGroup.id `integer`\n- baselineGroup.measurement.id `integer`\n- baselineGroup.measurement.kindCV `string` (possible values: TIME, DISTANCE, TEMPERATURE, QUANTITY, MASS, VOLUME, CONC, OTHER, COUNT)\n- baselineGroup.measurement.otherKind `string`\n- baselineGroup.measurement.representation `string` (possible values: FLOAT, DOUBLE, INT, LONG, CHAR, BOOLEAN, STRING)\n- baselineGroup.measurement.type `string` (possible values: ABSOLUTE, CHANGE)\n- baselineGroup.measurement.value `string`\n- id `integer`\n- numberOfGenesTested `integer`\n- numberOfProbesTested `integer`\n- results.size `integer`","externalDocs":{"url":"https://gemma.msl.ubc.ca/resources/apidocs/ubic/gemma/rest/util/args/FilterArg.html"},"x-gemma-filterable-properties":[{"name":"analysis.experimentAnalyzed.id","type":"integer"},{"name":"analysis.experimentAnalyzed.name","type":"string"},{"name":"analysis.id","type":"integer"},{"name":"analysis.numberOfElementsAnalyzed","type":"integer"},{"name":"analysis.resultSets.size","type":"integer"},{"name":"analysis.subsetFactorValue.characteristics.category","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.categoryUri","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.evidenceCode","type":"string","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"analysis.subsetFactorValue.characteristics.id","type":"integer"},{"name":"analysis.subsetFactorValue.characteristics.name","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.size","type":"integer"},{"name":"analysis.subsetFactorValue.characteristics.value","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.valueUri","type":"string"},{"name":"analysis.subsetFactorValue.id","type":"integer"},{"name":"baselineGroup.characteristics.category","type":"string"},{"name":"baselineGroup.characteristics.categoryUri","type":"string"},{"name":"baselineGroup.characteristics.evidenceCode","type":"string","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"baselineGroup.characteristics.id","type":"integer"},{"name":"baselineGroup.characteristics.name","type":"string"},{"name":"baselineGroup.characteristics.size","type":"integer"},{"name":"baselineGroup.characteristics.value","type":"string"},{"name":"baselineGroup.characteristics.valueUri","type":"string"},{"name":"baselineGroup.experimentalFactor.id","type":"integer"},{"name":"baselineGroup.experimentalFactor.name","type":"string"},{"name":"baselineGroup.experimentalFactor.type","type":"string","allowedValues":[{"value":"CONTINUOUS","label":"CONTINUOUS"},{"value":"CATEGORICAL","label":"CATEGORICAL"}]},{"name":"baselineGroup.id","type":"integer"},{"name":"baselineGroup.measurement.id","type":"integer"},{"name":"baselineGroup.measurement.kindCV","type":"string","allowedValues":[{"value":"TIME","label":"Time"},{"value":"DISTANCE","label":"Distance"},{"value":"TEMPERATURE","label":"Temperature"},{"value":"QUANTITY","label":"Quantity"},{"value":"MASS","label":"Mass"},{"value":"VOLUME","label":"Volume"},{"value":"CONC","label":"Concentration"},{"value":"OTHER","label":"Other"},{"value":"COUNT","label":"Count"}]},{"name":"baselineGroup.measurement.otherKind","type":"string"},{"name":"baselineGroup.measurement.representation","type":"string","allowedValues":[{"value":"FLOAT","label":"FLOAT"},{"value":"DOUBLE","label":"Double"},{"value":"INT","label":"Integer"},{"value":"LONG","label":"Long"},{"value":"CHAR","label":"Character"},{"value":"BOOLEAN","label":"Boolean"},{"value":"STRING","label":"String"}]},{"name":"baselineGroup.measurement.type","type":"string","allowedValues":[{"value":"ABSOLUTE","label":"Absolute"},{"value":"CHANGE","label":"Change"}]},{"name":"baselineGroup.measurement.value","type":"string"},{"name":"id","type":"integer"},{"name":"numberOfGenesTested","type":"integer"},{"name":"numberOfProbesTested","type":"integer"},{"name":"results.size","type":"integer"}]},"CharacteristicValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"category":{"type":"string"},"categoryUri":{"type":"string"},"value":{"type":"string"},"valueUri":{"type":"string"},"valueId":{"type":"string"}}},"ContrastResultValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"pvalue":{"type":"number","format":"double"},"coefficient":{"type":"number","format":"double"},"logFoldChange":{"type":"number","format":"double"},"factorValueId":{"type":"integer","description":"This property is mutually exclusive with `factorValue`.","format":"int64"},"factorValue":{"$ref":"#/components/schemas/FactorValueBasicValueObject"},"secondFactorValueId":{"type":"integer","description":"This property is mutually exclusive with `secondFactorValue`.","format":"int64"},"secondFactorValue":{"$ref":"#/components/schemas/FactorValueBasicValueObject"},"tstat":{"type":"number","format":"double"}}},"DatabaseEntryValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"accession":{"type":"string"},"externalDatabase":{"$ref":"#/components/schemas/ExternalDatabaseValueObject"}}},"DiffExResultSetSummaryValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"arrayDesignsUsed":{"type":"array","items":{"type":"integer","format":"int64"}},"baselineGroup":{"$ref":"#/components/schemas/FactorValueValueObject"},"experimentalFactors":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentalFactorValueObject"}},"numberOfGenesAnalyzed":{"type":"integer","format":"int32"},"numberOfProbesAnalyzed":{"type":"integer","format":"int32"},"threshold":{"type":"number","format":"double"},"numberOfDiffExpressedProbes":{"type":"integer","format":"int32"},"upregulatedCount":{"type":"integer","format":"int32"},"downregulatedCount":{"type":"integer","format":"int32"},"qvalue":{"type":"number","format":"double"},"numberOfUpregulatedProbes":{"type":"integer","format":"int32"},"numberOfDownregulatedProbes":{"type":"integer","format":"int32"}}},"DifferentialExpressionAnalysisResultSetValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"analysis":{"$ref":"#/components/schemas/DifferentialExpressionAnalysisValueObject"},"experimentalFactors":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentalFactorValueObject"}},"baselineGroup":{"$ref":"#/components/schemas/FactorValueBasicValueObject"},"secondBaselineGroup":{"$ref":"#/components/schemas/FactorValueBasicValueObject"},"taxa":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/TaxonValueObject"}},"results":{"type":"array","items":{"$ref":"#/components/schemas/DifferentialExpressionAnalysisResultValueObject"}}}},"DifferentialExpressionAnalysisResultValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"probeId":{"type":"integer","format":"int64"},"probeName":{"type":"string"},"genes":{"type":"array","items":{"$ref":"#/components/schemas/GeneValueObject"}},"correctedPvalue":{"type":"number","format":"double"},"rank":{"type":"number","format":"double"},"contrasts":{"type":"array","items":{"$ref":"#/components/schemas/ContrastResultValueObject"}},"pvalue":{"type":"number","format":"double"}}},"DifferentialExpressionAnalysisValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"protocol":{"$ref":"#/components/schemas/ProtocolValueObject"},"factorValuesUsed":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/FactorValueValueObject"}}},"resultSets":{"type":"array","items":{"$ref":"#/components/schemas/DiffExResultSetSummaryValueObject"}},"arrayDesignsUsed":{"type":"array","items":{"type":"integer","format":"int64"}},"experimentAnalyzedId":{"type":"integer","format":"int64"},"sourceExperimentId":{"type":"integer","format":"int64"},"subsetFactor":{"$ref":"#/components/schemas/ExperimentalFactorValueObject"},"subsetFactorId":{"type":"integer","format":"int64"},"subsetFactorValue":{"$ref":"#/components/schemas/FactorValueValueObject"},"subsetFactorValueId":{"type":"integer","description":"This property is mutually exclusive with `subsetFactorValue`.","format":"int64"},"sourceExperiment":{"type":"integer","description":"This is deprecated, use sourceExperimentId instead.","format":"int64","deprecated":true},"factorValuesUsedByExperimentalFactorId":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/FactorValueValueObject"}}},"bioAssaySetId":{"type":"integer","description":"This is deprecated, use experimentAnalyzedId instead.","format":"int64","deprecated":true},"isSubset":{"type":"boolean","description":"Indicate if this analysis is a subset of another experiment. if this is set, additional fields relevant to the subset will be populated."}}},"ExperimentalFactorValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["categorical","continuous"]},"category":{"type":"string"},"categoryUri":{"type":"string"},"factorValues":{"type":"string","description":"This is deprecated, use `values` directly instead.","deprecated":true},"values":{"type":"array","items":{"$ref":"#/components/schemas/FactorValueValueObject"}}}},"ExternalDatabaseValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string"},"uri":{"type":"string"},"releaseVersion":{"type":"string"},"releaseUrl":{"type":"string","format":"url"},"lastUpdated":{"type":"string","format":"date-time"},"externalDatabases":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/ExternalDatabaseValueObject"}}}},"FactorValueBasicValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"ontologyId":{"type":"string"},"experimentalFactorId":{"type":"integer","description":"This property is not filled if rendered within an ExperimentalFactorValueObject.","format":"int64"},"experimentalFactorType":{"type":"string","description":"This property is not filled if rendered within an ExperimentalFactorValueObject.","enum":["categorical","continuous"]},"experimentalFactorCategory":{"$ref":"#/components/schemas/CharacteristicValueObject"},"characteristics":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"statements":{"type":"array","items":{"$ref":"#/components/schemas/StatementValueObject"}},"summary":{"type":"string"},"value":{"type":"string","description":"Use `summary` if you need a human-readable representation of this factor value or lookup the `characteristics` bag.","deprecated":true},"measurement":{"$ref":"#/components/schemas/MeasurementValueObject"},"isMeasurement":{"type":"boolean","description":"Indicate if this factor value represents a measurement. When this is true, the `measurement` field will be populated."}}},"FactorValueValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"ontologyId":{"type":"string"},"experimentalFactorId":{"type":"integer","description":"This property is not filled if rendered within an ExperimentalFactorValueObject.","format":"int64"},"experimentalFactorType":{"type":"string","description":"This property is not filled if rendered within an ExperimentalFactorValueObject.","enum":["categorical","continuous"]},"experimentalFactorCategory":{"$ref":"#/components/schemas/CharacteristicValueObject"},"characteristics":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"statements":{"type":"array","items":{"$ref":"#/components/schemas/StatementValueObject"}},"summary":{"type":"string"},"factorId":{"type":"integer","description":"Use `experimentalFactorId` instead.","format":"int64","deprecated":true},"category":{"type":"string","description":"Use experimentalFactorCategory.category instead.","deprecated":true},"categoryUri":{"type":"string","description":"Use experimentalFactorCategory.categoryUri instead.","deprecated":true},"description":{"type":"string","description":"Use `summary` if you need a human-readable representation of this factor value or lookup the `characteristics` bag.","deprecated":true},"factorValue":{"type":"string","description":"Use `summary` if you need a human-readable representation of this factor value or lookup the `characteristics` bag.","deprecated":true},"measurement":{"$ref":"#/components/schemas/MeasurementValueObject"},"isMeasurement":{"type":"boolean","description":"Indicate if this factor value represents a measurement. When this is true, the `measurement` field will be populated."}}},"GeneValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"aliases":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"multifunctionalityRank":{"type":"number","format":"double"},"ncbiId":{"type":"integer","format":"int32"},"ensemblId":{"type":"string"},"accessions":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/DatabaseEntryValueObject"}},"officialName":{"type":"string"},"officialSymbol":{"type":"string"},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"},"taxonId":{"type":"integer","description":"This property is mutually exclusive with `taxon`.","format":"int64"}}},"MeasurementValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"value":{"type":"string"},"unit":{"type":"string"},"type":{"type":"string","enum":["ABSOLUTE","CHANGE"]},"representation":{"type":"string","enum":["FLOAT","DOUBLE","INT","LONG","CHAR","BOOLEAN","STRING"]}},"description":"This property exists only if this factor value is a measurement."},"PaginatedResultsResponseDataObjectDifferentialExpressionAnalysisResultSetValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DifferentialExpressionAnalysisResultSetValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"filter":{"type":"string"},"sort":{"$ref":"#/components/schemas/SortValueObject"},"groupBy":{"type":"array","items":{"type":"string"}},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"}}},"ProtocolValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string"}}},"SortValueObject":{"type":"object","properties":{"orderBy":{"type":"string"},"direction":{"type":"string"}}},"StatementValueObject":{"type":"object","properties":{"category":{"type":"string"},"categoryUri":{"type":"string"},"subject":{"type":"string"},"subjectUri":{"type":"string"},"predicate":{"type":"string"},"predicateUri":{"type":"string"},"object":{"type":"string"},"objectUri":{"type":"string"},"subjectId":{"type":"string"},"objectId":{"type":"string"}}},"TaxonValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"scientificName":{"type":"string"},"commonName":{"type":"string"},"ncbiId":{"type":"integer","format":"int32"},"externalDatabase":{"$ref":"#/components/schemas/ExternalDatabaseValueObject"}},"description":"This property is mutually exclusive with `taxonId`."},"BuildInfoValueObject":{"type":"object","properties":{"version":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"gitHash":{"type":"string"}}},"ResponseErrorObject":{"type":"object","properties":{"apiVersion":{"type":"string"},"buildInfo":{"$ref":"#/components/schemas/BuildInfoValueObject"},"error":{"$ref":"#/components/schemas/WellComposedErrorBody"}}},"WellComposedError":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"},"location":{"type":"string"},"locationType":{"type":"string","enum":["HEADERS","QUERY","BODY"]}}},"WellComposedErrorBody":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedError"}}}},"FilteredAndPaginatedResponseDataObjectDifferentialExpressionAnalysisResultSetValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DifferentialExpressionAnalysisResultSetValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"}}},"DatasetArg":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]},"DatabaseEntryArg":{"required":["value"],"oneOf":[{"type":"integer","description":"A database entry numerical identifier.","format":"int64"},{"type":"string","description":"A database entry name."}]},"SortArgExpressionAnalysisResultSet":{"pattern":"^(\\+|-?)(\\w+)$","type":"string","description":"Order results by the given property and direction. The '+' sign indicate ascending order whereas the '-' indicate descending. If no indicator is used, the default order is applied which is generally ascending. Nulls always appear last.\n\nAvailable properties:\n\n- analysis.experimentAnalyzed.id `integer`\n- analysis.experimentAnalyzed.name `string`\n- analysis.id `integer`\n- analysis.numberOfElementsAnalyzed `integer`\n- analysis.subsetFactorValue.characteristics.category `string`\n- analysis.subsetFactorValue.characteristics.categoryUri `string`\n- analysis.subsetFactorValue.characteristics.evidenceCode `string` (possible values: IC, IDA, IEA, IEP, IGI, IMP, IPI, ISS, NAS, ND, RCA, TAS, NR, EXP, ISA, ISM, IGC, ISO, IIA, IBA, IBD, IKR, IRD, IMR, IED, IAGP, IPM, QTM, HDA, HEP, HGI, HMP, HTP, OTHER)\n- analysis.subsetFactorValue.characteristics.id `integer`\n- analysis.subsetFactorValue.characteristics.name `string`\n- analysis.subsetFactorValue.characteristics.value `string`\n- analysis.subsetFactorValue.characteristics.valueUri `string`\n- analysis.subsetFactorValue.id `integer`\n- baselineGroup.characteristics.category `string`\n- baselineGroup.characteristics.categoryUri `string`\n- baselineGroup.characteristics.evidenceCode `string` (possible values: IC, IDA, IEA, IEP, IGI, IMP, IPI, ISS, NAS, ND, RCA, TAS, NR, EXP, ISA, ISM, IGC, ISO, IIA, IBA, IBD, IKR, IRD, IMR, IED, IAGP, IPM, QTM, HDA, HEP, HGI, HMP, HTP, OTHER)\n- baselineGroup.characteristics.id `integer`\n- baselineGroup.characteristics.name `string`\n- baselineGroup.characteristics.value `string`\n- baselineGroup.characteristics.valueUri `string`\n- baselineGroup.experimentalFactor.id `integer`\n- baselineGroup.experimentalFactor.name `string`\n- baselineGroup.experimentalFactor.type `string` (possible values: CONTINUOUS, CATEGORICAL)\n- baselineGroup.id `integer`\n- baselineGroup.measurement.id `integer`\n- baselineGroup.measurement.kindCV `string` (possible values: TIME, DISTANCE, TEMPERATURE, QUANTITY, MASS, VOLUME, CONC, OTHER, COUNT)\n- baselineGroup.measurement.otherKind `string`\n- baselineGroup.measurement.representation `string` (possible values: FLOAT, DOUBLE, INT, LONG, CHAR, BOOLEAN, STRING)\n- baselineGroup.measurement.type `string` (possible values: ABSOLUTE, CHANGE)\n- baselineGroup.measurement.value `string`\n- id `integer`\n- numberOfGenesTested `integer`\n- numberOfProbesTested `integer`","x-gemma-filterable-properties":[{"name":"analysis.experimentAnalyzed.id","type":"integer"},{"name":"analysis.experimentAnalyzed.name","type":"string"},{"name":"analysis.id","type":"integer"},{"name":"analysis.numberOfElementsAnalyzed","type":"integer"},{"name":"analysis.subsetFactorValue.characteristics.category","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.categoryUri","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.evidenceCode","type":"string","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"analysis.subsetFactorValue.characteristics.id","type":"integer"},{"name":"analysis.subsetFactorValue.characteristics.name","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.value","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.valueUri","type":"string"},{"name":"analysis.subsetFactorValue.id","type":"integer"},{"name":"baselineGroup.characteristics.category","type":"string"},{"name":"baselineGroup.characteristics.categoryUri","type":"string"},{"name":"baselineGroup.characteristics.evidenceCode","type":"string","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"baselineGroup.characteristics.id","type":"integer"},{"name":"baselineGroup.characteristics.name","type":"string"},{"name":"baselineGroup.characteristics.value","type":"string"},{"name":"baselineGroup.characteristics.valueUri","type":"string"},{"name":"baselineGroup.experimentalFactor.id","type":"integer"},{"name":"baselineGroup.experimentalFactor.name","type":"string"},{"name":"baselineGroup.experimentalFactor.type","type":"string","allowedValues":[{"value":"CONTINUOUS","label":"CONTINUOUS"},{"value":"CATEGORICAL","label":"CATEGORICAL"}]},{"name":"baselineGroup.id","type":"integer"},{"name":"baselineGroup.measurement.id","type":"integer"},{"name":"baselineGroup.measurement.kindCV","type":"string","allowedValues":[{"value":"TIME","label":"Time"},{"value":"DISTANCE","label":"Distance"},{"value":"TEMPERATURE","label":"Temperature"},{"value":"QUANTITY","label":"Quantity"},{"value":"MASS","label":"Mass"},{"value":"VOLUME","label":"Volume"},{"value":"CONC","label":"Concentration"},{"value":"OTHER","label":"Other"},{"value":"COUNT","label":"Count"}]},{"name":"baselineGroup.measurement.otherKind","type":"string"},{"name":"baselineGroup.measurement.representation","type":"string","allowedValues":[{"value":"FLOAT","label":"FLOAT"},{"value":"DOUBLE","label":"Double"},{"value":"INT","label":"Integer"},{"value":"LONG","label":"Long"},{"value":"CHAR","label":"Character"},{"value":"BOOLEAN","label":"Boolean"},{"value":"STRING","label":"String"}]},{"name":"baselineGroup.measurement.type","type":"string","allowedValues":[{"value":"ABSOLUTE","label":"Absolute"},{"value":"CHANGE","label":"Change"}]},{"name":"baselineGroup.measurement.value","type":"string"},{"name":"id","type":"integer"},{"name":"numberOfGenesTested","type":"integer"},{"name":"numberOfProbesTested","type":"integer"}]},"AnnotationSearchResultValueObject":{"type":"object","properties":{"value":{"type":"string"},"valueUri":{"type":"string"},"category":{"type":"string"},"categoryUri":{"type":"string"}}},"ResponseDataObjectListAnnotationSearchResultValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationSearchResultValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"AuditEventValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"performer":{"type":"string"},"date":{"type":"string","format":"date-time"},"action":{"type":"string","enum":["C","R","U","D"]},"note":{"type":"string"},"detail":{"type":"string"},"actionName":{"type":"string"},"eventTypeName":{"type":"string"}}},"ExpressionExperimentValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"lastUpdated":{"type":"string","format":"date-time"},"troubled":{"type":"boolean"},"lastTroubledEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"needsAttention":{"type":"boolean"},"lastNeedsAttentionEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"curationNote":{"type":"string"},"lastNoteUpdateEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"numberOfBioAssays":{"type":"integer","format":"int32"},"description":{"type":"string"},"name":{"type":"string"},"accession":{"type":"string"},"batchConfound":{"type":"string"},"batchEffect":{"type":"string","enum":["NO_BATCH_INFO","SINGLETON_BATCHES_FAILURE","UNINFORMATIVE_HEADERS_FAILURE","PROBLEMATIC_BATCH_INFO_FAILURE","BATCH_EFFECT_FAILURE","BATCH_CORRECTED_SUCCESS","SINGLE_BATCH_SUCCESS","BATCH_EFFECT_UNDETERMINED_FAILURE","NO_BATCH_EFFECT_SUCCESS"]},"batchEffectStatistics":{"type":"string"},"externalDatabase":{"type":"string"},"externalDatabaseUri":{"type":"string"},"externalUri":{"type":"string"},"geeq":{"$ref":"#/components/schemas/GeeqValueObject"},"metadata":{"type":"string"},"shortName":{"type":"string"},"source":{"type":"string"},"technologyType":{"type":"string"},"characteristics":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"taxonId":{"type":"integer","format":"int64"},"bioAssayCount":{"type":"integer","format":"int32"},"troubleDetails":{"type":"string"},"numberOfArrayDesigns":{"type":"integer","format":"int64"},"numberOfProcessedExpressionVectors":{"type":"integer","format":"int32"},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"}}},"GeeqValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"publicQualityScore":{"type":"number","format":"double"},"publicSuitabilityScore":{"type":"number","format":"double"},"noVectors":{"type":"boolean"},"corrMatIssues":{"type":"string","format":"byte"},"replicatesIssues":{"type":"string","format":"byte"},"batchCorrected":{"type":"boolean"},"sScorePublication":{"type":"number","format":"double"},"sScorePlatformAmount":{"type":"number","format":"double"},"sScorePlatformTechMulti":{"type":"number","format":"double"},"sScoreAvgPlatformPopularity":{"type":"number","format":"double"},"sScoreAvgPlatformSize":{"type":"number","format":"double"},"sScoreSampleSize":{"type":"number","format":"double"},"sScoreRawData":{"type":"number","format":"double"},"sScoreMissingValues":{"type":"number","format":"double"},"qScoreOutliers":{"type":"number","format":"double"},"qScoreSampleMeanCorrelation":{"type":"number","format":"double"},"qScoreSampleMedianCorrelation":{"type":"number","format":"double"},"qScoreSampleCorrelationVariance":{"type":"number","format":"double"},"qScorePlatformsTech":{"type":"number","format":"double"},"qScoreReplicates":{"type":"number","format":"double"},"qScoreBatchInfo":{"type":"number","format":"double"},"qScorePublicBatchEffect":{"type":"number","format":"double"},"qScorePublicBatchConfound":{"type":"number","format":"double"}}},"QueriedAndFilteredAndPaginatedResponseDataObjectExpressionExperimentValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"},"query":{"type":"string"}}},"FilterArgExpressionExperiment":{"type":"string","description":"Filter results by matching the expression. The exact syntax is described in the attached external documentation. The filter value may be compressed with gzip and encoded with base64.\n\nAvailable properties:\n\n- accession.accession `string`\n- accession.accessionVersion `string`\n- accession.externalDatabase.ftpUri `string`\n- accession.externalDatabase.id `integer`\n- accession.externalDatabase.lastUpdated `string`\n- accession.externalDatabase.localInstallDbName `string`\n- accession.externalDatabase.name `string`\n- accession.externalDatabase.releaseUrl `object`\n- accession.externalDatabase.releaseVersion `string`\n- accession.externalDatabase.type `string` (possible values: ONTOLOGY, SEQUENCE, LITERATURE, EXPRESSION, GENOME, OTHER, PROTEIN)\n- accession.externalDatabase.webUri `string`\n- accession.id `integer`\n- allCharacteristics.category `string[]`\n- allCharacteristics.categoryUri `string[]`\n- allCharacteristics.evidenceCode `string[]` (possible values: IC, IDA, IEA, IEP, IGI, IMP, IPI, ISS, NAS, ND, RCA, TAS, NR, EXP, ISA, ISM, IGC, ISO, IIA, IBA, IBD, IKR, IRD, IMR, IED, IAGP, IPM, QTM, HDA, HEP, HGI, HMP, HTP, OTHER)\n- allCharacteristics.id `integer[]`\n- allCharacteristics.name `string[]`\n- allCharacteristics.size `integer`\n- allCharacteristics.value `string[]`\n- allCharacteristics.valueUri `string[]`\n- batchEffect `string` (possible values: NO_BATCH_INFO, SINGLETON_BATCHES_FAILURE, UNINFORMATIVE_HEADERS_FAILURE, PROBLEMATIC_BATCH_INFO_FAILURE, BATCH_EFFECT_FAILURE, BATCH_CORRECTED_SUCCESS, SINGLE_BATCH_SUCCESS, BATCH_EFFECT_UNDETERMINED_FAILURE, NO_BATCH_EFFECT_SUCCESS)\n- batchEffectStatistics `string`\n- bioAssayCount `integer` (alias for bioAssays.size)\n- bioAssays.accession.accession `string[]`\n- bioAssays.accession.accessionVersion `string[]`\n- bioAssays.accession.id `integer[]`\n- bioAssays.arrayDesignUsed.advertisedNumberOfDesignElements `integer[]`\n- bioAssays.arrayDesignUsed.compositeSequences.size `integer[]`\n- bioAssays.arrayDesignUsed.externalReferences.size `integer[]`\n- bioAssays.arrayDesignUsed.id `integer[]`\n- bioAssays.arrayDesignUsed.mergees.size `integer[]`\n- bioAssays.arrayDesignUsed.name `string[]`\n- bioAssays.arrayDesignUsed.shortName `string[]`\n- bioAssays.arrayDesignUsed.subsumedArrayDesigns.size `integer[]`\n- bioAssays.arrayDesignUsed.technologyType `string[]` (possible values: TWOCOLOR, DUALMODE, ONECOLOR, SEQUENCING, GENELIST, OTHER)\n- bioAssays.id `integer[]`\n- bioAssays.isOutlier `boolean[]`\n- bioAssays.name `string[]`\n- bioAssays.numberOfCells `integer[]`\n- bioAssays.numberOfCellsByDesignElements `integer[]`\n- bioAssays.numberOfDesignElements `integer[]`\n- bioAssays.originalPlatform.advertisedNumberOfDesignElements `integer[]`\n- bioAssays.originalPlatform.compositeSequences.size `integer[]`\n- bioAssays.originalPlatform.externalReferences.size `integer[]`\n- bioAssays.originalPlatform.id `integer[]`\n- bioAssays.originalPlatform.mergees.size `integer[]`\n- bioAssays.originalPlatform.name `string[]`\n- bioAssays.originalPlatform.shortName `string[]`\n- bioAssays.originalPlatform.subsumedArrayDesigns.size `integer[]`\n- bioAssays.originalPlatform.technologyType `string[]` (possible values: TWOCOLOR, DUALMODE, ONECOLOR, SEQUENCING, GENELIST, OTHER)\n- bioAssays.processingDate `string[]`\n- bioAssays.sampleUsed.bioAssaysUsedIn.size `integer[]`\n- bioAssays.sampleUsed.characteristics.category `string[]`\n- bioAssays.sampleUsed.characteristics.categoryUri `string[]`\n- bioAssays.sampleUsed.characteristics.evidenceCode `string[]` (possible values: IC, IDA, IEA, IEP, IGI, IMP, IPI, ISS, NAS, ND, RCA, TAS, NR, EXP, ISA, ISM, IGC, ISO, IIA, IBA, IBD, IKR, IRD, IMR, IED, IAGP, IPM, QTM, HDA, HEP, HGI, HMP, HTP, OTHER)\n- bioAssays.sampleUsed.characteristics.id `integer[]`\n- bioAssays.sampleUsed.characteristics.name `string[]`\n- bioAssays.sampleUsed.characteristics.size `integer[]`\n- bioAssays.sampleUsed.characteristics.value `string[]`\n- bioAssays.sampleUsed.characteristics.valueUri `string[]`\n- bioAssays.sampleUsed.id `integer[]`\n- bioAssays.sampleUsed.name `string[]`\n- bioAssays.sequencePairedReads `boolean[]`\n- bioAssays.sequenceReadCount `integer[]`\n- bioAssays.sequenceReadLength `integer[]`\n- bioAssays.shortName `string[]`\n- bioAssays.size `integer`\n- characteristics.category `string[]`\n- characteristics.categoryUri `string[]`\n- characteristics.evidenceCode `string[]` (possible values: IC, IDA, IEA, IEP, IGI, IMP, IPI, ISS, NAS, ND, RCA, TAS, NR, EXP, ISA, ISM, IGC, ISO, IIA, IBA, IBD, IKR, IRD, IMR, IED, IAGP, IPM, QTM, HDA, HEP, HGI, HMP, HTP, OTHER)\n- characteristics.id `integer[]`\n- characteristics.name `string[]`\n- characteristics.size `integer`\n- characteristics.value `string[]`\n- characteristics.valueUri `string[]`\n- curationDetails.lastUpdated `string`\n- curationDetails.needsAttention `boolean`\n- curationDetails.troubled `boolean`\n- experimentalDesign.experimentalFactors.factorValues.characteristics.category `string[]`\n- experimentalDesign.experimentalFactors.factorValues.characteristics.categoryUri `string[]`\n- experimentalDesign.experimentalFactors.factorValues.characteristics.evidenceCode `string[]` (possible values: IC, IDA, IEA, IEP, IGI, IMP, IPI, ISS, NAS, ND, RCA, TAS, NR, EXP, ISA, ISM, IGC, ISO, IIA, IBA, IBD, IKR, IRD, IMR, IED, IAGP, IPM, QTM, HDA, HEP, HGI, HMP, HTP, OTHER)\n- experimentalDesign.experimentalFactors.factorValues.characteristics.id `integer[]`\n- experimentalDesign.experimentalFactors.factorValues.characteristics.name `string[]`\n- experimentalDesign.experimentalFactors.factorValues.characteristics.value `string[]`\n- experimentalDesign.experimentalFactors.factorValues.characteristics.valueUri `string[]`\n- experimentalDesign.experimentalFactors.size `integer`\n- experimentalDesign.id `integer`\n- experimentalDesign.name `string`\n- experimentalDesign.normalizationDescription `string`\n- experimentalDesign.qualityControlDescription `string`\n- experimentalDesign.replicateDescription `string`\n- experimentalDesign.types.size `integer`\n- geeq.publicQualityScore `number`\n- geeq.publicSuitabilityScore `number` (security: GROUP_ADMIN)\n- id `integer`\n- lastUpdated `string` (alias for curationDetails.lastUpdated)\n- meanVarianceRelation.id `integer`\n- name `string`\n- needsAttention `boolean` (alias for curationDetails.needsAttention)\n- numberOfDataVectors `integer`\n- numberOfSamples `integer`\n- owner.email `string`\n- owner.id `integer`\n- owner.name `string`\n- primaryPublication.pubAccession.accession `string`\n- primaryPublication.pubAccession.accessionVersion `string`\n- primaryPublication.pubAccession.externalDatabase.externalDatabases.size `integer`\n- primaryPublication.pubAccession.externalDatabase.ftpUri `string`\n- primaryPublication.pubAccession.externalDatabase.id `integer`\n- primaryPublication.pubAccession.externalDatabase.lastUpdated `string`\n- primaryPublication.pubAccession.externalDatabase.localInstallDbName `string`\n- primaryPublication.pubAccession.externalDatabase.name `string`\n- primaryPublication.pubAccession.externalDatabase.releaseUrl `object`\n- primaryPublication.pubAccession.externalDatabase.releaseVersion `string`\n- primaryPublication.pubAccession.externalDatabase.type `string` (possible values: ONTOLOGY, SEQUENCE, LITERATURE, EXPRESSION, GENOME, OTHER, PROTEIN)\n- primaryPublication.pubAccession.externalDatabase.webUri `string`\n- primaryPublication.pubAccession.id `integer`\n- processedExpressionDataVectors.size `integer`\n- quantitationTypes.size `integer`\n- rawExpressionDataVectors.size `integer`\n- shortName `string`\n- singleCellExpressionDataVectors.size `integer`\n- taxon `integer` (alias for taxon.id)\n- taxon.commonName `string`\n- taxon.externalDatabase.ftpUri `string`\n- taxon.externalDatabase.id `integer`\n- taxon.externalDatabase.lastUpdated `string`\n- taxon.externalDatabase.localInstallDbName `string`\n- taxon.externalDatabase.name `string`\n- taxon.externalDatabase.releaseUrl `object`\n- taxon.externalDatabase.releaseVersion `string`\n- taxon.externalDatabase.type `string` (possible values: ONTOLOGY, SEQUENCE, LITERATURE, EXPRESSION, GENOME, OTHER, PROTEIN)\n- taxon.externalDatabase.webUri `string`\n- taxon.id `integer`\n- taxon.isGenesUsable `boolean`\n- taxon.ncbiId `integer`\n- taxon.scientificName `string`\n- taxon.secondaryNcbiId `integer`\n- troubled `boolean` (alias for curationDetails.troubled)","externalDocs":{"url":"https://gemma.msl.ubc.ca/resources/apidocs/ubic/gemma/rest/util/args/FilterArg.html"},"x-gemma-filterable-properties":[{"name":"accession.accession","type":"string"},{"name":"accession.accessionVersion","type":"string"},{"name":"accession.externalDatabase.ftpUri","type":"string"},{"name":"accession.externalDatabase.id","type":"integer"},{"name":"accession.externalDatabase.lastUpdated","type":"string"},{"name":"accession.externalDatabase.localInstallDbName","type":"string"},{"name":"accession.externalDatabase.name","type":"string"},{"name":"accession.externalDatabase.releaseUrl","type":"object"},{"name":"accession.externalDatabase.releaseVersion","type":"string"},{"name":"accession.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"accession.externalDatabase.webUri","type":"string"},{"name":"accession.id","type":"integer"},{"name":"allCharacteristics.category","type":"string[]"},{"name":"allCharacteristics.categoryUri","type":"string[]"},{"name":"allCharacteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"allCharacteristics.id","type":"integer[]"},{"name":"allCharacteristics.name","type":"string[]"},{"name":"allCharacteristics.size","type":"integer"},{"name":"allCharacteristics.value","type":"string[]"},{"name":"allCharacteristics.valueUri","type":"string[]"},{"name":"batchEffect","type":"string","allowedValues":[{"value":"NO_BATCH_INFO","label":"NO_BATCH_INFO"},{"value":"SINGLETON_BATCHES_FAILURE","label":"SINGLETON_BATCHES_FAILURE"},{"value":"UNINFORMATIVE_HEADERS_FAILURE","label":"UNINFORMATIVE_HEADERS_FAILURE"},{"value":"PROBLEMATIC_BATCH_INFO_FAILURE","label":"PROBLEMATIC_BATCH_INFO_FAILURE"},{"value":"BATCH_EFFECT_FAILURE","label":"BATCH_EFFECT_FAILURE"},{"value":"BATCH_CORRECTED_SUCCESS","label":"BATCH_CORRECTED_SUCCESS"},{"value":"SINGLE_BATCH_SUCCESS","label":"SINGLE_BATCH_SUCCESS"},{"value":"BATCH_EFFECT_UNDETERMINED_FAILURE","label":"BATCH_EFFECT_UNDETERMINED_FAILURE"},{"value":"NO_BATCH_EFFECT_SUCCESS","label":"NO_BATCH_EFFECT_SUCCESS"}]},{"name":"batchEffectStatistics","type":"string"},{"name":"bioAssayCount","type":"integer","description":"alias for bioAssays.size"},{"name":"bioAssays.accession.accession","type":"string[]"},{"name":"bioAssays.accession.accessionVersion","type":"string[]"},{"name":"bioAssays.accession.id","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.advertisedNumberOfDesignElements","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.compositeSequences.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.externalReferences.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.id","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.mergees.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.name","type":"string[]"},{"name":"bioAssays.arrayDesignUsed.shortName","type":"string[]"},{"name":"bioAssays.arrayDesignUsed.subsumedArrayDesigns.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.technologyType","type":"string[]","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"bioAssays.id","type":"integer[]"},{"name":"bioAssays.isOutlier","type":"boolean[]"},{"name":"bioAssays.name","type":"string[]"},{"name":"bioAssays.numberOfCells","type":"integer[]"},{"name":"bioAssays.numberOfCellsByDesignElements","type":"integer[]"},{"name":"bioAssays.numberOfDesignElements","type":"integer[]"},{"name":"bioAssays.originalPlatform.advertisedNumberOfDesignElements","type":"integer[]"},{"name":"bioAssays.originalPlatform.compositeSequences.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.externalReferences.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.id","type":"integer[]"},{"name":"bioAssays.originalPlatform.mergees.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.name","type":"string[]"},{"name":"bioAssays.originalPlatform.shortName","type":"string[]"},{"name":"bioAssays.originalPlatform.subsumedArrayDesigns.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.technologyType","type":"string[]","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"bioAssays.processingDate","type":"string[]"},{"name":"bioAssays.sampleUsed.bioAssaysUsedIn.size","type":"integer[]"},{"name":"bioAssays.sampleUsed.characteristics.category","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.categoryUri","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"bioAssays.sampleUsed.characteristics.id","type":"integer[]"},{"name":"bioAssays.sampleUsed.characteristics.name","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.size","type":"integer[]"},{"name":"bioAssays.sampleUsed.characteristics.value","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.valueUri","type":"string[]"},{"name":"bioAssays.sampleUsed.id","type":"integer[]"},{"name":"bioAssays.sampleUsed.name","type":"string[]"},{"name":"bioAssays.sequencePairedReads","type":"boolean[]"},{"name":"bioAssays.sequenceReadCount","type":"integer[]"},{"name":"bioAssays.sequenceReadLength","type":"integer[]"},{"name":"bioAssays.shortName","type":"string[]"},{"name":"bioAssays.size","type":"integer"},{"name":"characteristics.category","type":"string[]"},{"name":"characteristics.categoryUri","type":"string[]"},{"name":"characteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"characteristics.id","type":"integer[]"},{"name":"characteristics.name","type":"string[]"},{"name":"characteristics.size","type":"integer"},{"name":"characteristics.value","type":"string[]"},{"name":"characteristics.valueUri","type":"string[]"},{"name":"curationDetails.lastUpdated","type":"string"},{"name":"curationDetails.needsAttention","type":"boolean"},{"name":"curationDetails.troubled","type":"boolean"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.category","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.categoryUri","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.id","type":"integer[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.name","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.value","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.valueUri","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.size","type":"integer"},{"name":"experimentalDesign.id","type":"integer"},{"name":"experimentalDesign.name","type":"string"},{"name":"experimentalDesign.normalizationDescription","type":"string"},{"name":"experimentalDesign.qualityControlDescription","type":"string"},{"name":"experimentalDesign.replicateDescription","type":"string"},{"name":"experimentalDesign.types.size","type":"integer"},{"name":"geeq.publicQualityScore","type":"number"},{"name":"geeq.publicSuitabilityScore","type":"number","security":{"basicAuth":["GROUP_ADMIN"],"cookieAuth":["GROUP_ADMIN"]}},{"name":"id","type":"integer"},{"name":"lastUpdated","type":"string","description":"alias for curationDetails.lastUpdated"},{"name":"meanVarianceRelation.id","type":"integer"},{"name":"name","type":"string"},{"name":"needsAttention","type":"boolean","description":"alias for curationDetails.needsAttention"},{"name":"numberOfDataVectors","type":"integer"},{"name":"numberOfSamples","type":"integer"},{"name":"owner.email","type":"string"},{"name":"owner.id","type":"integer"},{"name":"owner.name","type":"string"},{"name":"primaryPublication.pubAccession.accession","type":"string"},{"name":"primaryPublication.pubAccession.accessionVersion","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.externalDatabases.size","type":"integer"},{"name":"primaryPublication.pubAccession.externalDatabase.ftpUri","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.id","type":"integer"},{"name":"primaryPublication.pubAccession.externalDatabase.lastUpdated","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.localInstallDbName","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.name","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.releaseUrl","type":"object"},{"name":"primaryPublication.pubAccession.externalDatabase.releaseVersion","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"primaryPublication.pubAccession.externalDatabase.webUri","type":"string"},{"name":"primaryPublication.pubAccession.id","type":"integer"},{"name":"processedExpressionDataVectors.size","type":"integer"},{"name":"quantitationTypes.size","type":"integer"},{"name":"rawExpressionDataVectors.size","type":"integer"},{"name":"shortName","type":"string"},{"name":"singleCellExpressionDataVectors.size","type":"integer"},{"name":"taxon","type":"integer","description":"alias for taxon.id"},{"name":"taxon.commonName","type":"string"},{"name":"taxon.externalDatabase.ftpUri","type":"string"},{"name":"taxon.externalDatabase.id","type":"integer"},{"name":"taxon.externalDatabase.lastUpdated","type":"string"},{"name":"taxon.externalDatabase.localInstallDbName","type":"string"},{"name":"taxon.externalDatabase.name","type":"string"},{"name":"taxon.externalDatabase.releaseUrl","type":"object"},{"name":"taxon.externalDatabase.releaseVersion","type":"string"},{"name":"taxon.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"taxon.externalDatabase.webUri","type":"string"},{"name":"taxon.id","type":"integer"},{"name":"taxon.isGenesUsable","type":"boolean"},{"name":"taxon.ncbiId","type":"integer"},{"name":"taxon.scientificName","type":"string"},{"name":"taxon.secondaryNcbiId","type":"integer"},{"name":"troubled","type":"boolean","description":"alias for curationDetails.troubled"}]},"SortArgExpressionExperiment":{"pattern":"^(\\+|-?)(\\w+)$","type":"string","description":"Order results by the given property and direction. The '+' sign indicate ascending order whereas the '-' indicate descending. If no indicator is used, the default order is applied which is generally ascending. Nulls always appear last.\n\nAvailable properties:\n\n- accession.accession `string`\n- accession.accessionVersion `string`\n- accession.externalDatabase.ftpUri `string`\n- accession.externalDatabase.id `integer`\n- accession.externalDatabase.lastUpdated `string`\n- accession.externalDatabase.localInstallDbName `string`\n- accession.externalDatabase.name `string`\n- accession.externalDatabase.releaseUrl `object`\n- accession.externalDatabase.releaseVersion `string`\n- accession.externalDatabase.type `string` (possible values: ONTOLOGY, SEQUENCE, LITERATURE, EXPRESSION, GENOME, OTHER, PROTEIN)\n- accession.externalDatabase.webUri `string`\n- accession.id `integer`\n- allCharacteristics.category `string[]`\n- allCharacteristics.categoryUri `string[]`\n- allCharacteristics.evidenceCode `string[]` (possible values: IC, IDA, IEA, IEP, IGI, IMP, IPI, ISS, NAS, ND, RCA, TAS, NR, EXP, ISA, ISM, IGC, ISO, IIA, IBA, IBD, IKR, IRD, IMR, IED, IAGP, IPM, QTM, HDA, HEP, HGI, HMP, HTP, OTHER)\n- allCharacteristics.id `integer[]`\n- allCharacteristics.name `string[]`\n- allCharacteristics.size `integer`\n- allCharacteristics.value `string[]`\n- allCharacteristics.valueUri `string[]`\n- batchEffect `string` (possible values: NO_BATCH_INFO, SINGLETON_BATCHES_FAILURE, UNINFORMATIVE_HEADERS_FAILURE, PROBLEMATIC_BATCH_INFO_FAILURE, BATCH_EFFECT_FAILURE, BATCH_CORRECTED_SUCCESS, SINGLE_BATCH_SUCCESS, BATCH_EFFECT_UNDETERMINED_FAILURE, NO_BATCH_EFFECT_SUCCESS)\n- batchEffectStatistics `string`\n- bioAssayCount `integer` (alias for bioAssays.size)\n- bioAssays.accession.accession `string[]`\n- bioAssays.accession.accessionVersion `string[]`\n- bioAssays.accession.id `integer[]`\n- bioAssays.arrayDesignUsed.advertisedNumberOfDesignElements `integer[]`\n- bioAssays.arrayDesignUsed.compositeSequences.size `integer[]`\n- bioAssays.arrayDesignUsed.externalReferences.size `integer[]`\n- bioAssays.arrayDesignUsed.id `integer[]`\n- bioAssays.arrayDesignUsed.mergees.size `integer[]`\n- bioAssays.arrayDesignUsed.name `string[]`\n- bioAssays.arrayDesignUsed.shortName `string[]`\n- bioAssays.arrayDesignUsed.subsumedArrayDesigns.size `integer[]`\n- bioAssays.arrayDesignUsed.technologyType `string[]` (possible values: TWOCOLOR, DUALMODE, ONECOLOR, SEQUENCING, GENELIST, OTHER)\n- bioAssays.id `integer[]`\n- bioAssays.isOutlier `boolean[]`\n- bioAssays.name `string[]`\n- bioAssays.numberOfCells `integer[]`\n- bioAssays.numberOfCellsByDesignElements `integer[]`\n- bioAssays.numberOfDesignElements `integer[]`\n- bioAssays.originalPlatform.advertisedNumberOfDesignElements `integer[]`\n- bioAssays.originalPlatform.compositeSequences.size `integer[]`\n- bioAssays.originalPlatform.externalReferences.size `integer[]`\n- bioAssays.originalPlatform.id `integer[]`\n- bioAssays.originalPlatform.mergees.size `integer[]`\n- bioAssays.originalPlatform.name `string[]`\n- bioAssays.originalPlatform.shortName `string[]`\n- bioAssays.originalPlatform.subsumedArrayDesigns.size `integer[]`\n- bioAssays.originalPlatform.technologyType `string[]` (possible values: TWOCOLOR, DUALMODE, ONECOLOR, SEQUENCING, GENELIST, OTHER)\n- bioAssays.processingDate `string[]`\n- bioAssays.sampleUsed.bioAssaysUsedIn.size `integer[]`\n- bioAssays.sampleUsed.characteristics.category `string[]`\n- bioAssays.sampleUsed.characteristics.categoryUri `string[]`\n- bioAssays.sampleUsed.characteristics.evidenceCode `string[]` (possible values: IC, IDA, IEA, IEP, IGI, IMP, IPI, ISS, NAS, ND, RCA, TAS, NR, EXP, ISA, ISM, IGC, ISO, IIA, IBA, IBD, IKR, IRD, IMR, IED, IAGP, IPM, QTM, HDA, HEP, HGI, HMP, HTP, OTHER)\n- bioAssays.sampleUsed.characteristics.id `integer[]`\n- bioAssays.sampleUsed.characteristics.name `string[]`\n- bioAssays.sampleUsed.characteristics.size `integer[]`\n- bioAssays.sampleUsed.characteristics.value `string[]`\n- bioAssays.sampleUsed.characteristics.valueUri `string[]`\n- bioAssays.sampleUsed.id `integer[]`\n- bioAssays.sampleUsed.name `string[]`\n- bioAssays.sequencePairedReads `boolean[]`\n- bioAssays.sequenceReadCount `integer[]`\n- bioAssays.sequenceReadLength `integer[]`\n- bioAssays.shortName `string[]`\n- bioAssays.size `integer`\n- characteristics.category `string[]`\n- characteristics.categoryUri `string[]`\n- characteristics.evidenceCode `string[]` (possible values: IC, IDA, IEA, IEP, IGI, IMP, IPI, ISS, NAS, ND, RCA, TAS, NR, EXP, ISA, ISM, IGC, ISO, IIA, IBA, IBD, IKR, IRD, IMR, IED, IAGP, IPM, QTM, HDA, HEP, HGI, HMP, HTP, OTHER)\n- characteristics.id `integer[]`\n- characteristics.name `string[]`\n- characteristics.size `integer`\n- characteristics.value `string[]`\n- characteristics.valueUri `string[]`\n- curationDetails.lastUpdated `string`\n- curationDetails.needsAttention `boolean`\n- curationDetails.troubled `boolean`\n- experimentalDesign.experimentalFactors.factorValues.characteristics.category `string[]`\n- experimentalDesign.experimentalFactors.factorValues.characteristics.categoryUri `string[]`\n- experimentalDesign.experimentalFactors.factorValues.characteristics.evidenceCode `string[]` (possible values: IC, IDA, IEA, IEP, IGI, IMP, IPI, ISS, NAS, ND, RCA, TAS, NR, EXP, ISA, ISM, IGC, ISO, IIA, IBA, IBD, IKR, IRD, IMR, IED, IAGP, IPM, QTM, HDA, HEP, HGI, HMP, HTP, OTHER)\n- experimentalDesign.experimentalFactors.factorValues.characteristics.id `integer[]`\n- experimentalDesign.experimentalFactors.factorValues.characteristics.name `string[]`\n- experimentalDesign.experimentalFactors.factorValues.characteristics.value `string[]`\n- experimentalDesign.experimentalFactors.factorValues.characteristics.valueUri `string[]`\n- experimentalDesign.experimentalFactors.size `integer`\n- experimentalDesign.id `integer`\n- experimentalDesign.name `string`\n- experimentalDesign.normalizationDescription `string`\n- experimentalDesign.qualityControlDescription `string`\n- experimentalDesign.replicateDescription `string`\n- experimentalDesign.types.size `integer`\n- geeq.publicQualityScore `number`\n- geeq.publicSuitabilityScore `number` (security: GROUP_ADMIN)\n- id `integer`\n- lastUpdated `string` (alias for curationDetails.lastUpdated)\n- meanVarianceRelation.id `integer`\n- name `string`\n- needsAttention `boolean` (alias for curationDetails.needsAttention)\n- numberOfDataVectors `integer`\n- numberOfSamples `integer`\n- owner.email `string`\n- owner.id `integer`\n- owner.name `string`\n- primaryPublication.pubAccession.accession `string`\n- primaryPublication.pubAccession.accessionVersion `string`\n- primaryPublication.pubAccession.externalDatabase.externalDatabases.size `integer`\n- primaryPublication.pubAccession.externalDatabase.ftpUri `string`\n- primaryPublication.pubAccession.externalDatabase.id `integer`\n- primaryPublication.pubAccession.externalDatabase.lastUpdated `string`\n- primaryPublication.pubAccession.externalDatabase.localInstallDbName `string`\n- primaryPublication.pubAccession.externalDatabase.name `string`\n- primaryPublication.pubAccession.externalDatabase.releaseUrl `object`\n- primaryPublication.pubAccession.externalDatabase.releaseVersion `string`\n- primaryPublication.pubAccession.externalDatabase.type `string` (possible values: ONTOLOGY, SEQUENCE, LITERATURE, EXPRESSION, GENOME, OTHER, PROTEIN)\n- primaryPublication.pubAccession.externalDatabase.webUri `string`\n- primaryPublication.pubAccession.id `integer`\n- processedExpressionDataVectors.size `integer`\n- quantitationTypes.size `integer`\n- rawExpressionDataVectors.size `integer`\n- shortName `string`\n- singleCellExpressionDataVectors.size `integer`\n- taxon `integer` (alias for taxon.id)\n- taxon.commonName `string`\n- taxon.externalDatabase.ftpUri `string`\n- taxon.externalDatabase.id `integer`\n- taxon.externalDatabase.lastUpdated `string`\n- taxon.externalDatabase.localInstallDbName `string`\n- taxon.externalDatabase.name `string`\n- taxon.externalDatabase.releaseUrl `object`\n- taxon.externalDatabase.releaseVersion `string`\n- taxon.externalDatabase.type `string` (possible values: ONTOLOGY, SEQUENCE, LITERATURE, EXPRESSION, GENOME, OTHER, PROTEIN)\n- taxon.externalDatabase.webUri `string`\n- taxon.id `integer`\n- taxon.isGenesUsable `boolean`\n- taxon.ncbiId `integer`\n- taxon.scientificName `string`\n- taxon.secondaryNcbiId `integer`\n- troubled `boolean` (alias for curationDetails.troubled)","x-gemma-filterable-properties":[{"name":"accession.accession","type":"string"},{"name":"accession.accessionVersion","type":"string"},{"name":"accession.externalDatabase.ftpUri","type":"string"},{"name":"accession.externalDatabase.id","type":"integer"},{"name":"accession.externalDatabase.lastUpdated","type":"string"},{"name":"accession.externalDatabase.localInstallDbName","type":"string"},{"name":"accession.externalDatabase.name","type":"string"},{"name":"accession.externalDatabase.releaseUrl","type":"object"},{"name":"accession.externalDatabase.releaseVersion","type":"string"},{"name":"accession.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"accession.externalDatabase.webUri","type":"string"},{"name":"accession.id","type":"integer"},{"name":"allCharacteristics.category","type":"string[]"},{"name":"allCharacteristics.categoryUri","type":"string[]"},{"name":"allCharacteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"allCharacteristics.id","type":"integer[]"},{"name":"allCharacteristics.name","type":"string[]"},{"name":"allCharacteristics.size","type":"integer"},{"name":"allCharacteristics.value","type":"string[]"},{"name":"allCharacteristics.valueUri","type":"string[]"},{"name":"batchEffect","type":"string","allowedValues":[{"value":"NO_BATCH_INFO","label":"NO_BATCH_INFO"},{"value":"SINGLETON_BATCHES_FAILURE","label":"SINGLETON_BATCHES_FAILURE"},{"value":"UNINFORMATIVE_HEADERS_FAILURE","label":"UNINFORMATIVE_HEADERS_FAILURE"},{"value":"PROBLEMATIC_BATCH_INFO_FAILURE","label":"PROBLEMATIC_BATCH_INFO_FAILURE"},{"value":"BATCH_EFFECT_FAILURE","label":"BATCH_EFFECT_FAILURE"},{"value":"BATCH_CORRECTED_SUCCESS","label":"BATCH_CORRECTED_SUCCESS"},{"value":"SINGLE_BATCH_SUCCESS","label":"SINGLE_BATCH_SUCCESS"},{"value":"BATCH_EFFECT_UNDETERMINED_FAILURE","label":"BATCH_EFFECT_UNDETERMINED_FAILURE"},{"value":"NO_BATCH_EFFECT_SUCCESS","label":"NO_BATCH_EFFECT_SUCCESS"}]},{"name":"batchEffectStatistics","type":"string"},{"name":"bioAssayCount","type":"integer","description":"alias for bioAssays.size"},{"name":"bioAssays.accession.accession","type":"string[]"},{"name":"bioAssays.accession.accessionVersion","type":"string[]"},{"name":"bioAssays.accession.id","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.advertisedNumberOfDesignElements","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.compositeSequences.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.externalReferences.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.id","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.mergees.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.name","type":"string[]"},{"name":"bioAssays.arrayDesignUsed.shortName","type":"string[]"},{"name":"bioAssays.arrayDesignUsed.subsumedArrayDesigns.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.technologyType","type":"string[]","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"bioAssays.id","type":"integer[]"},{"name":"bioAssays.isOutlier","type":"boolean[]"},{"name":"bioAssays.name","type":"string[]"},{"name":"bioAssays.numberOfCells","type":"integer[]"},{"name":"bioAssays.numberOfCellsByDesignElements","type":"integer[]"},{"name":"bioAssays.numberOfDesignElements","type":"integer[]"},{"name":"bioAssays.originalPlatform.advertisedNumberOfDesignElements","type":"integer[]"},{"name":"bioAssays.originalPlatform.compositeSequences.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.externalReferences.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.id","type":"integer[]"},{"name":"bioAssays.originalPlatform.mergees.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.name","type":"string[]"},{"name":"bioAssays.originalPlatform.shortName","type":"string[]"},{"name":"bioAssays.originalPlatform.subsumedArrayDesigns.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.technologyType","type":"string[]","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"bioAssays.processingDate","type":"string[]"},{"name":"bioAssays.sampleUsed.bioAssaysUsedIn.size","type":"integer[]"},{"name":"bioAssays.sampleUsed.characteristics.category","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.categoryUri","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"bioAssays.sampleUsed.characteristics.id","type":"integer[]"},{"name":"bioAssays.sampleUsed.characteristics.name","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.size","type":"integer[]"},{"name":"bioAssays.sampleUsed.characteristics.value","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.valueUri","type":"string[]"},{"name":"bioAssays.sampleUsed.id","type":"integer[]"},{"name":"bioAssays.sampleUsed.name","type":"string[]"},{"name":"bioAssays.sequencePairedReads","type":"boolean[]"},{"name":"bioAssays.sequenceReadCount","type":"integer[]"},{"name":"bioAssays.sequenceReadLength","type":"integer[]"},{"name":"bioAssays.shortName","type":"string[]"},{"name":"bioAssays.size","type":"integer"},{"name":"characteristics.category","type":"string[]"},{"name":"characteristics.categoryUri","type":"string[]"},{"name":"characteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"characteristics.id","type":"integer[]"},{"name":"characteristics.name","type":"string[]"},{"name":"characteristics.size","type":"integer"},{"name":"characteristics.value","type":"string[]"},{"name":"characteristics.valueUri","type":"string[]"},{"name":"curationDetails.lastUpdated","type":"string"},{"name":"curationDetails.needsAttention","type":"boolean"},{"name":"curationDetails.troubled","type":"boolean"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.category","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.categoryUri","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.id","type":"integer[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.name","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.value","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.valueUri","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.size","type":"integer"},{"name":"experimentalDesign.id","type":"integer"},{"name":"experimentalDesign.name","type":"string"},{"name":"experimentalDesign.normalizationDescription","type":"string"},{"name":"experimentalDesign.qualityControlDescription","type":"string"},{"name":"experimentalDesign.replicateDescription","type":"string"},{"name":"experimentalDesign.types.size","type":"integer"},{"name":"geeq.publicQualityScore","type":"number"},{"name":"geeq.publicSuitabilityScore","type":"number","security":{"basicAuth":["GROUP_ADMIN"],"cookieAuth":["GROUP_ADMIN"]}},{"name":"id","type":"integer"},{"name":"lastUpdated","type":"string","description":"alias for curationDetails.lastUpdated"},{"name":"meanVarianceRelation.id","type":"integer"},{"name":"name","type":"string"},{"name":"needsAttention","type":"boolean","description":"alias for curationDetails.needsAttention"},{"name":"numberOfDataVectors","type":"integer"},{"name":"numberOfSamples","type":"integer"},{"name":"owner.email","type":"string"},{"name":"owner.id","type":"integer"},{"name":"owner.name","type":"string"},{"name":"primaryPublication.pubAccession.accession","type":"string"},{"name":"primaryPublication.pubAccession.accessionVersion","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.externalDatabases.size","type":"integer"},{"name":"primaryPublication.pubAccession.externalDatabase.ftpUri","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.id","type":"integer"},{"name":"primaryPublication.pubAccession.externalDatabase.lastUpdated","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.localInstallDbName","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.name","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.releaseUrl","type":"object"},{"name":"primaryPublication.pubAccession.externalDatabase.releaseVersion","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"primaryPublication.pubAccession.externalDatabase.webUri","type":"string"},{"name":"primaryPublication.pubAccession.id","type":"integer"},{"name":"processedExpressionDataVectors.size","type":"integer"},{"name":"quantitationTypes.size","type":"integer"},{"name":"rawExpressionDataVectors.size","type":"integer"},{"name":"shortName","type":"string"},{"name":"singleCellExpressionDataVectors.size","type":"integer"},{"name":"taxon","type":"integer","description":"alias for taxon.id"},{"name":"taxon.commonName","type":"string"},{"name":"taxon.externalDatabase.ftpUri","type":"string"},{"name":"taxon.externalDatabase.id","type":"integer"},{"name":"taxon.externalDatabase.lastUpdated","type":"string"},{"name":"taxon.externalDatabase.localInstallDbName","type":"string"},{"name":"taxon.externalDatabase.name","type":"string"},{"name":"taxon.externalDatabase.releaseUrl","type":"object"},{"name":"taxon.externalDatabase.releaseVersion","type":"string"},{"name":"taxon.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"taxon.externalDatabase.webUri","type":"string"},{"name":"taxon.id","type":"integer"},{"name":"taxon.isGenesUsable","type":"boolean"},{"name":"taxon.ncbiId","type":"integer"},{"name":"taxon.scientificName","type":"string"},{"name":"taxon.secondaryNcbiId","type":"integer"},{"name":"troubled","type":"boolean","description":"alias for curationDetails.troubled"}]},"TaxonArg":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]},"BibliographicReferenceValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"abstractText":{"type":"string"},"authorList":{"type":"string"},"citation":{"$ref":"#/components/schemas/CitationValueObject"},"experiments":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentValueObject"}},"issue":{"type":"string"},"pages":{"type":"string"},"pubAccession":{"type":"string"},"publication":{"type":"string"},"publicationDate":{"type":"string","format":"date-time"},"publisher":{"type":"string"},"title":{"type":"string"},"volume":{"type":"string"},"meshTerms":{"type":"array","items":{"type":"string"}},"chemicalsTerms":{"type":"array","items":{"type":"string"}},"retracted":{"type":"boolean"}}},"CitationValueObject":{"type":"object","properties":{"citation":{"type":"string"},"id":{"type":"integer","format":"int64"},"pubmedAccession":{"type":"string"},"pubmedURL":{"type":"string"},"retracted":{"type":"boolean"}}},"ResponseDataObjectListBibliographicReferenceValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BibliographicReferenceValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"AnnotationValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"classUri":{"type":"string"},"className":{"type":"string"},"termUri":{"type":"string"},"termName":{"type":"string"},"evidenceCode":{"type":"string","enum":["IC","IDA","IEA","IEP","IGI","IMP","IPI","ISS","NAS","ND","RCA","TAS","NR","EXP","ISA","ISM","IGC","ISO","IIA","IBA","IBD","IKR","IRD","IMR","IED","IAGP","IPM","QTM","HDA","HEP","HGI","HMP","HTP","OTHER"]},"objectClass":{"type":"string"}}},"ResponseDataObjectSetAnnotationValueObject":{"type":"object","properties":{"data":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/AnnotationValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"CellLevelCharacteristicsValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"characteristics":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"characteristicIds":{"type":"array","items":{"type":"integer","format":"int64"}},"numberOfAssignedCells":{"type":"integer","format":"int32"}}},"ResponseDataObjectListCellLevelCharacteristicsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CellLevelCharacteristicsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"QuantitationTypeArg":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]},"CellTypeAssignmentValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"protocol":{"$ref":"#/components/schemas/ProtocolValueObject"},"cellTypes":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"cellTypeIds":{"type":"array","items":{"type":"integer","format":"int64"}},"numberOfAssignedCells":{"type":"integer","format":"int32"},"preferred":{"type":"boolean"}}},"ResponseDataObjectCellTypeAssignmentValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CellTypeAssignmentValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectListDifferentialExpressionAnalysisValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DifferentialExpressionAnalysisValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ArrayDesignValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"lastUpdated":{"type":"string","format":"date-time"},"troubled":{"type":"boolean"},"lastTroubledEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"needsAttention":{"type":"boolean"},"lastNeedsAttentionEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"curationNote":{"type":"string"},"lastNoteUpdateEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"color":{"type":"string","enum":["TWOCOLOR","DUALMODE","ONECOLOR","SEQUENCING","GENELIST","OTHER"]},"description":{"type":"string"},"expressionExperimentCount":{"type":"integer","format":"int64"},"isMerged":{"type":"boolean"},"isMergee":{"type":"boolean"},"name":{"type":"string"},"shortName":{"type":"string"},"technologyType":{"type":"string","enum":["TWOCOLOR","DUALMODE","ONECOLOR","SEQUENCING","GENELIST","OTHER"]},"releaseVersion":{"type":"string"},"releaseUrl":{"type":"string","format":"url"},"externalReferences":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/DatabaseEntryValueObject"}},"numberOfExpressionExperiments":{"type":"integer","format":"int64"},"taxonID":{"type":"integer","format":"int64"},"troubleDetails":{"type":"string"},"numberOfSwitchedExpressionExperiments":{"type":"integer","format":"int64"},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"}}},"ResponseDataObjectListArrayDesignValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ArrayDesignValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"QuantitationTypeValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string"},"generalType":{"type":"string","enum":["QUANTITATIVE","CATEGORICAL","UNKNOWN"]},"type":{"type":"string","enum":["PRESENTABSENT","FAILED","AMOUNT","CONFIDENCEINDICATOR","CORRELATION","COUNT","COORDINATE","ZSCORE","OTHER"]},"representation":{"type":"string","enum":["FLOAT","DOUBLE","INT","LONG","CHAR","BOOLEAN","STRING"]},"scale":{"type":"string","enum":["LINEAR","LN","LOG2","LOG10","LOG1P","LOGBASEUNKNOWN","FOLDCHANGE","UNSCALED","PERCENT1","PERCENT","COUNT","OTHER"]},"isBackground":{"type":"boolean"},"isBackgroundSubtracted":{"type":"boolean"},"isBatchCorrected":{"type":"boolean"},"isNormalized":{"type":"boolean"},"isRatio":{"type":"boolean"},"isRecomputedFromRawData":{"type":"boolean"},"isPreferred":{"type":"boolean"},"isMaskedPreferred":{"type":"boolean","deprecated":true},"vectorType":{"type":"string"}}},"ResponseDataObjectSetQuantitationTypeValueObject":{"type":"object","properties":{"data":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/QuantitationTypeValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"BioAssayValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"shortName":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"metadata":{"type":"string"},"accession":{"$ref":"#/components/schemas/DatabaseEntryValueObject"},"arrayDesign":{"$ref":"#/components/schemas/ArrayDesignValueObject"},"originalPlatform":{"$ref":"#/components/schemas/ArrayDesignValueObject"},"processingDate":{"type":"string","format":"date-time"},"sample":{"$ref":"#/components/schemas/BioMaterialValueObject"},"sequencePairedReads":{"type":"boolean"},"sequenceReadCount":{"type":"integer","format":"int64"},"sequenceReadLength":{"type":"integer","format":"int32"},"outlier":{"type":"boolean"},"predictedOutlier":{"type":"boolean"},"userFlaggedOutlier":{"type":"boolean"},"sourceBioAssayId":{"type":"integer","format":"int64"}}},"BioMaterialValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string"},"bioAssayIds":{"type":"array","items":{"type":"integer","format":"int64"}},"characteristics":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"sourceBioMaterialId":{"type":"integer","format":"int64"},"factors":{"type":"object","additionalProperties":{"type":"string","description":"This is deprecated, use the `factorValues` collection instead.","deprecated":true},"description":"This is deprecated, use the `factorValues` collection instead.","deprecated":true},"factorValueObjects":{"type":"array","description":"This property is redundant, use `factorValues` instead.","deprecated":true,"items":{"$ref":"#/components/schemas/FactorValueBasicValueObject"}},"factorValues":{"type":"array","items":{"$ref":"#/components/schemas/FactorValueBasicValueObject"}}}},"ResponseDataObjectListBioAssayValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BioAssayValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectSingleCellDimensionValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SingleCellDimensionValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"SingleCellDimensionValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"cellIds":{"type":"array","items":{"type":"string"}},"numberOfCells":{"type":"integer","format":"int32"},"bioAssayIds":{"type":"array","items":{"type":"integer","format":"int64"}},"cellTypeAssignments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CellTypeAssignmentValueObject"}},"cellLevelCharacteristics":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CellLevelCharacteristicsValueObject"}}}},"ExpressionExperimentSubSetWithGroupsValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"sourceExperimentId":{"type":"integer","format":"int64"},"sourceExperimentShortName":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"numberOfBioAssays":{"type":"integer","format":"int32"},"characteristics":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"bioAssays":{"type":"array","items":{"$ref":"#/components/schemas/BioAssayValueObject"}},"subSetGroupIds":{"type":"array","items":{"type":"integer","format":"int64"}}}},"ResponseDataObjectExpressionExperimentSubSetWithGroupsValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ExpressionExperimentSubSetWithGroupsValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ExpressionExperimentSubSetGroupValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"factors":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentalFactorValueObject"}},"quantitationTypes":{"type":"array","items":{"$ref":"#/components/schemas/QuantitationTypeValueObject"}},"subSets":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentSubsetWithFactorValuesObject"}}}},"ExpressionExperimentSubsetWithFactorValuesObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"sourceExperimentId":{"type":"integer","format":"int64"},"sourceExperimentShortName":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"numberOfBioAssays":{"type":"integer","format":"int32"},"characteristics":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"bioAssays":{"type":"array","items":{"$ref":"#/components/schemas/BioAssayValueObject"}},"factorValues":{"type":"array","items":{"$ref":"#/components/schemas/FactorValueBasicValueObject"}}}},"ResponseDataObjectExpressionExperimentSubSetGroupValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ExpressionExperimentSubSetGroupValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectListExpressionExperimentSubSetGroupValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentSubSetGroupValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectListExpressionExperimentSubSetWithGroupsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentSubSetWithGroupsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectSimpleSVDValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SimpleSVDValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"SimpleSVDValueObject":{"type":"object","properties":{"bioAssayIds":{"type":"array","items":{"type":"integer","format":"int64"}},"bioMaterialIds":{"type":"array","items":{"type":"integer","format":"int64"}},"variances":{"type":"array","items":{"type":"number","format":"double"}},"vmatrix":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}},"BioSequenceValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"description":{"type":"string"},"fractionRepeats":{"type":"number","format":"double"},"length":{"type":"integer","format":"int64"},"name":{"type":"string"},"sequence":{"type":"string"},"sequenceDatabaseEntry":{"$ref":"#/components/schemas/DatabaseEntryValueObject"},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"},"type":{"type":"string","enum":["AFFY_TARGET","AFFY_PROBE","EST","mRNA","REFSEQ","BAC","WHOLE_GENOME","WHOLE_CHROMOSOME","DNA","OTHER","ORF","AFFY_COLLAPSED","OLIGO","DUMMY"]}}},"CompositeSequenceValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string"},"arrayDesign":{"$ref":"#/components/schemas/ArrayDesignValueObject"}}},"ExpressionExperimentSetValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"description":{"type":"string"},"expressionExperimentIds":{"type":"array","items":{"type":"integer","format":"int64"}},"isPublic":{"type":"boolean"},"modifiable":{"type":"boolean"},"name":{"type":"string"},"size":{"type":"integer","format":"int32"},"numWithCoexpressionAnalysis":{"type":"integer","format":"int32"},"numWithDifferentialExpressionAnalysis":{"type":"integer","format":"int32"},"taxonId":{"type":"integer","format":"int64"},"taxonName":{"type":"string"},"userCanWrite":{"type":"boolean"},"userOwned":{"type":"boolean"},"isShared":{"type":"boolean"}}},"ExpressionExperimentWithSearchResultValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"lastUpdated":{"type":"string","format":"date-time"},"troubled":{"type":"boolean"},"lastTroubledEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"needsAttention":{"type":"boolean"},"lastNeedsAttentionEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"curationNote":{"type":"string"},"lastNoteUpdateEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"numberOfBioAssays":{"type":"integer","format":"int32"},"description":{"type":"string"},"name":{"type":"string"},"accession":{"type":"string"},"batchConfound":{"type":"string"},"batchEffect":{"type":"string","enum":["NO_BATCH_INFO","SINGLETON_BATCHES_FAILURE","UNINFORMATIVE_HEADERS_FAILURE","PROBLEMATIC_BATCH_INFO_FAILURE","BATCH_EFFECT_FAILURE","BATCH_CORRECTED_SUCCESS","SINGLE_BATCH_SUCCESS","BATCH_EFFECT_UNDETERMINED_FAILURE","NO_BATCH_EFFECT_SUCCESS"]},"batchEffectStatistics":{"type":"string"},"externalDatabase":{"type":"string"},"externalDatabaseUri":{"type":"string"},"externalUri":{"type":"string"},"geeq":{"$ref":"#/components/schemas/GeeqValueObject"},"metadata":{"type":"string"},"shortName":{"type":"string"},"source":{"type":"string"},"technologyType":{"type":"string"},"characteristics":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"searchResult":{"$ref":"#/components/schemas/SearchResultValueObjectExpressionExperimentValueObject"},"taxonId":{"type":"integer","format":"int64"},"bioAssayCount":{"type":"integer","format":"int32"},"troubleDetails":{"type":"string"},"numberOfArrayDesigns":{"type":"integer","format":"int64"},"numberOfProcessedExpressionVectors":{"type":"integer","format":"int32"},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"}}},"GeneSetValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string"},"geneIds":{"type":"array","items":{"type":"integer","format":"int64"}},"size":{"type":"integer","format":"int64"},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"}}},"QueriedAndFilteredAndInferredAndPaginatedResponseDataObjectExpressionExperimentWithSearchResultValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentWithSearchResultValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"},"query":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"SearchResultValueObjectExpressionExperimentValueObject":{"type":"object","properties":{"resultId":{"type":"integer","format":"int64"},"resultType":{"$ref":"#/components/schemas/SearchResultType"},"score":{"type":"number","format":"double"},"highlights":{"type":"object","additionalProperties":{"type":"string"}},"resultObject":{"$ref":"#/components/schemas/ExpressionExperimentValueObject"}}},"QueryArg":{"type":"string","description":"Filter results matching the given full-text query.\n\nThe search query accepts the following syntax:\n\n| | | |\n|--------------|-----------------------------|------------------------------------------------------------------------------------------------------------------------|\n| Conjunction | `alpha AND beta AND gamma` | Results must contain \"alpha\", \"beta\" and \"gamma\". |\n| Disjunction | `alpha OR beta OR gamma` | Results must contain either \"alpha\", \"beta\" or \"gamma\". This is the default when multiple terms are supplied. | \n| Grouping | `(alpha OR beta) AND gamma` | Results must contain one of \"alpha\" or \"beta\" and also \"gamma\". |\n| Exact Search | `\"alpha beta gamma\"` | Results must contain the exact phrase \"alpha beta gamma\". |\n| Field | `shortName:GSE00001` | Results with short name GSE00001.
List of supported fields

ubic.gemma.model.genome.gene.GeneSet

  • description
  • name
  • characteristics.value
  • characteristics.valueUri
  • literatureSources.abstractText
  • literatureSources.authorList
  • literatureSources.fullTextUri
  • literatureSources.name
  • literatureSources.title
  • sourceAccession.accession
  • literatureSources.chemicals.name
  • literatureSources.chemicals.registryNumber
  • literatureSources.keywords.term
  • literatureSources.meshTerms.term
  • literatureSources.pubAccession.accession
  • members.gene.ensemblId
  • members.gene.name
  • members.gene.ncbiGeneId
  • members.gene.officialName
  • members.gene.officialSymbol
  • members.gene.accessions.accession
  • members.gene.aliases.alias
  • members.gene.products.name
  • members.gene.products.ncbiGi
  • members.gene.products.previousNcbiId
  • members.gene.products.accessions.accession

ubic.gemma.model.expression.experiment.ExpressionExperiment

  • description
  • name
  • shortName
  • accession.accession
  • bioAssays.description
  • bioAssays.name
  • characteristics.value
  • characteristics.valueUri
  • experimentalDesign.description
  • experimentalDesign.name
  • otherRelevantPublications.abstractText
  • otherRelevantPublications.authorList
  • otherRelevantPublications.fullTextUri
  • otherRelevantPublications.name
  • otherRelevantPublications.title
  • primaryPublication.abstractText
  • primaryPublication.authorList
  • primaryPublication.fullTextUri
  • primaryPublication.name
  • primaryPublication.title
  • bioAssays.accession.accession
  • bioAssays.sampleUsed.name
  • experimentalDesign.experimentalFactors.description
  • experimentalDesign.experimentalFactors.name
  • otherRelevantPublications.chemicals.name
  • otherRelevantPublications.chemicals.registryNumber
  • otherRelevantPublications.keywords.term
  • otherRelevantPublications.meshTerms.term
  • otherRelevantPublications.pubAccession.accession
  • primaryPublication.chemicals.name
  • primaryPublication.chemicals.registryNumber
  • primaryPublication.keywords.term
  • primaryPublication.meshTerms.term
  • primaryPublication.pubAccession.accession
  • bioAssays.sampleUsed.characteristics.value
  • bioAssays.sampleUsed.characteristics.valueUri
  • experimentalDesign.experimentalFactors.category.category
  • experimentalDesign.experimentalFactors.category.categoryUri
  • experimentalDesign.experimentalFactors.factorValues.characteristics.object
  • experimentalDesign.experimentalFactors.factorValues.characteristics.objectUri
  • experimentalDesign.experimentalFactors.factorValues.characteristics.secondObject
  • experimentalDesign.experimentalFactors.factorValues.characteristics.secondObjectUri
  • experimentalDesign.experimentalFactors.factorValues.characteristics.value
  • experimentalDesign.experimentalFactors.factorValues.characteristics.valueUri

ubic.gemma.model.expression.designElement.CompositeSequence

  • description
  • name
  • biologicalCharacteristic.name
  • biologicalCharacteristic.sequenceDatabaseEntry.accession

ubic.gemma.model.expression.arrayDesign.ArrayDesign

  • description
  • name
  • shortName
  • alternateNames.name
  • externalReferences.accession

ubic.gemma.model.genome.Gene

  • ensemblId
  • name
  • ncbiGeneId
  • officialName
  • officialSymbol
  • accessions.accession
  • aliases.alias
  • products.name
  • products.ncbiGi
  • products.previousNcbiId
  • products.accessions.accession

ubic.gemma.model.genome.biosequence.BioSequence

  • name
  • sequenceDatabaseEntry.accession
|\n| Prefix | `alpha*` | Results must start with \"alpha\". |\n| Wildcard | `BRCA?` | Results can contain any letter for the `?`. In this example, BRCA1 and BRCA2 would be matched. | \n| Fuzzy | `alpha~` | Results can approximate \"alpha\". In this example, \"aleph\" would be accepted. |\n| Boosting | `alpha^2 beta` | Results mentioning \"alpha\" are ranked higher over those containing only \"beta\". |\n| Require | `+alpha beta` | Results must mention \"alpha\" and optionally \"beta\". |\n| Escape | `\\+alpha` | Results must mention \"+alpha\". Any special character from the search syntax can be escaped by prepending it with \"\\\". | \n","externalDocs":{"url":"https://lucene.apache.org/core/3_6_2/queryparsersyntax.html"},"x-gemma-searchable-properties":{"ubic.gemma.model.genome.gene.GeneSet":["description","name","characteristics.value","characteristics.valueUri","literatureSources.abstractText","literatureSources.authorList","literatureSources.fullTextUri","literatureSources.name","literatureSources.title","sourceAccession.accession","literatureSources.chemicals.name","literatureSources.chemicals.registryNumber","literatureSources.keywords.term","literatureSources.meshTerms.term","literatureSources.pubAccession.accession","members.gene.ensemblId","members.gene.name","members.gene.ncbiGeneId","members.gene.officialName","members.gene.officialSymbol","members.gene.accessions.accession","members.gene.aliases.alias","members.gene.products.name","members.gene.products.ncbiGi","members.gene.products.previousNcbiId","members.gene.products.accessions.accession"],"ubic.gemma.model.expression.experiment.ExpressionExperiment":["description","name","shortName","accession.accession","bioAssays.description","bioAssays.name","characteristics.value","characteristics.valueUri","experimentalDesign.description","experimentalDesign.name","otherRelevantPublications.abstractText","otherRelevantPublications.authorList","otherRelevantPublications.fullTextUri","otherRelevantPublications.name","otherRelevantPublications.title","primaryPublication.abstractText","primaryPublication.authorList","primaryPublication.fullTextUri","primaryPublication.name","primaryPublication.title","bioAssays.accession.accession","bioAssays.sampleUsed.name","experimentalDesign.experimentalFactors.description","experimentalDesign.experimentalFactors.name","otherRelevantPublications.chemicals.name","otherRelevantPublications.chemicals.registryNumber","otherRelevantPublications.keywords.term","otherRelevantPublications.meshTerms.term","otherRelevantPublications.pubAccession.accession","primaryPublication.chemicals.name","primaryPublication.chemicals.registryNumber","primaryPublication.keywords.term","primaryPublication.meshTerms.term","primaryPublication.pubAccession.accession","bioAssays.sampleUsed.characteristics.value","bioAssays.sampleUsed.characteristics.valueUri","experimentalDesign.experimentalFactors.category.category","experimentalDesign.experimentalFactors.category.categoryUri","experimentalDesign.experimentalFactors.factorValues.characteristics.object","experimentalDesign.experimentalFactors.factorValues.characteristics.objectUri","experimentalDesign.experimentalFactors.factorValues.characteristics.secondObject","experimentalDesign.experimentalFactors.factorValues.characteristics.secondObjectUri","experimentalDesign.experimentalFactors.factorValues.characteristics.value","experimentalDesign.experimentalFactors.factorValues.characteristics.valueUri"],"ubic.gemma.model.expression.designElement.CompositeSequence":["description","name","biologicalCharacteristic.name","biologicalCharacteristic.sequenceDatabaseEntry.accession"],"ubic.gemma.model.expression.arrayDesign.ArrayDesign":["description","name","shortName","alternateNames.name","externalReferences.accession"],"ubic.gemma.model.genome.Gene":["ensemblId","name","ncbiGeneId","officialName","officialSymbol","accessions.accession","aliases.alias","products.name","products.ncbiGi","products.previousNcbiId","products.accessions.accession"],"ubic.gemma.model.genome.biosequence.BioSequence":["name","sequenceDatabaseEntry.accession"]}},"AnnotationWithUsageStatisticsValueObject":{"type":"object","properties":{"classUri":{"type":"string"},"className":{"type":"string"},"termUri":{"type":"string"},"termName":{"type":"string"},"evidenceCode":{"type":"string","enum":["IC","IDA","IEA","IEP","IGI","IMP","IPI","ISS","NAS","ND","RCA","TAS","NR","EXP","ISA","ISM","IGC","ISO","IIA","IBA","IBD","IKR","IRD","IMR","IED","IAGP","IPM","QTM","HDA","HEP","HGI","HMP","HTP","OTHER"]},"numberOfExpressionExperiments":{"type":"integer","format":"int64"},"parentTerms":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/OntologyTermValueObject"}}}},"OntologyTermValueObject":{"type":"object","properties":{"uri":{"type":"string"},"name":{"type":"string"},"parentTerms":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/OntologyTermValueObject"}}}},"QueriedAndFilteredAndInferredAndLimitedResponseDataObjectAnnotationWithUsageStatisticsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationWithUsageStatisticsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"filter":{"type":"string"},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"limit":{"type":"integer","format":"int32"},"query":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"FilteredAndInferredAndPaginatedResponseDataObjectExpressionExperimentValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"CategoryWithUsageStatisticsValueObject":{"type":"object","properties":{"classUri":{"type":"string"},"className":{"type":"string"},"numberOfExpressionExperiments":{"type":"integer","format":"int64"}}},"QueriedAndFilteredAndInferredAndLimitedResponseDataObjectCategoryWithUsageStatisticsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CategoryWithUsageStatisticsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"filter":{"type":"string"},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"limit":{"type":"integer","format":"int32"},"query":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"ExperimentExpressionLevelsValueObject":{"type":"object","properties":{"datasetId":{"type":"integer","format":"int64"},"geneExpressionLevels":{"type":"array","items":{"$ref":"#/components/schemas/GeneElementExpressionsValueObject"}}}},"GeneElementExpressionsValueObject":{"type":"object","properties":{"geneOfficialSymbol":{"type":"string"},"geneNcbiId":{"type":"integer","format":"int32"},"vectors":{"type":"array","items":{"$ref":"#/components/schemas/VectorElementValueObject"}}}},"ResponseDataObjectListExperimentExpressionLevelsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentExpressionLevelsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"VectorElementValueObject":{"type":"object","properties":{"designElementName":{"type":"string"},"bioAssayExpressionLevels":{"type":"object","additionalProperties":{"type":"number","format":"double"}}}},"DifferentialExpressionAnalysisResultByGeneValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"probeId":{"type":"integer","format":"int64"},"probeName":{"type":"string"},"genes":{"type":"array","items":{"$ref":"#/components/schemas/GeneValueObject"}},"correctedPvalue":{"type":"number","format":"double"},"rank":{"type":"number","format":"double"},"contrasts":{"type":"array","items":{"$ref":"#/components/schemas/ContrastResultValueObject"}},"sourceExperimentId":{"type":"integer","format":"int64"},"experimentAnalyzedId":{"type":"integer","format":"int64"},"resultSetId":{"type":"integer","format":"int64"},"baseline":{"$ref":"#/components/schemas/FactorValueBasicValueObject"},"secondBaseline":{"$ref":"#/components/schemas/FactorValueBasicValueObject"},"pvalue":{"type":"number","format":"double"}}},"QueriedAndFilteredAndInferredAndPaginatedResponseDataObjectDifferentialExpressionAnalysisResultByGeneValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DifferentialExpressionAnalysisResultByGeneValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"},"query":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"GeneArg":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]},"PaginatedResponseDataObjectExperimentExpressionLevelsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentExpressionLevelsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"}}},"ArrayDesignWithUsageStatisticsValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"lastUpdated":{"type":"string","format":"date-time"},"troubled":{"type":"boolean"},"lastTroubledEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"needsAttention":{"type":"boolean"},"lastNeedsAttentionEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"curationNote":{"type":"string"},"lastNoteUpdateEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"color":{"type":"string","enum":["TWOCOLOR","DUALMODE","ONECOLOR","SEQUENCING","GENELIST","OTHER"]},"description":{"type":"string"},"isMerged":{"type":"boolean"},"isMergee":{"type":"boolean"},"name":{"type":"string"},"shortName":{"type":"string"},"technologyType":{"type":"string","enum":["TWOCOLOR","DUALMODE","ONECOLOR","SEQUENCING","GENELIST","OTHER"]},"releaseVersion":{"type":"string"},"releaseUrl":{"type":"string","format":"url"},"externalReferences":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/DatabaseEntryValueObject"}},"numberOfExpressionExperimentsForTechnologyType":{"type":"integer","format":"int64"},"numberOfExpressionExperiments":{"type":"integer","format":"int64"},"taxonID":{"type":"integer","format":"int64"},"troubleDetails":{"type":"string"},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"}}},"QueriedAndFilteredAndInferredAndLimitedResponseDataObjectArrayDesignWithUsageStatisticsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ArrayDesignWithUsageStatisticsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"filter":{"type":"string"},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"limit":{"type":"integer","format":"int32"},"query":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"QueriedAndFilteredAndInferredResponseDataObjectTaxonWithUsageStatisticsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TaxonWithUsageStatisticsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"filter":{"type":"string"},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"query":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"TaxonWithUsageStatisticsValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"scientificName":{"type":"string"},"commonName":{"type":"string"},"ncbiId":{"type":"integer","format":"int32"},"externalDatabase":{"$ref":"#/components/schemas/ExternalDatabaseValueObject"},"numberOfExpressionExperiments":{"type":"integer","format":"int64"}}},"ResponseDataObjectExpressionExperimentValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ExpressionExperimentValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"GeneOntologyTermValueObject":{"type":"object","properties":{"goId":{"type":"string"},"label":{"type":"string"},"uri":{"type":"string"},"comment":{"type":"string"},"localName":{"type":"string"},"term":{"type":"string"},"obsolete":{"type":"boolean"}}},"ResponseDataObjectListGeneOntologyTermValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GeneOntologyTermValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"PhysicalLocationValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"nucleotide":{"type":"integer","format":"int64"},"nucleotideLength":{"type":"integer","format":"int32"},"strand":{"type":"string"},"bin":{"type":"integer","format":"int32"},"chromosome":{"type":"string"},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"}}},"ResponseDataObjectListPhysicalLocationValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PhysicalLocationValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"PaginatedResponseDataObjectCompositeSequenceValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CompositeSequenceValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"}}},"PaginatedResponseDataObjectGeneValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GeneValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"}}},"ResponseDataObjectListGeneValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GeneValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"FilterArgArrayDesign":{"type":"string","description":"Filter results by matching the expression. The exact syntax is described in the attached external documentation. The filter value may be compressed with gzip and encoded with base64.\n\nAvailable properties:\n\n- advertisedNumberOfDesignElements `integer`\n- alternativeTo.advertisedNumberOfDesignElements `integer`\n- alternativeTo.compositeSequences.size `integer`\n- alternativeTo.curationDetails.id `integer`\n- alternativeTo.curationDetails.lastUpdated `string`\n- alternativeTo.curationDetails.needsAttention `boolean`\n- alternativeTo.curationDetails.troubled `boolean`\n- alternativeTo.designProvider.email `string`\n- alternativeTo.designProvider.id `integer`\n- alternativeTo.designProvider.name `string`\n- alternativeTo.externalReferences.size `integer`\n- alternativeTo.id `integer`\n- alternativeTo.mergees.size `integer`\n- alternativeTo.name `string`\n- alternativeTo.primaryTaxon.commonName `string`\n- alternativeTo.primaryTaxon.id `integer`\n- alternativeTo.primaryTaxon.isGenesUsable `boolean`\n- alternativeTo.primaryTaxon.ncbiId `integer`\n- alternativeTo.primaryTaxon.scientificName `string`\n- alternativeTo.primaryTaxon.secondaryNcbiId `integer`\n- alternativeTo.shortName `string`\n- alternativeTo.subsumedArrayDesigns.size `integer`\n- alternativeTo.technologyType `string` (possible values: TWOCOLOR, DUALMODE, ONECOLOR, SEQUENCING, GENELIST, OTHER)\n- compositeSequences.size `integer`\n- curationDetails.lastUpdated `string`\n- curationDetails.needsAttention `boolean`\n- curationDetails.troubled `boolean`\n- designProvider.email `string`\n- designProvider.id `integer`\n- designProvider.name `string`\n- externalReferences.Uri `string[]`\n- externalReferences.accession `string[]`\n- externalReferences.accessionVersion `string[]`\n- externalReferences.externalDatabase.externalDatabases.size `integer[]`\n- externalReferences.externalDatabase.ftpUri `string[]`\n- externalReferences.externalDatabase.id `integer[]`\n- externalReferences.externalDatabase.lastUpdated `string[]`\n- externalReferences.externalDatabase.localInstallDbName `string[]`\n- externalReferences.externalDatabase.name `string[]`\n- externalReferences.externalDatabase.releaseUrl `object[]`\n- externalReferences.externalDatabase.releaseVersion `string[]`\n- externalReferences.externalDatabase.type `string[]` (possible values: ONTOLOGY, SEQUENCE, LITERATURE, EXPRESSION, GENOME, OTHER, PROTEIN)\n- externalReferences.externalDatabase.webUri `string[]`\n- externalReferences.id `integer[]`\n- externalReferences.size `integer`\n- id `integer`\n- lastUpdated `string` (alias for curationDetails.lastUpdated)\n- mergedInto.advertisedNumberOfDesignElements `integer`\n- mergedInto.compositeSequences.size `integer`\n- mergedInto.curationDetails.id `integer`\n- mergedInto.curationDetails.lastUpdated `string`\n- mergedInto.curationDetails.needsAttention `boolean`\n- mergedInto.curationDetails.troubled `boolean`\n- mergedInto.designProvider.email `string`\n- mergedInto.designProvider.id `integer`\n- mergedInto.designProvider.name `string`\n- mergedInto.externalReferences.size `integer`\n- mergedInto.id `integer`\n- mergedInto.mergees.size `integer`\n- mergedInto.name `string`\n- mergedInto.primaryTaxon.commonName `string`\n- mergedInto.primaryTaxon.id `integer`\n- mergedInto.primaryTaxon.isGenesUsable `boolean`\n- mergedInto.primaryTaxon.ncbiId `integer`\n- mergedInto.primaryTaxon.scientificName `string`\n- mergedInto.primaryTaxon.secondaryNcbiId `integer`\n- mergedInto.shortName `string`\n- mergedInto.subsumedArrayDesigns.size `integer`\n- mergedInto.technologyType `string` (possible values: TWOCOLOR, DUALMODE, ONECOLOR, SEQUENCING, GENELIST, OTHER)\n- mergees.size `integer`\n- name `string`\n- needsAttention `boolean` (alias for curationDetails.needsAttention)\n- primaryTaxon.commonName `string`\n- primaryTaxon.externalDatabase.ftpUri `string`\n- primaryTaxon.externalDatabase.id `integer`\n- primaryTaxon.externalDatabase.lastUpdated `string`\n- primaryTaxon.externalDatabase.localInstallDbName `string`\n- primaryTaxon.externalDatabase.name `string`\n- primaryTaxon.externalDatabase.releaseUrl `object`\n- primaryTaxon.externalDatabase.releaseVersion `string`\n- primaryTaxon.externalDatabase.type `string` (possible values: ONTOLOGY, SEQUENCE, LITERATURE, EXPRESSION, GENOME, OTHER, PROTEIN)\n- primaryTaxon.externalDatabase.webUri `string`\n- primaryTaxon.id `integer`\n- primaryTaxon.isGenesUsable `boolean`\n- primaryTaxon.ncbiId `integer`\n- primaryTaxon.scientificName `string`\n- primaryTaxon.secondaryNcbiId `integer`\n- shortName `string`\n- subsumedArrayDesigns.size `integer`\n- subsumingArrayDesign.advertisedNumberOfDesignElements `integer`\n- subsumingArrayDesign.compositeSequences.size `integer`\n- subsumingArrayDesign.curationDetails.id `integer`\n- subsumingArrayDesign.curationDetails.lastUpdated `string`\n- subsumingArrayDesign.curationDetails.needsAttention `boolean`\n- subsumingArrayDesign.curationDetails.troubled `boolean`\n- subsumingArrayDesign.designProvider.email `string`\n- subsumingArrayDesign.designProvider.id `integer`\n- subsumingArrayDesign.designProvider.name `string`\n- subsumingArrayDesign.externalReferences.size `integer`\n- subsumingArrayDesign.id `integer`\n- subsumingArrayDesign.mergees.size `integer`\n- subsumingArrayDesign.name `string`\n- subsumingArrayDesign.primaryTaxon.commonName `string`\n- subsumingArrayDesign.primaryTaxon.id `integer`\n- subsumingArrayDesign.primaryTaxon.isGenesUsable `boolean`\n- subsumingArrayDesign.primaryTaxon.ncbiId `integer`\n- subsumingArrayDesign.primaryTaxon.scientificName `string`\n- subsumingArrayDesign.primaryTaxon.secondaryNcbiId `integer`\n- subsumingArrayDesign.shortName `string`\n- subsumingArrayDesign.subsumedArrayDesigns.size `integer`\n- subsumingArrayDesign.technologyType `string` (possible values: TWOCOLOR, DUALMODE, ONECOLOR, SEQUENCING, GENELIST, OTHER)\n- taxon `integer` (alias for taxon.id)\n- taxon.commonName `string` (alias for primaryTaxon.commonName)\n- taxon.externalDatabase.externalDatabases.size `integer` (alias for primaryTaxon.externalDatabase.externalDatabases.size)\n- taxon.externalDatabase.ftpUri `string` (alias for primaryTaxon.externalDatabase.ftpUri)\n- taxon.externalDatabase.id `integer` (alias for primaryTaxon.externalDatabase.id)\n- taxon.externalDatabase.lastUpdated `string` (alias for primaryTaxon.externalDatabase.lastUpdated)\n- taxon.externalDatabase.localInstallDbName `string` (alias for primaryTaxon.externalDatabase.localInstallDbName)\n- taxon.externalDatabase.name `string` (alias for primaryTaxon.externalDatabase.name)\n- taxon.externalDatabase.releaseUrl `object` (alias for primaryTaxon.externalDatabase.releaseUrl)\n- taxon.externalDatabase.releaseVersion `string` (alias for primaryTaxon.externalDatabase.releaseVersion)\n- taxon.externalDatabase.type `string` (alias for primaryTaxon.externalDatabase.type, possible values: ONTOLOGY, SEQUENCE, LITERATURE, EXPRESSION, GENOME, OTHER, PROTEIN)\n- taxon.externalDatabase.webUri `string` (alias for primaryTaxon.externalDatabase.webUri)\n- taxon.id `integer` (alias for primaryTaxon.id)\n- taxon.isGenesUsable `boolean` (alias for primaryTaxon.isGenesUsable)\n- taxon.ncbiId `integer` (alias for primaryTaxon.ncbiId)\n- taxon.scientificName `string` (alias for primaryTaxon.scientificName)\n- taxon.secondaryNcbiId `integer` (alias for primaryTaxon.secondaryNcbiId)\n- technologyType `string` (possible values: TWOCOLOR, DUALMODE, ONECOLOR, SEQUENCING, GENELIST, OTHER)\n- troubled `boolean` (alias for curationDetails.troubled)","externalDocs":{"url":"https://gemma.msl.ubc.ca/resources/apidocs/ubic/gemma/rest/util/args/FilterArg.html"},"x-gemma-filterable-properties":[{"name":"advertisedNumberOfDesignElements","type":"integer"},{"name":"alternativeTo.advertisedNumberOfDesignElements","type":"integer"},{"name":"alternativeTo.compositeSequences.size","type":"integer"},{"name":"alternativeTo.curationDetails.id","type":"integer"},{"name":"alternativeTo.curationDetails.lastUpdated","type":"string"},{"name":"alternativeTo.curationDetails.needsAttention","type":"boolean"},{"name":"alternativeTo.curationDetails.troubled","type":"boolean"},{"name":"alternativeTo.designProvider.email","type":"string"},{"name":"alternativeTo.designProvider.id","type":"integer"},{"name":"alternativeTo.designProvider.name","type":"string"},{"name":"alternativeTo.externalReferences.size","type":"integer"},{"name":"alternativeTo.id","type":"integer"},{"name":"alternativeTo.mergees.size","type":"integer"},{"name":"alternativeTo.name","type":"string"},{"name":"alternativeTo.primaryTaxon.commonName","type":"string"},{"name":"alternativeTo.primaryTaxon.id","type":"integer"},{"name":"alternativeTo.primaryTaxon.isGenesUsable","type":"boolean"},{"name":"alternativeTo.primaryTaxon.ncbiId","type":"integer"},{"name":"alternativeTo.primaryTaxon.scientificName","type":"string"},{"name":"alternativeTo.primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"alternativeTo.shortName","type":"string"},{"name":"alternativeTo.subsumedArrayDesigns.size","type":"integer"},{"name":"alternativeTo.technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"compositeSequences.size","type":"integer"},{"name":"curationDetails.lastUpdated","type":"string"},{"name":"curationDetails.needsAttention","type":"boolean"},{"name":"curationDetails.troubled","type":"boolean"},{"name":"designProvider.email","type":"string"},{"name":"designProvider.id","type":"integer"},{"name":"designProvider.name","type":"string"},{"name":"externalReferences.Uri","type":"string[]"},{"name":"externalReferences.accession","type":"string[]"},{"name":"externalReferences.accessionVersion","type":"string[]"},{"name":"externalReferences.externalDatabase.externalDatabases.size","type":"integer[]"},{"name":"externalReferences.externalDatabase.ftpUri","type":"string[]"},{"name":"externalReferences.externalDatabase.id","type":"integer[]"},{"name":"externalReferences.externalDatabase.lastUpdated","type":"string[]"},{"name":"externalReferences.externalDatabase.localInstallDbName","type":"string[]"},{"name":"externalReferences.externalDatabase.name","type":"string[]"},{"name":"externalReferences.externalDatabase.releaseUrl","type":"object[]"},{"name":"externalReferences.externalDatabase.releaseVersion","type":"string[]"},{"name":"externalReferences.externalDatabase.type","type":"string[]","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"externalReferences.externalDatabase.webUri","type":"string[]"},{"name":"externalReferences.id","type":"integer[]"},{"name":"externalReferences.size","type":"integer"},{"name":"id","type":"integer"},{"name":"lastUpdated","type":"string","description":"alias for curationDetails.lastUpdated"},{"name":"mergedInto.advertisedNumberOfDesignElements","type":"integer"},{"name":"mergedInto.compositeSequences.size","type":"integer"},{"name":"mergedInto.curationDetails.id","type":"integer"},{"name":"mergedInto.curationDetails.lastUpdated","type":"string"},{"name":"mergedInto.curationDetails.needsAttention","type":"boolean"},{"name":"mergedInto.curationDetails.troubled","type":"boolean"},{"name":"mergedInto.designProvider.email","type":"string"},{"name":"mergedInto.designProvider.id","type":"integer"},{"name":"mergedInto.designProvider.name","type":"string"},{"name":"mergedInto.externalReferences.size","type":"integer"},{"name":"mergedInto.id","type":"integer"},{"name":"mergedInto.mergees.size","type":"integer"},{"name":"mergedInto.name","type":"string"},{"name":"mergedInto.primaryTaxon.commonName","type":"string"},{"name":"mergedInto.primaryTaxon.id","type":"integer"},{"name":"mergedInto.primaryTaxon.isGenesUsable","type":"boolean"},{"name":"mergedInto.primaryTaxon.ncbiId","type":"integer"},{"name":"mergedInto.primaryTaxon.scientificName","type":"string"},{"name":"mergedInto.primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"mergedInto.shortName","type":"string"},{"name":"mergedInto.subsumedArrayDesigns.size","type":"integer"},{"name":"mergedInto.technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"mergees.size","type":"integer"},{"name":"name","type":"string"},{"name":"needsAttention","type":"boolean","description":"alias for curationDetails.needsAttention"},{"name":"primaryTaxon.commonName","type":"string"},{"name":"primaryTaxon.externalDatabase.ftpUri","type":"string"},{"name":"primaryTaxon.externalDatabase.id","type":"integer"},{"name":"primaryTaxon.externalDatabase.lastUpdated","type":"string"},{"name":"primaryTaxon.externalDatabase.localInstallDbName","type":"string"},{"name":"primaryTaxon.externalDatabase.name","type":"string"},{"name":"primaryTaxon.externalDatabase.releaseUrl","type":"object"},{"name":"primaryTaxon.externalDatabase.releaseVersion","type":"string"},{"name":"primaryTaxon.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"primaryTaxon.externalDatabase.webUri","type":"string"},{"name":"primaryTaxon.id","type":"integer"},{"name":"primaryTaxon.isGenesUsable","type":"boolean"},{"name":"primaryTaxon.ncbiId","type":"integer"},{"name":"primaryTaxon.scientificName","type":"string"},{"name":"primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"shortName","type":"string"},{"name":"subsumedArrayDesigns.size","type":"integer"},{"name":"subsumingArrayDesign.advertisedNumberOfDesignElements","type":"integer"},{"name":"subsumingArrayDesign.compositeSequences.size","type":"integer"},{"name":"subsumingArrayDesign.curationDetails.id","type":"integer"},{"name":"subsumingArrayDesign.curationDetails.lastUpdated","type":"string"},{"name":"subsumingArrayDesign.curationDetails.needsAttention","type":"boolean"},{"name":"subsumingArrayDesign.curationDetails.troubled","type":"boolean"},{"name":"subsumingArrayDesign.designProvider.email","type":"string"},{"name":"subsumingArrayDesign.designProvider.id","type":"integer"},{"name":"subsumingArrayDesign.designProvider.name","type":"string"},{"name":"subsumingArrayDesign.externalReferences.size","type":"integer"},{"name":"subsumingArrayDesign.id","type":"integer"},{"name":"subsumingArrayDesign.mergees.size","type":"integer"},{"name":"subsumingArrayDesign.name","type":"string"},{"name":"subsumingArrayDesign.primaryTaxon.commonName","type":"string"},{"name":"subsumingArrayDesign.primaryTaxon.id","type":"integer"},{"name":"subsumingArrayDesign.primaryTaxon.isGenesUsable","type":"boolean"},{"name":"subsumingArrayDesign.primaryTaxon.ncbiId","type":"integer"},{"name":"subsumingArrayDesign.primaryTaxon.scientificName","type":"string"},{"name":"subsumingArrayDesign.primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"subsumingArrayDesign.shortName","type":"string"},{"name":"subsumingArrayDesign.subsumedArrayDesigns.size","type":"integer"},{"name":"subsumingArrayDesign.technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"taxon","type":"integer","description":"alias for taxon.id"},{"name":"taxon.commonName","type":"string","description":"alias for primaryTaxon.commonName"},{"name":"taxon.externalDatabase.externalDatabases.size","type":"integer","description":"alias for primaryTaxon.externalDatabase.externalDatabases.size"},{"name":"taxon.externalDatabase.ftpUri","type":"string","description":"alias for primaryTaxon.externalDatabase.ftpUri"},{"name":"taxon.externalDatabase.id","type":"integer","description":"alias for primaryTaxon.externalDatabase.id"},{"name":"taxon.externalDatabase.lastUpdated","type":"string","description":"alias for primaryTaxon.externalDatabase.lastUpdated"},{"name":"taxon.externalDatabase.localInstallDbName","type":"string","description":"alias for primaryTaxon.externalDatabase.localInstallDbName"},{"name":"taxon.externalDatabase.name","type":"string","description":"alias for primaryTaxon.externalDatabase.name"},{"name":"taxon.externalDatabase.releaseUrl","type":"object","description":"alias for primaryTaxon.externalDatabase.releaseUrl"},{"name":"taxon.externalDatabase.releaseVersion","type":"string","description":"alias for primaryTaxon.externalDatabase.releaseVersion"},{"name":"taxon.externalDatabase.type","type":"string","description":"alias for primaryTaxon.externalDatabase.type","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"taxon.externalDatabase.webUri","type":"string","description":"alias for primaryTaxon.externalDatabase.webUri"},{"name":"taxon.id","type":"integer","description":"alias for primaryTaxon.id"},{"name":"taxon.isGenesUsable","type":"boolean","description":"alias for primaryTaxon.isGenesUsable"},{"name":"taxon.ncbiId","type":"integer","description":"alias for primaryTaxon.ncbiId"},{"name":"taxon.scientificName","type":"string","description":"alias for primaryTaxon.scientificName"},{"name":"taxon.secondaryNcbiId","type":"integer","description":"alias for primaryTaxon.secondaryNcbiId"},{"name":"technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"troubled","type":"boolean","description":"alias for curationDetails.troubled"}]},"PlatformArg":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]},"PaginatedResponseDataObjectExpressionExperimentValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"}}},"FilteredAndPaginatedResponseDataObjectCompositeSequenceValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CompositeSequenceValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"}}},"CompositeSequenceArg":{"required":["value"],"oneOf":[{"type":"integer","description":"A composite sequence numerical identifier.","format":"int64"},{"type":"string","description":"A composite sequence name."}]},"FilteredAndPaginatedResponseDataObjectGeneValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GeneValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"}}},"FilteredAndPaginatedResponseDataObjectArrayDesignValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ArrayDesignValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"}}},"SortArgArrayDesign":{"pattern":"^(\\+|-?)(\\w+)$","type":"string","description":"Order results by the given property and direction. The '+' sign indicate ascending order whereas the '-' indicate descending. If no indicator is used, the default order is applied which is generally ascending. Nulls always appear last.\n\nAvailable properties:\n\n- advertisedNumberOfDesignElements `integer`\n- alternativeTo.advertisedNumberOfDesignElements `integer`\n- alternativeTo.compositeSequences.size `integer`\n- alternativeTo.curationDetails.id `integer`\n- alternativeTo.curationDetails.lastUpdated `string`\n- alternativeTo.curationDetails.needsAttention `boolean`\n- alternativeTo.curationDetails.troubled `boolean`\n- alternativeTo.designProvider.email `string`\n- alternativeTo.designProvider.id `integer`\n- alternativeTo.designProvider.name `string`\n- alternativeTo.externalReferences.size `integer`\n- alternativeTo.id `integer`\n- alternativeTo.mergees.size `integer`\n- alternativeTo.name `string`\n- alternativeTo.primaryTaxon.commonName `string`\n- alternativeTo.primaryTaxon.id `integer`\n- alternativeTo.primaryTaxon.isGenesUsable `boolean`\n- alternativeTo.primaryTaxon.ncbiId `integer`\n- alternativeTo.primaryTaxon.scientificName `string`\n- alternativeTo.primaryTaxon.secondaryNcbiId `integer`\n- alternativeTo.shortName `string`\n- alternativeTo.subsumedArrayDesigns.size `integer`\n- alternativeTo.technologyType `string` (possible values: TWOCOLOR, DUALMODE, ONECOLOR, SEQUENCING, GENELIST, OTHER)\n- compositeSequences.size `integer`\n- curationDetails.lastUpdated `string`\n- curationDetails.needsAttention `boolean`\n- curationDetails.troubled `boolean`\n- designProvider.email `string`\n- designProvider.id `integer`\n- designProvider.name `string`\n- externalReferences.Uri `string[]`\n- externalReferences.accession `string[]`\n- externalReferences.accessionVersion `string[]`\n- externalReferences.externalDatabase.externalDatabases.size `integer[]`\n- externalReferences.externalDatabase.ftpUri `string[]`\n- externalReferences.externalDatabase.id `integer[]`\n- externalReferences.externalDatabase.lastUpdated `string[]`\n- externalReferences.externalDatabase.localInstallDbName `string[]`\n- externalReferences.externalDatabase.name `string[]`\n- externalReferences.externalDatabase.releaseUrl `object[]`\n- externalReferences.externalDatabase.releaseVersion `string[]`\n- externalReferences.externalDatabase.type `string[]` (possible values: ONTOLOGY, SEQUENCE, LITERATURE, EXPRESSION, GENOME, OTHER, PROTEIN)\n- externalReferences.externalDatabase.webUri `string[]`\n- externalReferences.id `integer[]`\n- externalReferences.size `integer`\n- id `integer`\n- lastUpdated `string` (alias for curationDetails.lastUpdated)\n- mergedInto.advertisedNumberOfDesignElements `integer`\n- mergedInto.compositeSequences.size `integer`\n- mergedInto.curationDetails.id `integer`\n- mergedInto.curationDetails.lastUpdated `string`\n- mergedInto.curationDetails.needsAttention `boolean`\n- mergedInto.curationDetails.troubled `boolean`\n- mergedInto.designProvider.email `string`\n- mergedInto.designProvider.id `integer`\n- mergedInto.designProvider.name `string`\n- mergedInto.externalReferences.size `integer`\n- mergedInto.id `integer`\n- mergedInto.mergees.size `integer`\n- mergedInto.name `string`\n- mergedInto.primaryTaxon.commonName `string`\n- mergedInto.primaryTaxon.id `integer`\n- mergedInto.primaryTaxon.isGenesUsable `boolean`\n- mergedInto.primaryTaxon.ncbiId `integer`\n- mergedInto.primaryTaxon.scientificName `string`\n- mergedInto.primaryTaxon.secondaryNcbiId `integer`\n- mergedInto.shortName `string`\n- mergedInto.subsumedArrayDesigns.size `integer`\n- mergedInto.technologyType `string` (possible values: TWOCOLOR, DUALMODE, ONECOLOR, SEQUENCING, GENELIST, OTHER)\n- mergees.size `integer`\n- name `string`\n- needsAttention `boolean` (alias for curationDetails.needsAttention)\n- primaryTaxon.commonName `string`\n- primaryTaxon.externalDatabase.ftpUri `string`\n- primaryTaxon.externalDatabase.id `integer`\n- primaryTaxon.externalDatabase.lastUpdated `string`\n- primaryTaxon.externalDatabase.localInstallDbName `string`\n- primaryTaxon.externalDatabase.name `string`\n- primaryTaxon.externalDatabase.releaseUrl `object`\n- primaryTaxon.externalDatabase.releaseVersion `string`\n- primaryTaxon.externalDatabase.type `string` (possible values: ONTOLOGY, SEQUENCE, LITERATURE, EXPRESSION, GENOME, OTHER, PROTEIN)\n- primaryTaxon.externalDatabase.webUri `string`\n- primaryTaxon.id `integer`\n- primaryTaxon.isGenesUsable `boolean`\n- primaryTaxon.ncbiId `integer`\n- primaryTaxon.scientificName `string`\n- primaryTaxon.secondaryNcbiId `integer`\n- shortName `string`\n- subsumedArrayDesigns.size `integer`\n- subsumingArrayDesign.advertisedNumberOfDesignElements `integer`\n- subsumingArrayDesign.compositeSequences.size `integer`\n- subsumingArrayDesign.curationDetails.id `integer`\n- subsumingArrayDesign.curationDetails.lastUpdated `string`\n- subsumingArrayDesign.curationDetails.needsAttention `boolean`\n- subsumingArrayDesign.curationDetails.troubled `boolean`\n- subsumingArrayDesign.designProvider.email `string`\n- subsumingArrayDesign.designProvider.id `integer`\n- subsumingArrayDesign.designProvider.name `string`\n- subsumingArrayDesign.externalReferences.size `integer`\n- subsumingArrayDesign.id `integer`\n- subsumingArrayDesign.mergees.size `integer`\n- subsumingArrayDesign.name `string`\n- subsumingArrayDesign.primaryTaxon.commonName `string`\n- subsumingArrayDesign.primaryTaxon.id `integer`\n- subsumingArrayDesign.primaryTaxon.isGenesUsable `boolean`\n- subsumingArrayDesign.primaryTaxon.ncbiId `integer`\n- subsumingArrayDesign.primaryTaxon.scientificName `string`\n- subsumingArrayDesign.primaryTaxon.secondaryNcbiId `integer`\n- subsumingArrayDesign.shortName `string`\n- subsumingArrayDesign.subsumedArrayDesigns.size `integer`\n- subsumingArrayDesign.technologyType `string` (possible values: TWOCOLOR, DUALMODE, ONECOLOR, SEQUENCING, GENELIST, OTHER)\n- taxon `integer` (alias for taxon.id)\n- taxon.commonName `string` (alias for primaryTaxon.commonName)\n- taxon.externalDatabase.externalDatabases.size `integer` (alias for primaryTaxon.externalDatabase.externalDatabases.size)\n- taxon.externalDatabase.ftpUri `string` (alias for primaryTaxon.externalDatabase.ftpUri)\n- taxon.externalDatabase.id `integer` (alias for primaryTaxon.externalDatabase.id)\n- taxon.externalDatabase.lastUpdated `string` (alias for primaryTaxon.externalDatabase.lastUpdated)\n- taxon.externalDatabase.localInstallDbName `string` (alias for primaryTaxon.externalDatabase.localInstallDbName)\n- taxon.externalDatabase.name `string` (alias for primaryTaxon.externalDatabase.name)\n- taxon.externalDatabase.releaseUrl `object` (alias for primaryTaxon.externalDatabase.releaseUrl)\n- taxon.externalDatabase.releaseVersion `string` (alias for primaryTaxon.externalDatabase.releaseVersion)\n- taxon.externalDatabase.type `string` (alias for primaryTaxon.externalDatabase.type, possible values: ONTOLOGY, SEQUENCE, LITERATURE, EXPRESSION, GENOME, OTHER, PROTEIN)\n- taxon.externalDatabase.webUri `string` (alias for primaryTaxon.externalDatabase.webUri)\n- taxon.id `integer` (alias for primaryTaxon.id)\n- taxon.isGenesUsable `boolean` (alias for primaryTaxon.isGenesUsable)\n- taxon.ncbiId `integer` (alias for primaryTaxon.ncbiId)\n- taxon.scientificName `string` (alias for primaryTaxon.scientificName)\n- taxon.secondaryNcbiId `integer` (alias for primaryTaxon.secondaryNcbiId)\n- technologyType `string` (possible values: TWOCOLOR, DUALMODE, ONECOLOR, SEQUENCING, GENELIST, OTHER)\n- troubled `boolean` (alias for curationDetails.troubled)","x-gemma-filterable-properties":[{"name":"advertisedNumberOfDesignElements","type":"integer"},{"name":"alternativeTo.advertisedNumberOfDesignElements","type":"integer"},{"name":"alternativeTo.compositeSequences.size","type":"integer"},{"name":"alternativeTo.curationDetails.id","type":"integer"},{"name":"alternativeTo.curationDetails.lastUpdated","type":"string"},{"name":"alternativeTo.curationDetails.needsAttention","type":"boolean"},{"name":"alternativeTo.curationDetails.troubled","type":"boolean"},{"name":"alternativeTo.designProvider.email","type":"string"},{"name":"alternativeTo.designProvider.id","type":"integer"},{"name":"alternativeTo.designProvider.name","type":"string"},{"name":"alternativeTo.externalReferences.size","type":"integer"},{"name":"alternativeTo.id","type":"integer"},{"name":"alternativeTo.mergees.size","type":"integer"},{"name":"alternativeTo.name","type":"string"},{"name":"alternativeTo.primaryTaxon.commonName","type":"string"},{"name":"alternativeTo.primaryTaxon.id","type":"integer"},{"name":"alternativeTo.primaryTaxon.isGenesUsable","type":"boolean"},{"name":"alternativeTo.primaryTaxon.ncbiId","type":"integer"},{"name":"alternativeTo.primaryTaxon.scientificName","type":"string"},{"name":"alternativeTo.primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"alternativeTo.shortName","type":"string"},{"name":"alternativeTo.subsumedArrayDesigns.size","type":"integer"},{"name":"alternativeTo.technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"compositeSequences.size","type":"integer"},{"name":"curationDetails.lastUpdated","type":"string"},{"name":"curationDetails.needsAttention","type":"boolean"},{"name":"curationDetails.troubled","type":"boolean"},{"name":"designProvider.email","type":"string"},{"name":"designProvider.id","type":"integer"},{"name":"designProvider.name","type":"string"},{"name":"externalReferences.Uri","type":"string[]"},{"name":"externalReferences.accession","type":"string[]"},{"name":"externalReferences.accessionVersion","type":"string[]"},{"name":"externalReferences.externalDatabase.externalDatabases.size","type":"integer[]"},{"name":"externalReferences.externalDatabase.ftpUri","type":"string[]"},{"name":"externalReferences.externalDatabase.id","type":"integer[]"},{"name":"externalReferences.externalDatabase.lastUpdated","type":"string[]"},{"name":"externalReferences.externalDatabase.localInstallDbName","type":"string[]"},{"name":"externalReferences.externalDatabase.name","type":"string[]"},{"name":"externalReferences.externalDatabase.releaseUrl","type":"object[]"},{"name":"externalReferences.externalDatabase.releaseVersion","type":"string[]"},{"name":"externalReferences.externalDatabase.type","type":"string[]","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"externalReferences.externalDatabase.webUri","type":"string[]"},{"name":"externalReferences.id","type":"integer[]"},{"name":"externalReferences.size","type":"integer"},{"name":"id","type":"integer"},{"name":"lastUpdated","type":"string","description":"alias for curationDetails.lastUpdated"},{"name":"mergedInto.advertisedNumberOfDesignElements","type":"integer"},{"name":"mergedInto.compositeSequences.size","type":"integer"},{"name":"mergedInto.curationDetails.id","type":"integer"},{"name":"mergedInto.curationDetails.lastUpdated","type":"string"},{"name":"mergedInto.curationDetails.needsAttention","type":"boolean"},{"name":"mergedInto.curationDetails.troubled","type":"boolean"},{"name":"mergedInto.designProvider.email","type":"string"},{"name":"mergedInto.designProvider.id","type":"integer"},{"name":"mergedInto.designProvider.name","type":"string"},{"name":"mergedInto.externalReferences.size","type":"integer"},{"name":"mergedInto.id","type":"integer"},{"name":"mergedInto.mergees.size","type":"integer"},{"name":"mergedInto.name","type":"string"},{"name":"mergedInto.primaryTaxon.commonName","type":"string"},{"name":"mergedInto.primaryTaxon.id","type":"integer"},{"name":"mergedInto.primaryTaxon.isGenesUsable","type":"boolean"},{"name":"mergedInto.primaryTaxon.ncbiId","type":"integer"},{"name":"mergedInto.primaryTaxon.scientificName","type":"string"},{"name":"mergedInto.primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"mergedInto.shortName","type":"string"},{"name":"mergedInto.subsumedArrayDesigns.size","type":"integer"},{"name":"mergedInto.technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"mergees.size","type":"integer"},{"name":"name","type":"string"},{"name":"needsAttention","type":"boolean","description":"alias for curationDetails.needsAttention"},{"name":"primaryTaxon.commonName","type":"string"},{"name":"primaryTaxon.externalDatabase.ftpUri","type":"string"},{"name":"primaryTaxon.externalDatabase.id","type":"integer"},{"name":"primaryTaxon.externalDatabase.lastUpdated","type":"string"},{"name":"primaryTaxon.externalDatabase.localInstallDbName","type":"string"},{"name":"primaryTaxon.externalDatabase.name","type":"string"},{"name":"primaryTaxon.externalDatabase.releaseUrl","type":"object"},{"name":"primaryTaxon.externalDatabase.releaseVersion","type":"string"},{"name":"primaryTaxon.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"primaryTaxon.externalDatabase.webUri","type":"string"},{"name":"primaryTaxon.id","type":"integer"},{"name":"primaryTaxon.isGenesUsable","type":"boolean"},{"name":"primaryTaxon.ncbiId","type":"integer"},{"name":"primaryTaxon.scientificName","type":"string"},{"name":"primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"shortName","type":"string"},{"name":"subsumedArrayDesigns.size","type":"integer"},{"name":"subsumingArrayDesign.advertisedNumberOfDesignElements","type":"integer"},{"name":"subsumingArrayDesign.compositeSequences.size","type":"integer"},{"name":"subsumingArrayDesign.curationDetails.id","type":"integer"},{"name":"subsumingArrayDesign.curationDetails.lastUpdated","type":"string"},{"name":"subsumingArrayDesign.curationDetails.needsAttention","type":"boolean"},{"name":"subsumingArrayDesign.curationDetails.troubled","type":"boolean"},{"name":"subsumingArrayDesign.designProvider.email","type":"string"},{"name":"subsumingArrayDesign.designProvider.id","type":"integer"},{"name":"subsumingArrayDesign.designProvider.name","type":"string"},{"name":"subsumingArrayDesign.externalReferences.size","type":"integer"},{"name":"subsumingArrayDesign.id","type":"integer"},{"name":"subsumingArrayDesign.mergees.size","type":"integer"},{"name":"subsumingArrayDesign.name","type":"string"},{"name":"subsumingArrayDesign.primaryTaxon.commonName","type":"string"},{"name":"subsumingArrayDesign.primaryTaxon.id","type":"integer"},{"name":"subsumingArrayDesign.primaryTaxon.isGenesUsable","type":"boolean"},{"name":"subsumingArrayDesign.primaryTaxon.ncbiId","type":"integer"},{"name":"subsumingArrayDesign.primaryTaxon.scientificName","type":"string"},{"name":"subsumingArrayDesign.primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"subsumingArrayDesign.shortName","type":"string"},{"name":"subsumingArrayDesign.subsumedArrayDesigns.size","type":"integer"},{"name":"subsumingArrayDesign.technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"taxon","type":"integer","description":"alias for taxon.id"},{"name":"taxon.commonName","type":"string","description":"alias for primaryTaxon.commonName"},{"name":"taxon.externalDatabase.externalDatabases.size","type":"integer","description":"alias for primaryTaxon.externalDatabase.externalDatabases.size"},{"name":"taxon.externalDatabase.ftpUri","type":"string","description":"alias for primaryTaxon.externalDatabase.ftpUri"},{"name":"taxon.externalDatabase.id","type":"integer","description":"alias for primaryTaxon.externalDatabase.id"},{"name":"taxon.externalDatabase.lastUpdated","type":"string","description":"alias for primaryTaxon.externalDatabase.lastUpdated"},{"name":"taxon.externalDatabase.localInstallDbName","type":"string","description":"alias for primaryTaxon.externalDatabase.localInstallDbName"},{"name":"taxon.externalDatabase.name","type":"string","description":"alias for primaryTaxon.externalDatabase.name"},{"name":"taxon.externalDatabase.releaseUrl","type":"object","description":"alias for primaryTaxon.externalDatabase.releaseUrl"},{"name":"taxon.externalDatabase.releaseVersion","type":"string","description":"alias for primaryTaxon.externalDatabase.releaseVersion"},{"name":"taxon.externalDatabase.type","type":"string","description":"alias for primaryTaxon.externalDatabase.type","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"taxon.externalDatabase.webUri","type":"string","description":"alias for primaryTaxon.externalDatabase.webUri"},{"name":"taxon.id","type":"integer","description":"alias for primaryTaxon.id"},{"name":"taxon.isGenesUsable","type":"boolean","description":"alias for primaryTaxon.isGenesUsable"},{"name":"taxon.ncbiId","type":"integer","description":"alias for primaryTaxon.ncbiId"},{"name":"taxon.scientificName","type":"string","description":"alias for primaryTaxon.scientificName"},{"name":"taxon.secondaryNcbiId","type":"integer","description":"alias for primaryTaxon.secondaryNcbiId"},{"name":"technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"troubled","type":"boolean","description":"alias for curationDetails.troubled"}]},"ApiInfoValueObject":{"type":"object","properties":{"welcome":{"type":"string"},"version":{"type":"string"},"documentationUrl":{"type":"string","format":"uri"},"specificationUrl":{"type":"string","format":"uri"},"externalDatabases":{"type":"array","items":{"$ref":"#/components/schemas/ExternalDatabaseValueObject"}},"buildInfo":{"$ref":"#/components/schemas/BuildInfoValueObject"},"docs":{"type":"string","format":"uri"}}},"ResponseDataObjectApiInfoValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ApiInfoValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"SearchResultValueObjectObject":{"type":"object","properties":{"resultId":{"type":"integer","format":"int64"},"resultType":{"$ref":"#/components/schemas/SearchResultType"},"score":{"type":"number","format":"double"},"highlights":{"type":"object","additionalProperties":{"type":"string"}},"resultObject":{"type":"object","oneOf":[{"$ref":"#/components/schemas/ArrayDesignValueObject"},{"$ref":"#/components/schemas/BibliographicReferenceValueObject"},{"$ref":"#/components/schemas/BioSequenceValueObject"},{"$ref":"#/components/schemas/CompositeSequenceValueObject"},{"$ref":"#/components/schemas/ExpressionExperimentValueObject"},{"$ref":"#/components/schemas/ExpressionExperimentSetValueObject"},{"$ref":"#/components/schemas/GeneValueObject"},{"$ref":"#/components/schemas/GeneSetValueObject"},{"$ref":"#/components/schemas/CharacteristicValueObject"}]}}},"SearchResultsResponseDataObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SearchResultValueObjectObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"searchSettings":{"$ref":"#/components/schemas/SearchSettingsValueObject"}}},"SearchSettingsValueObject":{"type":"object","properties":{"query":{"type":"string"},"resultTypes":{"type":"array","items":{"$ref":"#/components/schemas/SearchResultType"}},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"},"platform":{"$ref":"#/components/schemas/ArrayDesignValueObject"},"maxResults":{"type":"integer","format":"int32"}}},"SearchResultType":{"type":"array","items":{"type":"string","enum":["ubic.gemma.model.expression.arrayDesign.ArrayDesign","ubic.gemma.model.expression.designElement.CompositeSequence","ubic.gemma.model.genome.gene.GeneSet","ubic.gemma.model.expression.experiment.ExpressionExperiment","ubic.gemma.model.analysis.expression.ExpressionExperimentSet","ubic.gemma.model.blacklist.BlacklistedEntity","ubic.gemma.model.common.description.BibliographicReference","ubic.gemma.model.genome.Gene","ubic.gemma.model.genome.biosequence.BioSequence"]}},"ResponseDataObjectListTaxonValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TaxonValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"FilteredAndPaginatedResponseDataObjectExpressionExperimentValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"}}}},"securitySchemes":{"basicAuth":{"type":"http","description":"Authenticate with your Gemma username and password","scheme":"basic"},"cookieAuth":{"type":"apiKey","description":"Authenticate with your current Gemma session.","name":"JSESSIONID","in":"cookie"}}}} \ No newline at end of file +{"openapi":"3.0.1","info":{"title":"Gemma RESTful API","description":"This website documents the usage of the [Gemma RESTful API](https://gemma.msl.ubc.ca/rest/v2/). Here you can find\nexample script usage of the API, as well as graphical interface for each endpoint, with description of its\nparameters and the endpoint URL.\n\nUse of this webpage and the Gemma Web services, including the REST API, is subject to [these terms and conditions](https://pavlidislab.github.io/Gemma/terms.html).\nPlease read these in full before continuing to use this webpage or any other part of the Gemma system.\n\nYou can [consult the CHANGELOG.md file](https://gemma.msl.ubc.ca/resources/restapidocs/CHANGELOG.md) to view \nrelease notes and recent changes to the Gemma RESTful API.\n","termsOfService":"https://pavlidislab.github.io/Gemma/terms.html","contact":{"name":"Pavlidis Lab Support","url":"https://pavlab.msl.ubc.ca/","email":"pavlab-support@msl.ubc.ca"},"version":"2.9.4"},"servers":[{"url":"https://gemma.msl.ubc.ca/rest/v2"},{"url":"https://staging-gemma.msl.ubc.ca/rest/v2"},{"url":"https://dev.gemma.msl.ubc.ca/rest/v2"},{"url":"http://localhost:8080/rest/v2"}],"security":[{"basicAuth":[]},{"cookieAuth":[]},{}],"tags":[{"name":"Admin/Pipeline","description":"Curator-driven pipeline batch submissions — admin only"},{"name":"Admin","description":"System monitoring endpoints — admin only"},{"name":"Groups","description":"User groups (CRUD + membership)"},{"name":"Internal/Pipeline","description":"Scheduler push callbacks — service-to-service only"},{"name":"Preboarded","description":"Proposed-but-not-loaded experiments + agent annotation sets"},{"name":"Tickets","description":"Curation workflow tickets"},{"name":"Workflow","description":"8-state experiment lifecycle"}],"paths":{"/admin/pipeline/batches/{batchId}/cancel":{"post":{"tags":["Admin/Pipeline"],"summary":"Cancel every non-terminal job in the batch","operationId":"cancelBatch","parameters":[{"name":"batchId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectPipelineJobBatch"}}}}}}},"/admin/pipeline/batches/{batchId}/jobs/{jobId}/cancel":{"post":{"tags":["Admin/Pipeline"],"summary":"Cancel one job mid-batch","operationId":"cancelJob","parameters":[{"name":"batchId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"jobId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectBoolean"}}}}}}},"/admin/pipeline/batches/{batchId}":{"get":{"tags":["Admin/Pipeline"],"summary":"Retrieve one batch with rollup state","operationId":"getBatch","parameters":[{"name":"batchId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectPipelineJobBatch"}}}}}}},"/admin/pipeline/batches/{batchId}/jobs/{jobId}/events":{"get":{"tags":["Admin/Pipeline"],"summary":"List progress events for one job","operationId":"jobEvents","parameters":[{"name":"batchId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"jobId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sinceMillis","in":"query","schema":{"type":"integer","format":"int64"}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListPipelineJobEvent"}}}}}}},"/admin/pipeline/batches":{"get":{"tags":["Admin/Pipeline"],"summary":"List batches submitted by the current curator","operationId":"listMyBatches","parameters":[{"name":"state","in":"query","schema":{"type":"string","enum":["OPEN","CLOSED","CANCELLED"]}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListPipelineJobBatch"}}}}}},"post":{"tags":["Admin/Pipeline"],"summary":"Submit a new pipeline batch","operationId":"submitBatch","requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/SubmitBatchRequest"}}}},"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectPipelineJobBatch"}}}}}}},"/admin/pipeline/registry":{"get":{"tags":["Admin/Pipeline"],"summary":"List pipeline names known to this Gemma instance","operationId":"pipelineRegistry","responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListString"}}}}}}},"/admin/blacklist":{"get":{"tags":["Admin"],"summary":"List blacklist entries","description":"Returns the current blacklist sorted by accession with `limit`/`offset` pagination applied in-process. `limit` defaults to 100 and is capped at 1000; `offset` defaults to 0. The response includes the total count of entries on the blacklist (independent of paging) so the UI can render a page navigator.","operationId":"listBlacklistEntries","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]},"post":{"tags":["Admin"],"summary":"Add a blacklist entry","description":"Creates a blacklist row for the given GEO accession (GPL* → BlacklistedPlatform; GSE* → BlacklistedExperiment). Synchronous: the row is persisted before the response returns. Returns 201 with the new entry's value object. Returns 400 when accession or reason is missing, or when the accession prefix is neither GPL nor GSE. Returns 409 when an entry for that accession already exists (to update the reason, delete the entry and re-add it).","operationId":"addBlacklistEntry","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlacklistRequest"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"400":{"description":"Body missing, accession blank, reason blank, or unrecognised prefix","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"Accession is already blacklisted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/caches":{"get":{"tags":["Admin"],"summary":"List the registered caches","description":"Returns the names of all caches known to the Spring CacheManager, sorted alphabetically. Per-cache hit/miss statistics are not available on the current build (post-EhCache-2 era).","operationId":"getCaches","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]},"delete":{"tags":["Admin"],"summary":"Clear all registered caches","description":"Iterates over the Spring CacheManager and clears every cache. Returns 204 on success.","operationId":"clearAllCaches","responses":{"204":{"description":"All caches cleared."}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/caches/{cacheName}":{"delete":{"tags":["Admin"],"summary":"Clear a single named cache","description":"Clears the cache identified by `{cacheName}`. Returns 204 on success, 404 if no cache by that name is registered.","operationId":"clearCache","parameters":[{"name":"cacheName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Cache cleared."},"404":{"description":"No cache registered under that name","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/users":{"get":{"tags":["Admin"],"summary":"List all users","description":"Returns every User row with their username, email, enabled flag, granted group authorities, signup-token-pending flag, soft-delete timestamps. Soft-deleted users are excluded unless `includeDeleted=true`. Sorted alphabetically by username.","operationId":"getUsers","parameters":[{"name":"includeDeleted","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]},"post":{"tags":["Admin"],"summary":"Create a user with a temporary password","description":"Creates an immediately-enabled user (no email confirmation flow), generates a 16-character secure-random temp password, optionally grants admin role, and returns the plaintext temp password in the response body. The password appears in the response exactly once — store it elsewhere before navigating away. Returns 409 if username or email already exists.","operationId":"createUser","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserRequest"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"400":{"description":"Missing or malformed username/email","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"Username or email already taken","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/blacklist/{accession}":{"delete":{"tags":["Admin"],"summary":"Remove a blacklist entry","description":"Removes the blacklist row matching `{accession}`. Returns 204 on success, 404 when no entry exists.","operationId":"deleteBlacklistEntry","parameters":[{"name":"accession","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Entry removed."},"404":{"description":"No blacklist entry for that accession","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/users/{username}":{"delete":{"tags":["Admin"],"summary":"Soft-delete a user","description":"Sets deletedAt = now, deletedBy = the current admin's username, and enabled = false. The User row stays in the database — hard delete via REST is forbidden because ACL sids and audit-event authorship FKs reference the user. Idempotent: a second DELETE on an already-deleted user returns 204.","operationId":"deleteUser","parameters":[{"name":"username","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"User soft-deleted (or already was)."},"404":{"description":"No user with that username","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]},"patch":{"tags":["Admin"],"summary":"Toggle a user's enabled flag and/or admin role","description":"Body fields are optional; only the supplied fields are applied. `enabled=false` locks the account (the user can't log in). `isAdmin=true` adds the user to the Administrators group; `isAdmin=false` removes them. 404 if the username doesn't exist; 400 if the body is empty.","operationId":"patchUser","parameters":[{"name":"username","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"400":{"description":"Empty body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"No user with that username","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/curation-agent/health":{"get":{"tags":["Admin"],"summary":"Curation-agents service liveness probe","description":"Issues a GET against `gemma.curationAgent.healthUrl` with a `gemma.curationAgent.healthTimeoutMs`-millisecond timeout (default 3000). Returns `status` = UP / DOWN / NOT_CONFIGURED, latencyMillis, and either the upstream HTTP status code or the exception class name. Always returns HTTP 200 — even when DOWN — so the UI can poll without triggering error handlers.","operationId":"getCurationAgentHealth","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/curation-status":{"get":{"tags":["Admin"],"summary":"Annotation-set + ticket lifecycle snapshot","description":"Per-role breakdown of AnnotationSet rows (last 24h / 7d / by role) plus open-ticket counts by TicketType and the oldest open-ticket age. Read-only.","operationId":"getCurationStatus","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/db/pool":{"get":{"tags":["Admin"],"summary":"Database connection pool snapshot","description":"Returns HikariCP pool stats: active / idle / total connections, threads currently awaiting a connection, plus the configured maximum pool size and connection-timeout. 503 if the configured DataSource is not a HikariDataSource.","operationId":"getDbPool","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"503":{"description":"Configured DataSource is not HikariCP","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/hibernate/stats":{"get":{"tags":["Admin"],"summary":"Hibernate statistics snapshot","description":"Returns a flat snapshot of the Hibernate session-factory statistics: counts of sessions opened/closed, transactions, flushes, prepared statements, queries executed, plus query-cache and second-level-cache hit/miss/put counters. When Hibernate statistics collection is disabled the counters report zero.","operationId":"getHibernateStats","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/jobs":{"get":{"tags":["Admin"],"summary":"List currently tracked background tasks","description":"Returns a snapshot of every task currently tracked by the in-memory task store, sorted by submission time (newest first), with counts of tasks by status. The store evicts tasks roughly 10 minutes after completion.","operationId":"getJobs","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/geo-scrape/last":{"get":{"tags":["Admin"],"summary":"Most recent GEO scrape watermark","description":"Returns the most recently created GeoScrapeWatermark row (IN_PROGRESS / COMPLETED / FAILED / CANCELLED), or 404 if no scrape has ever been run.","operationId":"getLastGeoScrape","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"404":{"description":"No scrape has been run.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/ontologies":{"get":{"tags":["Admin"],"summary":"Loaded-ontology status snapshot","description":"Enumerates every OntologyService bean and reports its stable `identifier` (the handle to pass to the refresh / rebuild-slim endpoints), the full set of `acceptedNames` those endpoints match on, and enabled / loaded / initialization-thread state, inference mode, language level, search-enabled flag, and process-imports flag. Term counts are not included by default (`getAllURIs()` traverses the in-memory model); pass `?includeTermCount=true` to include them. If a bean throws while being inspected the error message is captured in the row's `error` field and inspection of the remaining ontologies continues.","operationId":"getOntologies","parameters":[{"name":"includeTermCount","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/search/indices":{"get":{"tags":["Admin"],"summary":"Hibernate Search 7 per-index status","description":"Enumerates every @Indexed entity known to Hibernate Search 7 and reports, for each: the JPA entity name, the Java simple class name, the Lucene index name, the on-disk index directory (under `gemma.search.dir`), the document count (matchAll fetchTotalHitCount), and the directory mtime. Document-count queries run in a short-lived Hibernate session; on query failure the documentCount field is reported as -1 and the error message is included.","operationId":"getSearchIndices","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]},"post":{"tags":["Admin"],"summary":"Trigger a Hibernate Search 7 mass-reindex","description":"Kicks off a destructive rebuild of the on-disk Lucene index for one (or all) indexable entities. Returns 202 with a list of queued entities. Run via the legacy CLI (IndexGemmaCLI) too — this endpoint is the curation-UI / ops-script equivalent so an admin can rebuild without shelling onto the container.","operationId":"reindexSearchIndices","parameters":[{"name":"entity","in":"query","schema":{"type":"string","nullable":true}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"400":{"description":"Unknown entity name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"Another reindex is already running.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/sessions":{"get":{"tags":["Admin"],"summary":"List authenticated users with active sessions","description":"Enumerates every principal registered with the Spring Security `SessionRegistry`. For each principal returns the username, the count of currently-tracked sessions (excluding expired), the timestamp of the most recent request across those sessions, and the list of granted authorities when the principal is a `UserDetails`. Anonymous sessions are not included — only authenticated ones are tracked.","operationId":"getSessions","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/system":{"get":{"tags":["Admin"],"summary":"JVM and OS resource snapshot","description":"Returns a single-read snapshot of process resources: heap and non-heap memory (used/committed/max bytes), thread counts (live, daemon, peak), uptime, OS name/version/arch, processor count, and 1-minute system load average. For historical series use `/metrics` (Prometheus).","operationId":"getSystem","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/tasks/geo-grab":{"post":{"tags":["Admin"],"summary":"Scrape GEO record metadata by accession","description":"Fetches GEO series metadata for the given accessions and returns it without importing into Gemma. Useful for previewing a GEO record from the curation-UI before triggering a full import. Synchronous; expect sub-second latency per accession. Uses the DETAILED retrieve preset (sub-series status, MeSH headings, library strategy, sample details, errors ignored).","operationId":"grabGeoRecords","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoGrabRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"400":{"description":"Empty or missing accessions list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"502":{"description":"GEO E-utilities request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/tasks/import-geo":{"post":{"tags":["Admin"],"summary":"Submit a batch of GEO accessions for async import","description":"Iterates `accessions` and submits one async load task per accession (port of `LoadExpressionDataCli`'s bulk path). Optional flags are applied uniformly across the batch. Returns 202 with the list of submitted task IDs — poll each one via `/tasks/{taskId}`. Rejects an empty list or more than 100 accessions with 400. Blank entries inside the list are silently skipped; if every entry is blank the request is rejected.","operationId":"importGeoBatch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportGeoBatchRequest"}}}},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"400":{"description":"Body missing, accession list empty, or batch over cap","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/ontologies/{name}/rebuild-slim":{"post":{"tags":["Admin"],"summary":"Rebuild the slim-cache for an ontology","description":"Currently only CHEBI and MONDO are supported (other ontologies return 404). Accepts the same name spellings as the refresh endpoint. Kicks off the slim extraction asynchronously and returns 202. The service must already be loaded. 409 if a rebuild is already in flight.","operationId":"rebuildOntologySlim","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Rebuild started.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"404":{"description":"Ontology not found or doesn't support slim rebuild.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"Rebuild already in progress.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"Ontology is not loaded yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/ontologies/{name}/refresh":{"post":{"tags":["Admin"],"summary":"Refresh a single ontology in-process","description":"Kicks off an asynchronous re-initialization of the named ontology. The name may be the ontology's well-known abbreviation (`CLO`, `HPO`, `TGEMO`, ...), its identifier (`cellLineOntology`), its class name, or its `dc:title`; matching ignores case and punctuation, and every accepted spelling is listed as `acceptedNames` by `GET /admin/ontologies`. The currently-loaded model keeps serving reads until the new model is built and atomically swapped in. Use the per-ontology load-status endpoint to watch progress. 404 if no bean matches the given name; 409 if a refresh on that ontology is already running.","operationId":"refreshOntology","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}},{"name":"forceIndexing","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"202":{"description":"Refresh accepted; the initialization thread is now running.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"404":{"description":"No ontology with that name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"A refresh is already in progress for that ontology.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/hibernate/reset":{"post":{"tags":["Admin"],"summary":"Reset Hibernate statistics","description":"Clears the Hibernate session-factory statistics counters. Returns 204 on success. Has no effect on whether statistics collection itself is enabled.","operationId":"resetHibernateStats","responses":{"204":{"description":"Hibernate statistics reset."}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/users/{username}/password":{"post":{"tags":["Admin"],"summary":"Reset a user's password to a temporary password","description":"Generates a 16-character secure-random temp password, sets it (encoded) as the user's password, and returns the plaintext once. The password appears in the response exactly once — store it elsewhere before navigating away. 404 if the username doesn't exist; 409 if the user is soft-deleted.","operationId":"resetUserPassword","parameters":[{"name":"username","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"404":{"description":"No user with that username","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"User is soft-deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/tasks/geo-scrape":{"post":{"tags":["Admin"],"summary":"Submit a GEO scrape & preboard run (async, or sync dry-run)","description":"Iterates recent GEO records, filters to human/mouse/rat expression profiling, evaluates the registered matchers (subset selectable via `criteria`: {brain, scbrain, tfperturb}). With dryRun=false (default) creates PreboardedExperiment rows and returns 202 + async task ID. With dryRun=true evaluates only and returns 200 + the candidate list inline (no watermark, no preboarded rows, no ticket).","operationId":"submitGeoScrape","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoScrapeRequest"}}}},"responses":{"200":{"description":"dryRun=true — candidates inline.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"202":{"description":"dryRun=false — async submission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/admin/tasks/multifunctionality":{"post":{"tags":["Admin"],"summary":"Submit an async recompute of per-gene multifunctionality for one taxon","description":"Port of `MultifunctionalityCli`. Resolves `taxon` (common name, scientific name, NCBI ID, or Gemma taxon ID) and submits a single async task that calls `GeneMultifunctionalityPopulationService.updateMultifunctionality(taxon)`. Returns 202 with the submitted task ID; poll `/tasks/{taskId}` for progress.","operationId":"submitMultifunctionalityRecompute","parameters":[{"name":"taxon","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"400":{"description":"Missing or malformed taxon identifier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"No taxon matches the supplied identifier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/resultSets/count":{"get":{"summary":"Count result sets matching the provided filter","operationId":"getNumberOfResultSets","parameters":[{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionAnalysisResultSet"},"example":""}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectLong"}}}}}}},"/resultSets/{resultSet}/pvalueDistribution":{"get":{"summary":"Binned p-value distribution for a differential-expression result set","description":"Returns a histogram with `bins` equal-width bins over [0, 1]. The `column` parameter selects between raw (PVALUE) and corrected (CORRECTED_PVALUE) p-values; rows with a null p-value in the chosen column are excluded. Bin i covers [i/bins, (i+1)/bins); the last bin is closed on the right so a p-value of exactly 1.0 is counted in the final bin.","operationId":"getPvalueDistribution","parameters":[{"name":"resultSet","in":"path","required":true,"schema":{"type":"integer","description":"An expression analysis result set numerical identifier.","format":"int32"}},{"name":"bins","in":"query","description":"Number of equal-width bins over [0, 1]; must be between 1 and 1000.","schema":{"maximum":1000,"minimum":1,"type":"integer","format":"int32","default":20}},{"name":"column","in":"query","description":"Which p-value column to bin.","schema":{"type":"string","default":"corrected","enum":["raw","corrected"]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PvalueDistributionResponseDataObject"}}}},"204":{"description":"The result set has no non-null p-values in the requested column."},"400":{"description":"Invalid `bins` (must be 1..1000) or `column` (must be 'raw' or 'corrected').","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The analysis result set could not be found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/resultSets/{resultSet}":{"get":{"summary":"Retrieve a single analysis result set by its identifier","description":"A slice or results can be retrieved by specifying the `offset` and `limit` parameters. This is only applicable to the JSON representation. The TSV output exposes the following columns: id, probe_id, probe_name, gene_(id|name|ncbi_id|official_symbol|official_name), pvalue, corrected_pvalue, rank, contrast_{fvId}_(coefficient|log2fc|tstat|pvalue). For interaction terms, `{fvId}` is structured as `{id1}_{id2}`. For continuous factors, `{fvId}` is empty and a single `_` delimiter is used.","operationId":"getResultSet","parameters":[{"name":"resultSet","in":"path","required":true,"schema":{"type":"integer","description":"An expression analysis result set numerical identifier.","format":"int32"}},{"name":"threshold","in":"query","schema":{"type":"number","format":"double"}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32"}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32"}},{"name":"includeFactorValuesInContrasts","in":"query","description":"Include complete factor values in contrasts instead of only populating `factorValueId` and `secondFactorValueId`. In 2.9.0, this will default to false.","schema":{"type":"boolean","default":true}},{"name":"includeTaxonInGenes","in":"query","description":"Include complete taxon in genes instead of only populating `taxonId`. When this is set to true, a `taxa` collection will be included in `DifferentialExpressionAnalysisResultSetValueObject`. In 2.9.0, this will default to false.","schema":{"type":"boolean","default":true}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResultsResponseDataObjectDifferentialExpressionAnalysisResultSetValueObject"}},"text/tab-separated-values; charset=UTF-8; q=0.9":{"schema":{"type":"string"},"example":"# If you use this file for your research, please cite:\n# Lim et al. (2021) Curation of over 10 000 transcriptomic studies to enable data reuse.\n# Database, baab006 (doi:10.1093/database/baab006).\n# Experimental factors: [name: Diet, values: [id: 20959, characteristics: [high fat diet], id: 20960, characteristics: [reference subject role]]]\n# Baseline: id: 20959, characteristics: [high fat diet]\nid\tprobe_id\tprobe_name\tgene_id\tgene_name\tgene_ncbi_id\tgene_official_symbol\tgene_official_name\tpvalue\tcorrected_pvalue\trank\tcontrast_20960_coefficient\tcontrast_20960_log2fc\tcontrast_20960_tstat\tcontrast_20960_pvalue\n107660162\t6379542\tILMN_1256775\t582688\tThrsp\t21835\tThrsp\tthyroid hormone responsive\t7.375E-9\t0.0001\t2.144E-5\t3.1352\t3.1352\t17.6207\t7.375E-9\n107678499\t6358971\tILMN_2690657\t813306\tBpifb6\t228796\tBpifb6\tBPI fold containing family B, member 6\t7.832E-9\t0.0001\t4.289E-5\t-1.6286\t-1.6286\t-17.5121\t7.832E-9\n107643534\t6363391\tILMN_1222060\t619131\tArhgef5\t54324\tArhgef5\tRho guanine nucleotide exchange factor 5\t1.329E-8\t0.0001\t6.433E-5\t-1.2474\t-1.2474\t-16.5818\t1.329E-8\n107647171\t6357370\tILMN_1229667\t702894\tSlc43a1\t72401\tSlc43a1\tsolute carrier family 43, member 1\t2.093E-8\t0.0001\t8.578E-5\t1.0412\t1.0412\t15.8207\t2.093E-8\n107665034\t6350196\tILMN_2460179\t797000\tTph2\t216343\tTph2\ttryptophan hydroxylase 2\t3.414E-8\t0.0002\t0.0001\t-3.8165\t-3.8165\t-15.037\t3.414E-8\n107671178\t6363608\tILMN_2591159\t695665\tFam13c\t71721\tFam13c\tfamily with sequence similarity 13, member C\t4.385E-8\t0.0002\t0.0001\t-0.5792\t-0.5792\t-14.6504\t4.385E-8\n107641223\t6360279\tILMN_1217241\t785630\tKlhl25\t207952\tKlhl25\tkelch-like 25\t5.419E-8\t0.0002\t0.0002\t-0.756\t-0.756\t-14.3302\t5.419E-8\n107657532\t6339362\tILMN_1251292\t502225|502237\tEar1|Ear2\t13586|13587\tEar1|Ear2\teosinophil-associated, ribonuclease A family, member 1|eosinophil-associated, ribonuclease A family, member 2\t9.577E-8\t0.0003\t0.0002\t-1.4862\t-1.4862\t-13.5006\t9.577E-8\n107680187\t6345095\tILMN_2713898\t486090\tDdr1\t12305\tDdr1\tdiscoidin domain receptor family, member 1\t1.172E-7\t0.0003\t0.0002\t-0.8617\t-0.8617\t-13.2167\t1.172E-7\n107684452\t6363087\tILMN_2772273\t724368\tCldn22\t75677\tCldn22\tclaudin 22\t1.634E-7\t0.0004\t0.0002\t0.6557\t0.6557\t12.7622\t1.634E-7\n107641691\t6378887\tILMN_1218223\t561628\tPvalb\t19293\tPvalb\tparvalbumin\t1.918E-7\t0.0004\t0.0002\t-1.9261\t-1.9261\t-12.5478\t1.918E-7\n107652484\t6371658\tILMN_1240770\t760788\tAcly\t104112\tAcly\tATP citrate lyase\t2.145E-7\t0.0004\t0.0003\t1.8169\t1.8169\t12.4002\t2.145E-7\n107684617\t6340514\tILMN_2774161\t523186\tHsd11b1\t15483\tHsd11b1\thydroxysteroid 11-beta dehydrogenase 1\t2.022E-7\t0.0004\t0.0003\t1.4447\t1.4447\t12.4776\t2.022E-7\n107654165\t6372412\tILMN_1244211\t\t\t\t\t\t2.463E-7\t0.0005\t0.0003\t1.2247\t1.2247\t12.2193\t2.463E-7\n"}}},"404":{"description":"The analysis result set could not be found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/resultSets":{"get":{"summary":"Retrieve all result sets matching the provided criteria","description":"Supports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`. Cursor mode (recommended for deep pagination and consistency under writes): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive — passing a non-null `cursor` selects cursor mode. In cursor mode the result is always sorted by ascending `id` (the user's `?sort=` is ignored); the dataset / databaseEntry / filter constraints are preserved; `totalElements` is `null` by default (no count query per request).","operationId":"getResultSets","parameters":[{"name":"datasets","in":"query","explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of dataset IDs or short names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}},{"name":"databaseEntries","in":"query","explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of database entry IDs or accessions. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A database entry numerical identifier.","format":"int64"},{"type":"string","description":"A database entry name."}]}}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionAnalysisResultSet"},"example":""},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionAnalysisResultSet"},"example":"+id"},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/FilteredAndPaginatedResponseDataObject"},{"$ref":"#/components/schemas/FilteredAndCursorPaginatedResponseDataObject"}]}}}}}}},"/annotation-sets/{id}":{"get":{"summary":"Fetch a single annotation set (full payload)","operationId":"getAnnotationSet","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectAnnotationSetResponse"}}}}}},"delete":{"summary":"Delete an annotation set by id","operationId":"deleteAnnotationSet","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Annotation set deleted."},"404":{"description":"No annotation set with that id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/annotation-sets/{id}/finalize":{"post":{"summary":"Mark an annotation set finalized (done editing / polished)","operationId":"finalizeAnnotationSet","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/json":{}}}}}},"/candidates":{"get":{"summary":"Screening queue (alias of /datasets?filter=curationDetails.needsAttention=true)","description":"Redirects to /datasets with `curationDetails.needsAttention = true` applied.","operationId":"getCandidates","responses":{"302":{"description":"Redirection to /datasets with the needs-attention filter applied."}}}},"/annotation-sets":{"get":{"summary":"Cross-experiment list of annotation sets (thin projection)","operationId":"listAnnotationSetsAcross","parameters":[{"name":"role","in":"query","description":"Filter by role: `proposal`, `draft`, `snapshot`, or `all` (default).","schema":{"type":"string","nullable":true}},{"name":"source","in":"query","description":"Filter by source: `agent`, `curator`, `gemma_intake`, `external_import`, or `all` (default).","schema":{"type":"string","nullable":true}},{"name":"createdBy","in":"query","description":"Filter by createdBy (username or agent run identifier).","schema":{"type":"string","nullable":true}},{"name":"datasetIds","in":"query","description":"Restrict to a comma-separated list of dataset (investigation) ids.","schema":{"type":"string","nullable":true}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponseDataObjectAnnotationSetSummaryResponse"}}}}}}},"/annotation-sets/{id}/reopen":{"post":{"summary":"Clear finalized status on an annotation set","operationId":"reopenAnnotationSet","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/json":{}}}}}},"/annotations/datasets/{dataset}/annotations":{"put":{"summary":"Bulk-replace a dataset's annotations (diff-then-apply)","description":"Computes the diff between the desired tag set and the dataset's current tag set, then applies adds and removes per-row in a single transaction. Emits one TagAddedEvent per add and one TagRemovedEvent per remove (NOT a single summary event). Idempotent: re-PUTing the same set yields an empty diff and no events. Distinct from PUT /datasets/{id}/annotations on DatasetsWebService, which emits a single aggregate ManualAnnotationEvent. Requires GROUP_CURATOR or GROUP_ADMIN.","operationId":"replaceDatasetAnnotations","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationsReplaceRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectAnnotationReplaceReport"}}}},"400":{"description":"The request body is missing or malformed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"403":{"description":"The caller lacks curator privileges.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":[]},{"cookieAuth":[]}]},"post":{"summary":"Add a single annotation tag to a dataset","description":"Adds one experiment-level annotation (tag) to the dataset. Emits a TagAddedEvent on the dataset's audit trail. Duplicate tags (same category URI + value URI) are rejected with 409 Conflict. Requires GROUP_CURATOR or GROUP_ADMIN.","operationId":"addDatasetAnnotation","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"annotationSetId","in":"query","description":"Optional id of the AnnotationSet this tag is being applied from; linkage is parked until the source-set → emitted-event audit link lands.","schema":{"type":"integer","format":"int64","nullable":true}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationDto"}}}},"responses":{"201":{"description":"Annotation created.","content":{"application/json":{}}},"400":{"description":"The request body is missing or malformed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"403":{"description":"The caller lacks curator privileges.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"An annotation with the same (category, value) already exists.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":[]},{"cookieAuth":[]}]}},"/annotations/categories":{"get":{"summary":"Retrieve all ontology categories used in Gemma","operationId":"getAnnotationCategories","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListAnnotationCategoryValueObject"}}}}}}},"/annotations/predicates":{"get":{"summary":"Retrieve all ontology predicates used in Gemma","operationId":"getAnnotationPredicates","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListOntologyTermSimpleValueObject"}}}}}}},"/annotations/term":{"get":{"summary":"Retrieve an ontology term by its URI","operationId":"getAnnotationTerm","parameters":[{"name":"uri","in":"query","description":"Term URI","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectOntologyTermValueObject"}}}},"404":{"description":"No term matched the given URI.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"Ontology lookup timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/annotations/children":{"get":{"summary":"Retrieve the children of the given annotations","description":"Terms that are returned satisfies the [inverse of rdfs:subClassOf](https://www.w3.org/TR/2012/REC-owl2-syntax-20121211/#Subclass_Axioms) or [has_part](http://purl.obolibrary.org/obo/BFO_0000051) relations. When `direct` is set to false, this rule is applied recursively.","operationId":"getAnnotationsChildren","parameters":[{"name":"uri","in":"query","description":"Term URI","schema":{"type":"string"}},{"name":"direct","in":"query","description":"Only include direct parents.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListAnnotationSearchResultValueObject"}}}},"404":{"description":"No term matched the given URI.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"Ontology inference timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/annotations/parents":{"get":{"summary":"Retrieve the parents of the given annotations","description":"Terms that are returned satisfies the [rdfs:subClassOf](https://www.w3.org/TR/2012/REC-owl2-syntax-20121211/#Subclass_Axioms) or [part_of](http://purl.obolibrary.org/obo/BFO_0000050) relations. When `direct` is set to false, this rule is applied recursively.","operationId":"getAnnotationsParents","parameters":[{"name":"uri","in":"query","description":"Term URI","schema":{"type":"string"}},{"name":"direct","in":"query","description":"Only include direct children.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListAnnotationSearchResultValueObject"}}}},"404":{"description":"No term matched the given URI.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"Ontology inference timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/annotations/diseaseModels":{"get":{"summary":"Infer which annotations model a disease","description":"Curation records a mutant/wild-type contrast as a `genotype` factor, not a `disease model` one, so a study of `Chd8` mutants carries no disease annotation and a user ticking \"autism\" in the disease selector never sees it. This recovers the relation instead of asking anyone to curate it again: experiments annotated BOTH with a disease AND with a value in one of the requested categories attest that the value stands for the disease. Nothing is asserted and no annotation is written — every result carries its supporting experiment count, its evidence split, an example dataset, and a ready-made `filter` a client can hand straight to `GET /datasets`.\n\n**Ask it either way round.** Give `uri` for \"what models this disease?\" (the disease selector reaching through to genotypes). Give `value` or `valueUri` for \"what does this genotype model?\" (an experiment page captioning its own annotations). Give both to test one specific inference.\n\n**Support alone is not evidence.** `C57BL/6J` co-occurs with every disease in the corpus and models none of them — the obesity is diet-induced, the stroke surgical, the lymphoma belongs to the cell line. What separates a model from a background strain is the FRACTION of the value's experiments the disease accounts for, so results are ranked by `numberOfExperiments × specificity` and every row reports `specificity`, `numberOfExperimentsWithValue` and `numberOfDiseasesAttested` so a client can set its own bar. `minSpecificity` applies one server-side.\n\n**What the inference SAYS depends on the taxon.** A mouse carrying the `Mecp2` null is a **model of** Rett syndrome (`disease model`); a human line carrying `LRRK2 G2019S` simply **has** Parkinson disease (`disease`). Rows are split by taxon and report which.\n\n`category` generalises the derivation past genotypes — a strain or an exposure can stand for a disease on the same evidence, and be judged by the same specificity.\n\n`excludeDatasets` holds datasets out of the evidence. Excluding the dataset you are looking at is what makes \"this `disease model` tag is inferable, so it could be dropped\" an honest claim rather than a restatement of the tag being tested.","operationId":"getDiseaseModels","parameters":[{"name":"uri","in":"query","description":"URI of the disease term. Omit to ask the question from the model side.","schema":{"type":"string"}},{"name":"value","in":"query","description":"Restrict the model side to these literal annotation values, e.g. `APP/PS1`. Most strain- and construct-shaped genotypes were never grounded in an ontology, so this is the usual way to ask the reverse question.","explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of strings. The value may be compressed with gzip and encoded with base64.","items":{"type":"string","default":""}}},{"name":"valueUri","in":"query","description":"Restrict the model side to these value URIs. OR'd with `value`.","explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of strings. The value may be compressed with gzip and encoded with base64.","items":{"type":"string","default":""}}},{"name":"category","in":"query","description":"Categories the model side must be under, as labels (`genotype`) or category URIs. Defaults to `genotype,strain`; add `treatment` to include exposures, or pass an empty value to accept any category.","explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of strings. The value may be compressed with gzip and encoded with base64.","items":{"type":"string","default":"genotype,strain"}}},{"name":"inferSubTerms","in":"query","description":"Also count experiments annotated with a sub-class of the given disease term, as inference does elsewhere in the API. The sub-terms folded in are echoed back in `inferredTerms`. Ignored when `uri` is omitted.","schema":{"type":"boolean","default":true}},{"name":"minSupport","in":"query","description":"Drop inferences attested by fewer experiments than this.","schema":{"type":"integer","format":"int32","default":1}},{"name":"minSpecificity","in":"query","description":"Drop inferences whose specificity is below this, in [0, 1]. The default of 0 admits everything, including the background strains — no threshold has been tuned against curator judgement yet, and the shape of the distribution is worth seeing in the UI before one is fixed here.","schema":{"type":"number","format":"double","default":0}},{"name":"excludeDatasets","in":"query","description":"Datasets held out of the evidence, by id or short name.","explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of dataset IDs or short names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}},{"name":"limit","in":"query","description":"Maximum number of inferences to return.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectDiseaseModelInferenceValueObject"}}}},"400":{"description":"Neither side of the relation was constrained, or a numeric parameter is out of range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"Ontology inference timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/annotations/datasets/{dataset}/annotations/{annotationId}":{"delete":{"summary":"Remove a single annotation tag from a dataset","description":"Removes the annotation with the given id from the dataset. Emits a TagRemovedEvent. Returns 404 if no such annotation exists on this dataset. Requires GROUP_CURATOR or GROUP_ADMIN.","operationId":"removeDatasetAnnotation","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"annotationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Annotation removed."},"403":{"description":"The caller lacks curator privileges.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset or annotation does not exist on this dataset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":[]},{"cookieAuth":[]}]}},"/annotations/search":{"get":{"summary":"Search for annotation tags","operationId":"searchAnnotations","parameters":[{"name":"query","in":"query","description":"A comma-delimited list of keywords to find annotations.","explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of strings. The value may be compressed with gzip and encoded with base64.","items":{"type":"string","default":""}}},{"name":"rank","in":"query","description":"Ranking strategy to apply on top of the raw Lucene order. `lucene` (default) preserves today's behaviour. `usage` blends rank with per-URI experiment usage count. `coverage` sorts by fraction of query tokens present in the hit's label. `composite` combines coverage, usage, and rank into a single weighted score. `commonality` orders by how many experiments were annotated with each candidate by someone who wrote this exact query string, which separates candidates that `usage` cannot: a search for `dmso` finds 508 experiments meant the compound and 16 meant `reference substance role`, though both terms are well used. Purely numeric queries form no prior. Use `usage` instead when the question is which term is meant rather than which name is written.","schema":{"type":"string","default":"lucene"}},{"name":"limit","in":"query","description":"Maximum number of hits to return. Defaults to 20 (typeahead UX). Hard upper bound is 100; values outside [1, 100] yield HTTP 400. The truncation is applied AFTER ranking, so reducing the limit also reduces top-N enrichment cost.","schema":{"type":"integer","format":"int32","default":20}},{"name":"prefixes","in":"query","description":"Allow-list of URI namespace prefixes; the candidate set is filtered to URIs containing one of these tokens BEFORE ranking + truncation. Comma-separated (e.g. `CL_,EFO_`). When omitted, no filter is applied. Pushing the filter server-side avoids the truncate-then-filter footgun where allow-list survivors depend on which items the per-strategy `limit` happened to keep.","schema":{"type":"string","default":""}},{"name":"upstream","in":"query","description":"When `true`, delegate the ontology Lucene-index lookup to the upstream gemma-rest configured by `gemma.upstream.annotationSearch.url` (e.g. staging). Lets a local 2.0 instance benefit from staging's richer ontology index while still applying 2.0's local filtering / ranking on top. Returns 400 if the upstream URL is unset. Default `false` (local path).","schema":{"type":"boolean","default":false}},{"name":"exactLabel","in":"query","description":"When `true`, keep only candidates whose label is case-insensitively equal to the (trimmed) query string. Cuts wire traffic for resolver-style callers that already know the exact label and only need the canonical row(s). Filter is applied BEFORE ranking + truncation, so `top_k`/`limit` still applies when an exact match has multiple alternate-URI rows. Empty result is `200` with `data: []`. Default `false` (current substring behaviour). See handoffs/HANDOFF_2026-05-25_EXACT_LABEL_PARAM.md.","schema":{"type":"boolean","default":false}},{"name":"category","in":"query","description":"Hint from the calling widget about what kind of annotation is being edited. Accepts the category label (e.g. `genotype`, `organism part`), the matching EFO URI, or any spelling that differs only in case and separators — `cell line`, `cellLine`, `Cell Line` and `cell_line` are one category. An unrecognised value is ignored (no promotion), never an error. Gene-symbol matches (value=symbol, valueUri=NCBI Gene URI, category=`gene`) are merged in unconditionally so STAT5B finds the gene whether the picker is on Genotype, Treatment, or a generic characteristic. When supplied WITHOUT an explicit `prefixes` allow-list, the category's preferred ontology namespaces (configured by `annotation.category.prefixes`, and readable per-category from `/annotations/categories`) promote *exactly-matching* hits in those namespaces to the front — so `FTC` under `treatment` leads with emtricitabine (CHEBI) rather than the identically-labelled MGI gene. Promotion never filters and never applies to near-matches; see `suppress_near_matches` for the filtering counterpart. The parameter keys the response cache.","schema":{"type":"string","default":""}},{"name":"suppressNearMatches","in":"query","description":"When `true`, drop near-matches for *designation-shaped* queries — a single token carrying both letters and digits, which is the shape of a compound code (`MK-2206`, `GSK2879552`), a cell-line designation (`NCI-H358`), or a mouse strain (`C57BL/6J`). For those, a hit that merely shares a prefix or some tokens is never the same entity — `MK-8353` is a different compound from `MK-2206` — so only hits matching the query exactly on the preferred label or a declared synonym are kept (compared hyphen- and `cell`-suffix-insensitively, so `MK2206` still finds `MK-2206`). Descriptive queries (`diamide`, `high fat diet`) are left alone: there a near-match is often the right term, and returning nothing just pushes the caller onto a fuzzy fallback, which is the failure mode this flag exists to prevent. Off by default — typeahead needs prefix matching, and a curator mid-way through typing `NCI-H3` must still see candidates. Resolver-style callers that hold a complete name should pass `true`.\n\nWhen identity matching runs, the response carries a `negativeEvidence` object beside `data`. `solidMatch: false` is a CONFIDENT negative — we searched and nothing names this string — which an empty `data` array alone cannot tell you apart from \"the ontology wasn't loaded\" or \"this call never ran\". `ruledOut` lists the terms that came back and are NOT it, because knowing there is no match does not stop a downstream stage from proposing `mk-8353` for `MK-8722`, whereas knowing it is not `mk-8353` does. The ruled-out terms are deliberately kept OUT of `data`, so a client that ignores the new field can never pick one up by reading `data[0]`.","schema":{"type":"boolean","default":false}},{"name":"taxon","in":"query","description":"Optional taxon hint to scope gene fan-out. Accepts the same TaxonArg forms as elsewhere (common name `mouse`, scientific name `Mus musculus`, NCBI taxonomy id `10090`, or numeric Gemma taxon id). When supplied, gene matches are restricted to that taxon — typing `Il10` on a mouse dataset no longer surfaces rat/human Il10 rows. When omitted (default), gene fan-out returns all taxa as before. The ontology search side is unaffected.","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"includeGeneCount","in":"query","description":"When true, populate `geneCount` on each hit with the distinct number of genes annotated to that GO term (including descendants walked under the `geneCountMaxTerms` cap). Adds a parallel fan-out at the response shape boundary; sub-100ms on a warm GO index. Default false.","schema":{"type":"boolean","default":false}},{"name":"geneCountMaxTerms","in":"query","description":"When `includeGeneCount=true`, cap the per-hit BFS descendant walk at this many GO terms. Default 50 (bounds broad parents like `metabolic process` to ~50ms per hit). 0 = unbounded; not recommended for typeahead.","schema":{"type":"integer","format":"int32","default":50}},{"name":"includeGenes","in":"query","description":"When `true` (default), merge synthetic gene rows (symbol / name / alias matches) into the results — the STAT5B-finds-the-gene behaviour. Each query token fires three sequential GeneService probes, the dominant slice of the per-call latency floor. Resolver-style callers working a non-gene position (organism part, disease, …) pass `false` to skip the fan-out entirely and cut that floor.","schema":{"type":"boolean","default":true}},{"name":"includeExampleUsage","in":"query","description":"When `true`, attach to each hit one representative ACL-visible example of how the term has actually been used in the corpus (owning factor value + factor, and the statement triple when present, plus the source dataset id) — for showing a rare/unfamiliar term in context in a picker. One batched, ACL-filtered lookup for the result page; default false so the common typeahead path pays nothing. Gate rendering client-side (e.g. only for low `usageCount`).","schema":{"type":"boolean","default":false}},{"name":"excludeExperiments","in":"query","description":"Experiments to leave out of every corpus tally — the usage counts behind `rank=usage`, the per-string prior behind `rank=commonality`, and `priorCuration`. Accepts dataset ids or short names (`GSE12345`), comma separated.\n\nThis exists for leave-one-out evaluation. A tally over the whole corpus includes the very experiments a held-out gold set was drawn from, so it is partly counting the answer key and cannot score a resolver. Exclude those experiments and the count becomes independent evidence. Unknown identifiers are a 400 rather than being ignored, because a silently mis-spelled exclusion yields a contaminated number that still looks clean.","schema":{"type":"string","nullable":true}},{"name":"includePriorCuration","in":"query","description":"When `true`, add a `priorCuration` section listing the terms prior curators actually chose when they met this string, most used first, each with the number of distinct experiments and an `agreement` share.\n\nThis answers a question lexical search cannot: `vehicle`, `untreated` and `sham` are curated as `reference substance role` / `reference subject role`, terms sharing no word with the string, so no ranking of a label search will ever surface them. Kept out of `data` precisely because these terms did not come from the ontology search.\n\nThese are counts of what curators did, not of what is correct — a string mis-tagged for years returns with a large count. Read `agreement` alongside: a settled convention scores near 1.0, a contested one visibly does not. Costs a scan of the annotation corpus, so it is off by default and cached.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationSearchResponseDataObject"}}}},"400":{"description":"The search query is empty or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"The search for annotations has timed out. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/annotations/search/batch":{"post":{"summary":"Batch search for annotation tags","description":"Resolve many labels in ONE request. Each item is searched independently (NOT unioned into a single result set the way a comma-delimited ?query= is) and returns its own ordered result list, so a curation resolver can collapse the dozens of round-trips a proposal pass would otherwise fire into a single call. Per-item work runs in parallel server-side (bounded to 8 workers) and reuses the SAME response cache as GET /annotations/search, so repeated labels — within the batch or across later calls — are free. The shared knobs (rank, limit, prefixes, exactLabel, suppressNearMatches, taxon, includeGenes, includeGeneCount, geneCountMaxTerms) apply to every item; only category is per-item. A per-item failure is reported in that item's `error` field and does NOT fail the batch. At most 200 items per request.","operationId":"searchAnnotationsBatch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationSearchBatchRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListAnnotationSearchBatchResultValueObject"}}}},"400":{"description":"The batch is empty / oversized, or a shared parameter is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"The search for annotations has timed out. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/annotations/search/{query}":{"get":{"summary":"Search for annotation tags","description":"This is deprecated in favour of passing `query` as a query parameter.","operationId":"searchAnnotationsByPathQuery","parameters":[{"name":"query","in":"path","description":"A comma-delimited list of keywords to find annotations.","required":true,"explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of strings. The value may be compressed with gzip and encoded with base64.","items":{"type":"string","default":""}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListAnnotationSearchResultValueObject"}}}},"400":{"description":"The search query is empty or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"deprecated":true}},"/annotations/search/datasets":{"get":{"summary":"Retrieve datasets associated to an annotation tags search","description":"This is deprecated in favour of the [/datasets](#/default/getDatasets) endpoint. Use the `AND` operator to intersect the results of multiple queries.","operationId":"searchDatasets","parameters":[{"name":"query","in":"query","description":"A comma-delimited list of keywords to find annotations. Matching datasets for each query are intersected.","explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of strings. The value may be compressed with gzip and encoded with base64.","items":{"type":"string","default":""}}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionExperiment"},"example":"+id"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndPaginatedResponseDataObjectExpressionExperimentValueObject"}}}},"400":{"description":"The search query is empty or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"The search for annotations has timed out. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"deprecated":true}},"/annotations/search/{query}/datasets":{"get":{"summary":"Retrieve datasets associated to an annotation tags search","description":"This is deprecated in favour of passing `query` as a query parameter.","operationId":"searchDatasetsByQueryInPath","parameters":[{"name":"query","in":"path","description":"A comma-delimited list of keywords to find annotations. Matching datasets for each query are intersected.","required":true,"explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of strings. The value may be compressed with gzip and encoded with base64.","items":{"type":"string","default":""}}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionExperiment"},"example":"+id"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndPaginatedResponseDataObjectExpressionExperimentValueObject"}}}},"400":{"description":"The search query is empty or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"deprecated":true}},"/annotations/{taxon}/search/datasets":{"get":{"summary":"Retrieve datasets within a given taxa associated to an annotation tags search","description":"This is deprecated in favour of the [/datasets](#/default/getDatasets) endpoint with a `query` parameter and a `filter` parameter with `taxon.id = {taxon} or taxon.commonName = {taxon} or taxon.scientificName = {taxon}` to restrict the taxon instead. Use the `AND` operator to intersect the results of multiple queries.","operationId":"searchTaxonDatasets","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"query","in":"query","description":"A comma-delimited list of keywords to find annotations. Matching datasets for each query are intersected.","explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of strings. The value may be compressed with gzip and encoded with base64.","items":{"type":"string","default":""}}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionExperiment"},"example":"+id"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndPaginatedResponseDataObjectExpressionExperimentValueObject"}}}},"400":{"description":"The search query is empty or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"The search for annotations has timed out. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"deprecated":true}},"/annotations/{taxon}/search/{query}/datasets":{"get":{"summary":"Retrieve datasets within a given taxa associated to an annotation tags search","description":"This is deprecated in favour of passing `query` as a query parameter.","operationId":"searchTaxonDatasetsByQueryInPath","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"query","in":"path","description":"A comma-delimited list of keywords to find annotations. Matching datasets for each query are intersected.","required":true,"explode":false,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of strings. The value may be compressed with gzip and encoded with base64.","items":{"type":"string","default":""}}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionExperiment"},"example":"+id"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndPaginatedResponseDataObjectExpressionExperimentValueObject"}}}},"400":{"description":"The search query is empty or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"deprecated":true}},"/login":{"post":{"summary":"Authenticate username/password and mint an opaque bearer token","description":"POST a JSON body {username, password}. On success the response carries {token, user} where token is an opaque random string; send it as Authorization: Bearer on subsequent calls.","operationId":"login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}}},"responses":{"200":{"description":"default response","content":{"application/json":{}}}}}},"/logout":{"post":{"summary":"Revoke the presented bearer token (idempotent)","operationId":"logout","responses":{"200":{"description":"default response","content":{"application/json":{}}}}}},"/me":{"get":{"summary":"Retrieve the authenticated user (alias of /rest/v2/users/me)","operationId":"me","responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectUserValueObject"}}}}}}},"/completions/datasets":{"get":{"summary":"Prefix-aware completions for datasets (expression experiments)","description":"Returns matching dataset identifiers (id, short name) with the dataset's short name as description. Backed by ExpressionExperimentService.loadAllIdentifiersAndName so the lookup avoids fetching full VOs.","operationId":"getDatasetCompletions","parameters":[{"name":"prefix","in":"query","schema":{"type":"string","default":""}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListCompletionValueObject"}}}}}}},"/completions/dataset-groups":{"get":{"summary":"Prefix-aware completions for dataset (expression-experiment) groups","operationId":"getDatasetGroupCompletions","parameters":[{"name":"prefix","in":"query","schema":{"type":"string","default":""}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListCompletionValueObject"}}}}}}},"/completions/ontology-terms":{"get":{"summary":"Prefix-aware completions for ontology terms used as Characteristic values","description":"Returns matching ontology terms by URI and, where applicable, by OBO short ID. Backed by CharacteristicReadService.findValueGroupedByValueUri.","operationId":"getOntologyTermCompletions","parameters":[{"name":"prefix","in":"query","schema":{"type":"string","default":""}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListCompletionValueObject"}}}}}}},"/completions/platforms":{"get":{"summary":"Prefix-aware completions for array-design platforms","description":"Returns matching platforms. Each platform contributes id, shortName, name, and any alternate names. Pass {@code generic=true} to restrict to platforms that are valid as 'generic gene' targets.","operationId":"getPlatformCompletions","parameters":[{"name":"prefix","in":"query","schema":{"type":"string","default":""}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32","default":50}},{"name":"generic","in":"query","description":"If true, restrict the candidate set to generic-gene-capable platforms.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListCompletionValueObject"}}}}}}},"/completions/protocols":{"get":{"summary":"Prefix-aware completions for protocols","operationId":"getProtocolCompletions","parameters":[{"name":"prefix","in":"query","schema":{"type":"string","default":""}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListCompletionValueObject"}}}}}}},"/completions/taxa":{"get":{"summary":"Prefix-aware completions for taxa","description":"Returns matching taxa as { value, description } pairs. Each taxon contributes up to four entries (id, ncbiId, commonName, scientificName); duplicates are dropped.","operationId":"getTaxonCompletions","parameters":[{"name":"prefix","in":"query","description":"Case-insensitive prefix to match against the candidate value.","schema":{"type":"string","default":""}},{"name":"limit","in":"query","description":"Maximum number of suggestions to return; capped at 500.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListCompletionValueObject"}}}}}}},"/datasets/{dataset}/heatmap-data":{"get":{"summary":"Retrieve raw matrix + metadata for a client-rendered heatmap","description":"Returns a probe×sample expression matrix plus per-row, per-column and per-factor metadata. Selection modes (mutually exclusive, listed in precedence order): (1) ?genes=csv, (2) ?probes=csv, (3) ?resultSet=N&threshold=p (diffex top hits), (4) ?pcaComponent=k&pcaCount=n (PCA-loaded probes), (5) default fallback: a random sample of ?sampleSize=n probes (default 20, max 200). Optionally restrict the sample columns to a single ?subSet=N — useful for cell-type-resolved views on single-cell data and for client-driven paging. By default the matrix comes from the dataset's processed data; pass ?quantitationType=id-or-name to source it from a different QT instead. A non-processed QT is served from its raw vectors and supports the genes / probes selection modes and the random-sample fallback (resultSet and pcaComponent return 400); non-numeric-double representations such as integer read-counts are coerced to double. By default the values of assays flagged as outliers are masked to NaN; pass ?maskOutliers=false to receive their stored expression values instead. This is always effective for a non-processed quantitationType (raw vectors); for the processed QT it returns whatever is on disk, which is currently masked at creation time, so the flag is usually a no-op there today. NO ordering decisions are made server-side; the client sorts, groups, palettes, and renders.","operationId":"getDatasetHeatmapData","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"genes","in":"query","schema":{"type":"string","nullable":true}},{"name":"probes","in":"query","schema":{"type":"string","nullable":true}},{"name":"resultSet","in":"query","schema":{"type":"integer","format":"int64","nullable":true}},{"name":"threshold","in":"query","schema":{"type":"number","format":"double","nullable":true}},{"name":"pcaComponent","in":"query","schema":{"type":"integer","format":"int32","nullable":true}},{"name":"pcaCount","in":"query","schema":{"type":"integer","format":"int32","nullable":true}},{"name":"sampleSize","in":"query","schema":{"type":"integer","format":"int32","nullable":true}},{"name":"encoding","in":"query","schema":{"type":"string","default":"json"}},{"name":"subSet","in":"query","description":"Restrict the heatmap to a single subset's samples — useful for cell-type-resolved views on single-cell data. When omitted, the full matrix is returned.","schema":{"type":"integer","format":"int64","nullable":true}},{"name":"quantitationType","in":"query","description":"Quantitation-type selector (id or name). When omitted, the dataset's processed QT is used. A non-processed QT is served from its raw vectors and supports the genes / probes selection modes and the random-sample fallback; resultSet and pcaComponent are rejected.","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]}},{"name":"maskOutliers","in":"query","description":"When true (default), values for assays flagged as outliers are masked to NaN. Pass false to receive their stored expression values instead. Always effective for a non-processed quantitationType (raw vectors); for the processed QT it returns whatever is on disk, which is currently masked at creation, so the flag is usually a no-op there today.","schema":{"type":"boolean","default":true}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectHeatmapDataValueObject"},"example":"{\n \"data\": {\n \"datasetId\": 12345,\n \"datasetShortName\": \"GSE6789\",\n \"matrix\": {\n \"values\": [\n [1.0, 2.0, 3.0, 4.0],\n [0.5, 0.6, 0.7, 0.8],\n [5.0, 6.0, 7.0, 8.0]\n ],\n \"encoding\": \"json\",\n \"rowsCount\": 3,\n \"colsCount\": 4,\n \"quantitationType\": {\n \"id\": 999,\n \"name\": \"Log2 ratio\",\n \"isPreferred\": true,\n \"isRatio\": true,\n \"scale\": \"LOG2\"\n }\n },\n \"rows\": [\n {\n \"designElementId\": 101,\n \"designElementName\": \"ILMN_1\",\n \"genes\": [\n { \"id\": 672, \"officialSymbol\": \"BRCA1\", \"name\": \"BRCA1 DNA repair associated\" }\n ]\n },\n {\n \"designElementId\": 102,\n \"designElementName\": \"ILMN_2\",\n \"genes\": [\n { \"id\": 672, \"officialSymbol\": \"BRCA1\", \"name\": \"BRCA1 DNA repair associated\" }\n ],\n \"annotations\": {\n \"logFC\": 1.42,\n \"module\": \"purple\",\n \"isMultifunctional\": false\n }\n },\n {\n \"designElementId\": 103,\n \"designElementName\": \"ILMN_3\"\n }\n ],\n \"columns\": [\n {\n \"bioAssayId\": 8000,\n \"bioMaterialId\": 7000,\n \"name\": \"GSM12345\",\n \"outlier\": false,\n \"factorValueIds\": { \"78\": 1235 }\n },\n {\n \"bioAssayId\": 8001,\n \"bioMaterialId\": 7001,\n \"name\": \"GSM12346\",\n \"outlier\": false,\n \"factorValueIds\": { \"78\": 1234 }\n },\n {\n \"bioAssayId\": 8002,\n \"bioMaterialId\": 7002,\n \"name\": \"GSM12347\",\n \"outlier\": false,\n \"factorValueIds\": { \"78\": 1235 }\n },\n {\n \"bioAssayId\": 8003,\n \"bioMaterialId\": 7003,\n \"name\": \"GSM12348\",\n \"outlier\": false,\n \"factorValueIds\": { \"78\": 1234 }\n }\n ],\n \"factors\": [\n {\n \"factor\": {\n \"id\": 78,\n \"name\": \"tissue\",\n \"type\": \"categorical\",\n \"category\": \"OrganismPart\",\n \"categoryUri\": \"http://purl.obolibrary.org/obo/CARO_0000000\",\n \"baselineRelevance\": \"required\",\n \"values\": [\n {\n \"id\": 1234,\n \"isBaseline\": false,\n \"summary\": \"liver\",\n \"statements\": [\n { \"subject\": \"liver\", \"category\": \"OrganismPart\" }\n ]\n },\n {\n \"id\": 1235,\n \"isBaseline\": true,\n \"summary\": \"kidney\",\n \"statements\": [\n { \"subject\": \"kidney\", \"category\": \"OrganismPart\" }\n ]\n }\n ]\n }\n },\n {\n \"factor\": {\n \"id\": 92,\n \"name\": \"age\",\n \"type\": \"continuous\",\n \"baselineRelevance\": \"not_applicable\",\n \"baselineRelevanceReason\": \"Continuous factors have no baseline.\"\n },\n \"measurements\": {\n \"8000\": 24.0,\n \"8001\": 36.0,\n \"8002\": 48.0,\n \"8003\": 60.0\n }\n }\n ],\n \"quantitationType\": {\n \"id\": 999,\n \"name\": \"Log2 ratio\",\n \"isPreferred\": true,\n \"isRatio\": true,\n \"scale\": \"LOG2\"\n }\n }\n}\n"}}},"400":{"description":"Malformed query parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/samples/{bioAssayId}/characteristics":{"get":{"summary":"Retrieve the characteristics (tags) of a sample","description":"Returns the direct characteristics held by the sample's biomaterial, including the full Statement shape (predicate / object / second pair) for statement-backed tags. The sample is addressed by its BioAssay id (as in the outlier endpoints); characteristics live on the underlying biomaterial.","operationId":"getSampleCharacteristics","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"bioAssayId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectSetAnnotationValueObject"}}}},"404":{"description":"The dataset or sample does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":[]},{"cookieAuth":[]}]},"put":{"summary":"Replace the characteristics (tags) of a sample","description":"Idempotent set-replace for the direct characteristics of the sample's biomaterial. The diff is computed by (category, categoryUri, value, valueUri) plus statement awareness; unchanged tags keep their identity, drops are removed, new ones are added with an `IC` evidence code. The sample is addressed by its BioAssay id. A single `ManualAnnotationEvent` is recorded on the owning experiment (sample tag edits surface on the experiment's history). Requires `ACL_SECURABLE_EDIT` on the dataset.","operationId":"updateSampleCharacteristics","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"bioAssayId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationsUpdateRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectSetAnnotationValueObject"}}}},"400":{"description":"The request body is missing or malformed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"403":{"description":"The caller lacks edit permission on the dataset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset or sample does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":[]},{"cookieAuth":[]}]},"post":{"summary":"Add a characteristic (tag) to a sample","description":"Adds a single characteristic to the sample's biomaterial, accepting the full Statement shape (predicate / object / second pair). A `TagAddedEvent` is recorded on the owning experiment. Returns 409 if a tag with the same (category, value) already exists. Requires `ACL_SECURABLE_EDIT` on the dataset.","operationId":"addSampleCharacteristic","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"bioAssayId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationTagInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectAnnotationValueObject"}}}},"400":{"description":"The request body is missing or malformed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"403":{"description":"The caller lacks edit permission on the dataset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset or sample does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"A tag with the same (category, value) already exists on the sample.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":[]},{"cookieAuth":[]}]}},"/datasets/{dataset}/samples/outliers":{"post":{"summary":"Batch mark or unmark sample outliers","description":"Body: `{\"mark\": [bioAssayId,...], \"unmark\": [bioAssayId,...]}`. The listed assays must all belong to the path-derived dataset; otherwise a 400 is returned and NOTHING is mutated (validation runs before any service call). Returns the updated full outlier set (across the dataset).","operationId":"batchMarkSampleOutliers","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchOutlierRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectBatchOutlierResponse"}}}},"400":{"description":"An id appears in both mark and unmark, or doesn't belong to the dataset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/factor-values/{factorValueId}/needs-attention":{"post":{"summary":"Mark a factor value as needing curator attention","description":"Opens a curator ticket against the factor value. Body: `{\"note\": \"...\"}` — the note is the ticket title suffix. The factor value must belong to the path-derived dataset; otherwise a 400 is returned. Idempotency is enforced by the underlying service: marking an already-flagged factor value throws 409.","operationId":"markFactorValueNeedsAttention","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"factorValueId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FactorValueNeedsAttentionRequest"}}}},"responses":{"204":{"description":"Ticket opened."},"400":{"description":"The factor value does not belong to the dataset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset or factor value does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"The factor value already has an open needs-attention ticket.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_USER"]},{"cookieAuth":["GROUP_USER"]}]},"delete":{"summary":"Clear the needs-attention flag on a factor value","description":"Resolves every open ticket targeting the factor value. `note` is recorded as the resolution reason. 409 if the factor value is not currently flagged.","operationId":"clearFactorValueNeedsAttention","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"factorValueId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"note","in":"query","description":"Resolution reason; recorded on every ticket transition.","schema":{"type":"string","nullable":true}}],"responses":{"204":{"description":"Tickets resolved."},"400":{"description":"The factor value does not belong to the dataset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset or factor value does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"The factor value has no open needs-attention ticket.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_USER"]},{"cookieAuth":["GROUP_USER"]}]}},"/datasets/{dataset}/curation":{"put":{"summary":"Commit a curation draft to a dataset (all-or-none)","description":"Applies a whole curation draft (CurationDocument) in one transaction — either every supported section applies or, on any failure, nothing does. Sections: `basics` (name/description/shortName), `publications`, `design` (factors → factor-values → statements, per-sample assignments, baseline flags, split advice), `tags` (experiment-level), `sampleCharacteristics` (per-sample), and `curationDetails` (curationNote only — troubled / needsAttention 400 here and go through the ticket endpoints). New entities carry a `clientRef` (echoed as `clientRef → newGemmaId` in the report `idMap`); deletions are declared via each section's `deletedIds`. A design change that would delete differential-expression analyses requires `?force=true` (admin) or returns 409. Optimistic concurrency: `baseline.lastModified` (the dataset `lastUpdated` the draft was built against) is checked; a stale baseline returns 409. Requires `ACL_SECURABLE_EDIT`; a shortName change additionally requires admin. Returns a CurationCommitReport.","operationId":"commitCuration","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"force","in":"query","description":"Consent (admin only) to deleting differential-expression analyses that a design-section change would invalidate. Ignored unless the design section triggers such a cascade.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurationDocument"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectCurationCommitReport"}}}},"400":{"description":"Malformed body, or an unsupported section was supplied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"403":{"description":"Missing edit (or admin, for shortName) permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"The dataset moved since the draft's baseline.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":[]},{"cookieAuth":[]}]}},"/datasets/{dataset}/data/processed":{"get":{"summary":"Retrieve processed expression data of a dataset","description":"The following columns are available: Probe, Sequence, GeneSymbol, GeneName, GemmaId, NCBIid followed by one column per sample. GeneSymbol, GeneName, GemmaId and NCBIid are optional.","operationId":"getDatasetProcessedExpression","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"filter","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"string"},"example":"# Expression data file generated by Gemma on 10/29/2024\n# shortName=GSE2018\n# name=Human Lung Transplant - BAL\n# Experiment details: https://gemma.msl.ubc.ca/expressionExperiment/showExpressionExperiment.html?id=1\n# If you use this file for your research, please cite: \n# Lim et al. (2021) Curation of over 10 000 transcriptomic studies to enable data reuse. \n# Database, baab006 (doi:10.1093/database/baab006). \nProbe\tSequence\tGeneSymbol\tGeneName\tGemmaId\tNCBIid\tGSE2018_bioMaterial_34.GSM36456___BioAssayId=1Name=BAL_47c_A0B1\tGSE2018_bioMaterial_29.GSM36451___BioAssayId=6Name=BAL_45a_A1B0\tGSE2018_bioMaterial_15.GSM36437___BioAssayId=20Name=BAL_27a_A0B0\tGSE2018_bioMaterial_4.GSM36426___BioAssayId=31Name=BAL_1_A0B0\tGSE2018_bioMaterial_2.GSM36424___BioAssayId=33Name=BAL_15a_A0B1\tGSE2018_bioMaterial_32.GSM36454___BioAssayId=3Name=BAL_47a_A0B0\tGSE2018_bioMaterial_27.GSM36449___BioAssayId=8Name=BAL_44a_A0B0\tGSE2018_bioMaterial_21.GSM36443___BioAssayId=14Name=BAL_39_A0B1\tGSE2018_bioMaterial_20.GSM36442___BioAssayId=15Name=BAL_33_A0B1\tGSE2018_bioMaterial_26.GSM36448___BioAssayId=9Name=BAL_43_A0B0\tGSE2018_bioMaterial_6.GSM36428___BioAssayId=29Name=BAL_13_A0B0\tGSE2018_bioMaterial_33.GSM36455___BioAssayId=2Name=BAL_47b_A0B1\tGSE2018_bioMaterial_17.GSM36439___BioAssayId=18Name=BAL_29_A1B0\tGSE2018_bioMaterial_13.GSM36435___BioAssayId=22Name=BAL_25_A0B0\tGSE2018_bioMaterial_23.GSM36445___BioAssayId=12Name=BAL_40_A0B0\tGSE2018_bioMaterial_28.GSM36450___BioAssayId=7Name=BAL_44b_A0B0\tGSE2018_bioMaterial_24.GSM36446___BioAssayId=11Name=BAL_41_A1B0\tGSE2018_bioMaterial_19.GSM36441___BioAssayId=16Name=BAL_31_A0B1\tGSE2018_bioMaterial_25.GSM36447___BioAssayId=10Name=BAL_42_A0B0\tGSE2018_bioMaterial_22.GSM36444___BioAssayId=13Name=BAL_4_A0B0\tGSE2018_bioMaterial_18.GSM36440___BioAssayId=17Name=BAL_3_A1B0\tGSE2018_bioMaterial_8.GSM36430___BioAssayId=27Name=BAL_18_A1B0\tGSE2018_bioMaterial_7.GSM36429___BioAssayId=28Name=BAL_17_A0B0\tGSE2018_bioMaterial_5.GSM36427___BioAssayId=30Name=BAL_12_A1B0\tGSE2018_bioMaterial_3.GSM36425___BioAssayId=32Name=BAL_15b_A0B0\tGSE2018_bioMaterial_12.GSM36434___BioAssayId=23Name=BAL_21_A0B0\tGSE2018_bioMaterial_9.GSM36431___BioAssayId=26Name=BAL_19_A0B0\tGSE2018_bioMaterial_10.GSM36432___BioAssayId=25Name=BAL_20a_A1B1\tGSE2018_bioMaterial_11.GSM36433___BioAssayId=24Name=BAL_20b_A1B1\tGSE2018_bioMaterial_1.GSM36423___BioAssayId=34Name=BAL_37_A1B1\tGSE2018_bioMaterial_30.GSM36452___BioAssayId=5Name=BAL_45b_A2B0\tGSE2018_bioMaterial_14.GSM36436___BioAssayId=21Name=BAL_26_A2B0\tGSE2018_bioMaterial_31.GSM36453___BioAssayId=4Name=BAL_46_A2B0\tGSE2018_bioMaterial_16.GSM36438___BioAssayId=19Name=BAL_27b_A2B1\n1007_s_at\t1007_s_at_collapsed\tDDR1\tdiscoidin domain receptor tyrosine kinase 1\t16908\t780\t7.6721\t7.4853\t7.8763\t7.4623\t7.5819\t7.757\t7.7166\t7.3643\t7.4844\t7.4546\t7.5897\t7.5602\t7.8408\t7.5234\t7.6959\t7.5389\t7.8389\t7.4757\t7.8968\t7.5597\t7.6154\t7.5057\t7.362\t7.5837\t7.6584\t7.6638\t7.6282\t\t7.6784\t7.6151\t7.7217\t7.3875\t7.7165\t7.5376\n1053_at\t1053_at_collapsed\tRFC2\treplication factor C subunit 2\t139878\t5982\t6.8924\t6.7775\t6.8416\t7.0674\t6.7558\t6.5584\t6.9086\t6.8158\t7.0474\t6.902\t6.8889\t6.8371\t6.5479\t6.9205\t6.7033\t6.8723\t6.5528\t6.9175\t6.6162\t6.9416\t6.8842\t6.7586\t6.9581\t7.0007\t6.7241\t6.7385\t6.808\t\t6.688\t6.7764\t6.6493\t6.9261\t6.6655\t6.8936\n117_at\t117_at_collapsed\tHSPA7|HSPA6\theat shock protein family A (Hsp70) member 7 (pseudogene)|heat shock protein family A (Hsp70) member 6\t73442|73420\t3311|3310\t7.5564\t7.716\t7.7334\t7.8392\t7.5988\t7.8905\t7.6796\t7.4394\t7.649\t7.614\t7.7068\t7.813\t7.8061\t7.4471\t7.4063\t7.609\t8.0923\t7.5906\t8.2502\t7.6235\t7.4748\t7.7618\t7.7964\t7.5155\t8.0925\t7.5918\t7.8906\t\t7.8253\t7.842\t7.9382\t8.0984\t7.9372\t7.7496\n121_at\t121_at_collapsed\tPAX8\tpaired box 8\t173107\t7849\t9.1023\t9.2323\t9.3388\t9.1243\t8.7984\t9.0757\t9.2588\t8.9355\t8.9928\t9.1342\t9.0008\t9.0188\t9.4695\t8.9383\t9.2632\t8.8174\t9.382\t9.1201\t9.0405\t9.2566\t8.9751\t9.2959\t8.8983\t9.1463\t9.0725\t9.1553\t9.1685\t\t9.2515\t9.0833\t9.1434\t8.8144\t9.4814\t8.9047\n1255_g_at\t1255_g_at_collapsed\tGUCA1ANB-GUCA1A|GUCA1A\tGUCA1ANB-GUCA1A readthrough|guanylate cyclase activator 1A\t10402669|58787\t118142757|2978\t3.9816\t4.0628\t4.0015\t4.1629\t3.9986\t3.9452\t4.0291\t4.0417\t4.0483\t3.9937\t4.0622\t4.136\t4.0921\t3.9627\t4.0604\t3.9806\t4.1723\t4.0626\t4.1257\t4.0568\t3.8952\t4.0721\t4.0442\t4.1134\t3.9857\t4.1046\t4.0098\t\t4.0499\t4.0728\t3.9763\t4.0082\t3.9185\t4.0868\n1294_at\t1294_at_collapsed\tUBA7\tubiquitin like modifier activating enzyme 7\t165857\t7318\t8.0634\t7.7508\t7.7976\t8.0921\t8.0174\t8.1656\t7.8646\t7.6888\t7.9781\t7.6962\t8.0412\t7.6834\t8.1576\t7.9031\t8.0123\t7.8788\t8.0191\t8.1302\t8.0091\t7.9073\t8.0516\t7.6454\t7.9631\t7.8502\t8.0124\t7.4931\t7.9133\t\t7.6496\t7.9338\t7.8689\t7.7707\t7.7935\t7.9927\n1316_at\t1316_at_collapsed\tTHRA\tthyroid hormone receptor alpha\t160776\t7067\t5.8697\t5.8707\t5.9474\t5.8711\t5.8871\t5.9525\t5.8688\t5.8748\t5.8318\t5.8107\t5.832\t5.8217\t6.0814\t5.8491\t5.9301\t5.809\t6.0588\t5.9611\t6.0451\t5.832\t5.8675\t5.9447\t5.8611\t5.8935\t5.9666\t6.0884\t5.9402\t\t5.8583\t5.8739\t5.8993\t5.7998\t5.6166\t5.8443\n1320_at\t1320_at_collapsed\tPTPN21\tprotein tyrosine phosphatase non-receptor type 21\t227238\t11099\t5.0297\t4.8054\t4.861\t5.031\t4.9511\t4.9027\t5.2428\t4.915\t4.9608\t4.9277\t4.8071\t4.8301\t4.867\t4.9947\t4.9846\t5.0406\t4.9048\t4.8506\t4.8542\t5.0097\t4.9676\t4.8883\t4.9028\t4.9867\t4.886\t4.9535\t4.9498\t\t4.7029\t4.8417\t4.8511\t4.7326\t4.643\t4.8456\n1405_i_at\t1405_i_at_collapsed\tCCL5\tC-C motif chemokine ligand 5\t147052\t6352\t5.6652\t5.4639\t5.9441\t5.1073\t5.9815\t5.289\t5.8388\t5.1612\t5.2728\t4.9977\t6.8063\t5.6607\t5.7446\t5.2005\t6.0187\t4.9152\t5.9225\t6.1803\t5.4989\t6.6756\t7.0798\t5.0711\t4.8886\t5.6228\t6.9047\t6.324\t6.1059\t\t8.4984\t8.3406\t7.9811\t6.91\t6.7853\t6.6306\n1431_at\t1431_at_collapsed\tCYP2E1\tcytochrome P450 family 2 subfamily E member 1\t33104\t1571\t3.8388\t3.8467\t3.8965\t3.8779\t3.8262\t3.8039\t3.9421\t3.8161\t3.8997\t3.8309\t3.8176\t3.8623\t3.8059\t3.9013\t3.8035\t3.7976\t3.9332\t3.813\t3.86\t3.8494\t3.8293\t3.8349\t3.8547\t3.8433\t3.8946\t3.943\t3.8708\t\t3.8047\t3.8511\t3.8599\t3.8585\t3.8295\t3.7343\n1438_at\t1438_at_collapsed\tEPHB3\tEPH receptor B3\t43254\t2049\t6.8075\t6.5489\t6.6755\t6.63\t6.7115\t6.7421\t7.1292\t6.6164\t6.6223\t6.6747\t6.6011\t6.5757\t6.9155\t6.5807\t6.7176\t6.5973\t6.6678\t6.7832\t6.6713\t6.4502\t6.7765\t6.8397\t6.5161\t6.6269\t6.7348\t6.5554\t6.9036\t\t6.638\t6.6345\t6.6333\t6.4946\t6.7892\t6.3988\n1487_at\t1487_at_collapsed\tESRRA\testrogen related receptor alpha\t44096\t2101\t7.7785\t7.6979\t7.5933\t7.8805\t7.7475\t7.7677\t7.908\t7.5541\t7.6242\t7.5641\t7.6051\t7.5303\t7.8122\t7.6791\t7.7691\t7.7881\t7.5941\t7.7652\t7.7651\t7.5381\t7.8425\t7.5586\t7.6608\t7.6481\t7.7682\t7.7273\t7.7158\t\t7.6116\t7.6369\t7.6163\t7.517\t7.648\t7.6448\n"}}},"204":{"description":"The dataset expression matrix is empty. Only applicable if filter is set to true."},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}},"delete":{"summary":"Delete processed expression data vectors for a dataset","description":"Synchronous deletion of the processed expression data vectors for the dataset. The `confirm=true` query parameter MUST be supplied; without it the call returns `400` to guard against accidental destruction. Port of the `deleteProcessedData` CLI.","operationId":"deleteDatasetProcessedData","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"confirm","in":"query","description":"Must be `true` to authorize the destructive delete.","schema":{"type":"boolean","default":false}}],"responses":{"204":{"description":"Processed data vectors deleted."},"400":{"description":"The `confirm=true` guard was not supplied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/data/raw":{"get":{"summary":"Retrieve raw expression data of a dataset","description":"The following columns are available: Probe, Sequence, GeneSymbol, GeneName, GemmaId, NCBIid followed by one column per sample. GeneSymbol, GeneName, GemmaId and NCBIid are optional.","operationId":"getDatasetRawExpression","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"quantitationType","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]}}],"responses":{"200":{"content":{"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"string"},"example":"# Expression data file generated by Gemma on 08/12/2024\n# shortName=GSE2018\n# name=Human Lung Transplant - BAL\n# Experiment details: https://gemma.msl.ubc.ca/expressionExperiment/showExpressionExperiment.html?id=1\n# If you use this file for your research, please cite: \n# Lim et al. (2021) Curation of over 10 000 transcriptomic studies to enable data reuse. \n# Database, baab006 (doi:10.1093/database/baab006). \nProbe\tSequence\tGeneSymbol\tGeneName\tGemmaId\tNCBIid\tGSE2018_bioMaterial_34.GSM36456___BioAssayId=1Name=BAL_47c_A0B1\tGSE2018_bioMaterial_29.GSM36451___BioAssayId=6Name=BAL_45a_A1B0\tGSE2018_bioMaterial_15.GSM36437___BioAssayId=20Name=BAL_27a_A0B0\tGSE2018_bioMaterial_4.GSM36426___BioAssayId=31Name=BAL_1_A0B0\tGSE2018_bioMaterial_2.GSM36424___BioAssayId=33Name=BAL_15a_A0B1\tGSE2018_bioMaterial_32.GSM36454___BioAssayId=3Name=BAL_47a_A0B0\tGSE2018_bioMaterial_27.GSM36449___BioAssayId=8Name=BAL_44a_A0B0\tGSE2018_bioMaterial_21.GSM36443___BioAssayId=14Name=BAL_39_A0B1\tGSE2018_bioMaterial_20.GSM36442___BioAssayId=15Name=BAL_33_A0B1\tGSE2018_bioMaterial_26.GSM36448___BioAssayId=9Name=BAL_43_A0B0\tGSE2018_bioMaterial_6.GSM36428___BioAssayId=29Name=BAL_13_A0B0\tGSE2018_bioMaterial_33.GSM36455___BioAssayId=2Name=BAL_47b_A0B1\tGSE2018_bioMaterial_17.GSM36439___BioAssayId=18Name=BAL_29_A1B0\tGSE2018_bioMaterial_13.GSM36435___BioAssayId=22Name=BAL_25_A0B0\tGSE2018_bioMaterial_23.GSM36445___BioAssayId=12Name=BAL_40_A0B0\tGSE2018_bioMaterial_28.GSM36450___BioAssayId=7Name=BAL_44b_A0B0\tGSE2018_bioMaterial_24.GSM36446___BioAssayId=11Name=BAL_41_A1B0\tGSE2018_bioMaterial_19.GSM36441___BioAssayId=16Name=BAL_31_A0B1\tGSE2018_bioMaterial_25.GSM36447___BioAssayId=10Name=BAL_42_A0B0\tGSE2018_bioMaterial_22.GSM36444___BioAssayId=13Name=BAL_4_A0B0\tGSE2018_bioMaterial_18.GSM36440___BioAssayId=17Name=BAL_3_A1B0\tGSE2018_bioMaterial_8.GSM36430___BioAssayId=27Name=BAL_18_A1B0\tGSE2018_bioMaterial_7.GSM36429___BioAssayId=28Name=BAL_17_A0B0\tGSE2018_bioMaterial_5.GSM36427___BioAssayId=30Name=BAL_12_A1B0\tGSE2018_bioMaterial_3.GSM36425___BioAssayId=32Name=BAL_15b_A0B0\tGSE2018_bioMaterial_12.GSM36434___BioAssayId=23Name=BAL_21_A0B0\tGSE2018_bioMaterial_9.GSM36431___BioAssayId=26Name=BAL_19_A0B0\tGSE2018_bioMaterial_10.GSM36432___BioAssayId=25Name=BAL_20a_A1B1\tGSE2018_bioMaterial_11.GSM36433___BioAssayId=24Name=BAL_20b_A1B1\tGSE2018_bioMaterial_1.GSM36423___BioAssayId=34Name=BAL_37_A1B1\tGSE2018_bioMaterial_30.GSM36452___BioAssayId=5Name=BAL_45b_A2B0\tGSE2018_bioMaterial_14.GSM36436___BioAssayId=21Name=BAL_26_A2B0\tGSE2018_bioMaterial_31.GSM36453___BioAssayId=4Name=BAL_46_A2B0\tGSE2018_bioMaterial_16.GSM36438___BioAssayId=19Name=BAL_27b_A2B1\n1007_s_at\t1007_s_at_collapsed\tDDR1\tdiscoidin domain receptor tyrosine kinase 1\t16908\t780\t7.5836\t7.5149\t7.9426\t7.5726\t7.6895\t7.747\t7.5579\t7.2625\t7.4659\t7.3409\t7.7495\t7.5836\t7.822\t7.6083\t7.6108\t7.6486\t7.8301\t7.4155\t7.8598\t7.5372\t7.6389\t7.3945\t7.3296\t7.6254\t7.642\t7.704\t7.6074\t8.1251\t7.6831\t7.5234\t7.8507\t7.3347\t7.6171\t7.6385\n1053_at\t1053_at_collapsed\tRFC2\treplication factor C subunit 2\t139878\t5982\t6.9008\t6.8009\t6.9914\t7.1967\t6.9169\t6.4509\t6.8932\t6.7594\t7.1623\t6.9441\t6.8418\t6.7719\t6.4701\t6.8874\t6.744\t6.8398\t6.4207\t6.8337\t6.634\t6.9803\t6.9255\t6.7607\t7.015\t7.082\t6.8054\t6.6631\t6.7386\t6.2169\t6.6692\t6.8769\t6.6228\t6.9671\t6.5623\t6.8402\n117_at\t117_at_collapsed\tHSPA7|HSPA6\theat shock protein family A (Hsp70) member 7 (pseudogene)|heat shock protein family A (Hsp70) member 6\t73442|73420\t3311|3310\t7.4346\t7.7029\t7.7987\t7.9137\t7.7466\t7.807\t7.4488\t7.3236\t7.6193\t7.4809\t7.7857\t7.791\t7.7153\t7.481\t7.3295\t7.8339\t8.2324\t7.6392\t8.6027\t7.8209\t7.6376\t7.9457\t8.148\t7.5137\t8.3775\t7.3311\t7.6101\t8.9948\t7.7385\t7.7543\t8.0032\t8.1108\t7.5221\t7.5053\n121_at\t121_at_collapsed\tPAX8\tpaired box 8\t173107\t7849\t9.1509\t9.428\t9.3332\t9.1608\t8.8577\t9.0129\t9.0078\t9.0458\t9.0435\t9.1961\t8.9763\t9.0637\t9.556\t8.9965\t9.2378\t8.8475\t9.4043\t9.0734\t8.987\t9.2315\t9.023\t9.2218\t9.0111\t9.163\t8.9894\t9.1115\t9.0487\t9.693\t9.2713\t9.1449\t9.0412\t8.8165\t9.2399\t8.9253\n1255_g_at\t1255_g_at_collapsed\tGUCA1ANB-GUCA1A|GUCA1A\tGUCA1ANB-GUCA1A readthrough|guanylate cyclase activator 1A\t10402669|58787\t118142757|2978\t3.9748\t3.9926\t3.9962\t4.1169\t3.9788\t3.945\t4.0353\t4.0047\t3.9895\t3.9749\t3.9999\t4.191\t4.1986\t3.9693\t4.037\t3.9649\t4.2678\t4.1094\t4.1081\t4.0075\t3.8168\t4.0413\t3.9619\t4.1162\t3.9818\t4.2462\t4.0512\t4.723\t4.0472\t4.0368\t3.9148\t3.957\t4.0902\t4.1647\n1294_at\t1294_at_collapsed\tUBA7\tubiquitin like modifier activating enzyme 7\t165857\t7318\t8.0512\t7.8481\t8.0362\t8.2978\t8.2437\t8.1893\t7.6526\t7.6184\t8.0514\t7.6264\t8.2552\t7.676\t8.1379\t7.9863\t8.0424\t8.2834\t8.2405\t8.3477\t8.0258\t8.0478\t8.2163\t7.7458\t8.188\t7.9344\t8.0258\t6.727\t7.2924\t7.213\t7.5449\t7.8528\t8.0715\t7.9229\t7.0863\t7.5198\n1316_at\t1316_at_collapsed\tTHRA\tthyroid hormone receptor alpha\t160776\t7067\t5.8251\t5.7495\t5.8783\t5.8014\t5.8045\t5.9517\t5.93\t5.8003\t5.7543\t5.7576\t5.8004\t5.8105\t6.1751\t5.813\t5.9054\t5.807\t6.1431\t6.0282\t5.9885\t5.7663\t5.7778\t5.8662\t5.7441\t5.9164\t6.0428\t6.4239\t6.2033\t6.5181\t5.8785\t5.8192\t5.901\t5.7307\t5.7442\t6.0342\n1320_at\t1320_at_collapsed\tPTPN21\tprotein tyrosine phosphatase non-receptor type 21\t227238\t11099\t5.0278\t4.6977\t4.8773\t4.9623\t4.8959\t4.9385\t5.601\t4.9198\t4.9711\t4.9674\t4.7135\t4.78\t4.888\t4.9157\t4.9604\t4.9639\t4.9033\t4.8436\t4.7897\t4.871\t4.8224\t4.8035\t4.7408\t4.9627\t4.9318\t5.1471\t5.1729\t5.0119\t4.7383\t4.8618\t4.7806\t4.6818\t4.8755\t4.9758\n1405_i_at\t1405_i_at_collapsed\tCCL5\tC-C motif chemokine ligand 5\t147052\t6352\t5.4452\t5.1815\t5.6907\t5.0938\t5.6752\t5.121\t5.8731\t4.9235\t5.0333\t5.0179\t8.4139\t5.3691\t5.516\t4.9412\t5.6315\t4.758\t5.8292\t6.0614\t5.5311\t7.1939\t7.8281\t4.9137\t4.5903\t6.2115\t7.8041\t6.0074\t5.7304\t6.4826\t8.7004\t8.5726\t9.3943\t6.7638\t5.9301\t5.6076\n1431_at\t1431_at_collapsed\tCYP2E1\tcytochrome P450 family 2 subfamily E member 1\t33104\t1571\t3.8357\t3.7918\t3.8725\t3.8444\t3.8142\t3.8356\t3.9912\t3.7955\t3.8791\t3.8172\t3.8016\t3.8793\t3.8674\t3.8844\t3.7936\t3.7149\t3.9306\t3.7555\t3.7919\t3.7646\t3.7422\t3.7627\t3.7409\t3.8532\t3.8988\t4.1843\t4.0179\t4.1031\t3.8357\t3.8252\t3.8331\t3.7994\t4.1635\t3.7985\n1438_at\t1438_at_collapsed\tEPHB3\tEPH receptor B3\t43254\t2049\t6.7774\t6.5141\t6.6158\t6.5813\t6.6212\t6.8403\t7.3128\t6.6126\t6.659\t6.6867\t6.5531\t6.5593\t6.9292\t6.5632\t6.6107\t6.5833\t6.6236\t6.7196\t6.4916\t6.2833\t6.6082\t6.6347\t6.3239\t6.6174\t6.7539\t6.689\t7.1478\t7.0775\t6.772\t6.6523\t6.5891\t6.4019\t6.9996\t6.4729\n1487_at\t1487_at_collapsed\tESRRA\testrogen related receptor alpha\t44096\t2101\t7.776\t7.8337\t7.6923\t8.0144\t7.8732\t7.7621\t7.8187\t7.5107\t7.6478\t7.4898\t7.5515\t7.4533\t7.7246\t7.6886\t7.7484\t7.9294\t7.5594\t7.7236\t7.636\t7.4774\t7.894\t7.4357\t7.7109\t7.6747\t7.7433\t7.7378\t7.6665\t7.1557\t7.6136\t7.5788\t7.5488\t7.5945\t7.54\t7.7664\n"}}},"404":{"description":"Either the dataset or the quantitation type do not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}},"delete":{"summary":"Delete raw expression data vectors for a dataset","description":"Synchronous deletion of the raw expression data vectors for the dataset. The `confirm=true` query parameter MUST be supplied; without it the call returns `400` to guard against accidental destruction. The optional `quantitationType` query param selects which raw QT to delete; if omitted, the preferred raw QT is used. Port of the `deleteRawData` CLI.","operationId":"deleteDatasetRawData","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"quantitationType","in":"query","description":"Optional quantitation-type selector; defaults to the dataset's preferred raw QT.","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]}},{"name":"confirm","in":"query","description":"Must be `true` to authorize the destructive delete.","schema":{"type":"boolean","default":false}}],"responses":{"204":{"description":"Raw data vectors deleted."},"400":{"description":"The `confirm=true` guard was not supplied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/publications":{"get":{"summary":"Retrieve all publications associated with a dataset","operationId":"getDatasetAllPublications","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListBibliographicReferenceValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}},"put":{"summary":"Replace the publications associated with a dataset","description":"Idempotent set-replace for the dataset's primary and other-relevant publications. Each publication is a typed identifier object carrying exactly one of `pubMedId` or `doi`, e.g. `{\"pubMedId\":\"22438826\"}` or `{\"doi\":\"10.1101/2025.01.02.634567\"}`. `primaryPublication` sets the primary publication, or clears it when null/omitted; `otherRelevantPublications` replaces the other-relevant set (an empty list clears it, and the field is required so a partial body can't silently wipe publications). Identifiers not already held by Gemma are fetched and persisted on demand: PubMed ids from PubMed; DOIs via PubMed-by-DOI then CrossRef (which covers bioRxiv / medRxiv preprints PubMed doesn't index). An identifier that resolves nowhere yields a 400. A publication given both as the primary and in the other-relevant list is kept only as the primary. Returns the dataset's full publication list, same shape as the GET. Requires `ACL_SECURABLE_EDIT` on the dataset. Replaces the retired gemma-web `updatePubMed` / `removePrimaryPublication` controller methods, and the workaround of noting a preprint in a curation comment.","operationId":"updateDatasetPublications","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicationsUpdateRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListBibliographicReferenceValueObject"}}}},"400":{"description":"The request body is missing or malformed, or a PubMed id could not be resolved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"403":{"description":"The caller lacks edit permission on the dataset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":[]},{"cookieAuth":[]}]}},"/datasets/{dataset}/annotations":{"get":{"summary":"Retrieve the annotations of a dataset","operationId":"getDatasetAnnotations","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"includeFreeText","in":"query","description":"Also return tags that carry no ontology mapping. Off by default, which suits display: an unmapped string cannot be searched or reasoned over. Turn it on for curation read-back — a free-text tag is persisted like any other, so a caller that has just written one otherwise reads back nothing and cannot tell a rejected write from a filtered read.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectSetAnnotationValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}},"put":{"summary":"Replace the direct annotations of a dataset","description":"Idempotent set-replace for the experiment-level tags (organism part, disease, treatment, etc.) held directly by the dataset. Tags on subsets, factor values, and biomaterials are NOT touched. The diff is computed by (category, categoryUri, value, valueUri); unchanged tags keep their identity, drops are removed, new ones are added with an `IC` evidence code. A single `ManualAnnotationEvent` is recorded when the call actually changes the set. Requires `ACL_SECURABLE_EDIT` on the dataset.","operationId":"updateDatasetAnnotations","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationsUpdateRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectSetAnnotationValueObject"}}}},"400":{"description":"The request body is missing or malformed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"403":{"description":"The caller lacks edit permission on the dataset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":[]},{"cookieAuth":[]}]}},"/datasets/{dataset}/auditEvents":{"get":{"summary":"Retrieve the audit events of a dataset","description":"Legacy mode (no `cursor` parameter): returns the full unpaginated audit-event list in the existing shape (no count query, full result set, sorted by `date, id`). Cursor mode (recommended for datasets accumulating long curation/processing histories): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field along with a `limit`. In cursor mode the result is always sorted by ascending `id` (cursor mode forces a single-component id sort pending the indexed-column audit in phase B; audit events are append-only so id-asc tracks date-asc in practice); the path-derived dataset (AuditTrail) scope is preserved; `totalElements` is `null` by default (no count query per request). Pass `compact=true` to collapse consecutive same-(eventType, performer) events into a single entry carrying `collapsedCount` (run length) and `lastOccurrence` (last event's date); the first event's message is kept verbatim. Compression happens within the response page only — runs are never merged across cursor boundaries. Pass `excludeEmpty=true` to drop entries that have no eventType AND blank note/detail (plain audit ticks that carry no story); when combined with `compact=true`, filtering happens FIRST so collapsing runs over the post-filter sequence. Default for both options is `false` (full fidelity).","operationId":"getDatasetAuditEvents","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}},{"name":"limit","in":"query","description":"Page size for cursor mode (ignored when no `cursor` is supplied).","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"compact","in":"query","description":"Collapse runs of consecutive same-(eventType, performer) events into one entry with `collapsedCount` + `lastOccurrence`. Default `false`.","schema":{"type":"boolean","default":false}},{"name":"excludeEmpty","in":"query","description":"Drop entries with no eventType AND blank note/detail (boring update ticks). Default `false`. Combine with `compact=true` for a tight curator-story view.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseDataObjectListAuditEventValueObject"},{"$ref":"#/components/schemas/ResponseDataObjectListCompactAuditEventValueObject"},{"$ref":"#/components/schemas/CursorPaginatedResponseDataObjectAuditEventValueObject"},{"$ref":"#/components/schemas/CursorPaginatedResponseDataObjectCompactAuditEventValueObject"}]}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/cellLevelCharacteristics":{"get":{"summary":"Retrieve all other cell-level characteristics of a single-cell dataset","operationId":"getDatasetCellLevelCharacteristics","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"quantitationType","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListCellLevelCharacteristicsValueObject"}},"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"object"},"example":"sample_id\tcell_id\tcategory\tcategory_uri\tcategory_id\tvalue\tvalue_uri\n"}}}}}},"/datasets/{dataset}/cellTypeAssignment":{"get":{"summary":"Retrieve a cell-type assignment of a single-cell dataset","operationId":"getDatasetCellTypeAssignment","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"quantitationType","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]}},{"name":"cellTypeAssignment","in":"query","description":"The name of the cell type assignment to retrieve. If left unset, this the preferred one is returned.","schema":{"type":"string"}},{"name":"protocol","in":"query","description":"The protocol of the cell type assignment to retrieve. This cannot be used in combination with `cellTypeAssignment`.","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectCellTypeAssignmentValueObject"}},"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"object"},"example":"sample_id\tcell_id\tcell_type\tcell_type_uri\nH48-g2 , Entorhinal cortex\tAAACCCAAGGTCCAGA-2_1\tExcitatory Neurons\t\nH48-g2 , Entorhinal cortex\tAAACCCACAGATAAAC-2_1\tExcitatory Neurons\t\nH48-g2 , Entorhinal cortex\tAAACCCAGTCCTTAAG-2_1\tOPCs\t\nH48-g2 , Entorhinal cortex\tAAACGAAAGCCTCAAT-2_1\tOligodendrocytes\t\nH48-g2 , Entorhinal cortex\tAAACGAACAGCGTGAA-2_1\tAstrocytes\t\nH48-g2 , Entorhinal cortex\tAAACGAATCCATAGAC-2_1\tOligodendrocytes\t\nH48-g2 , Entorhinal cortex\tAAACGAATCTCCCTAG-2_1\tOligodendrocytes\t\nH48-g2 , Entorhinal cortex\tAAACGCTAGGCCCAAA-2_1\tExcitatory Neurons\t\nH48-g2 , Entorhinal cortex\tAAACGCTAGGTATAGT-2_1\tVascular Cells\t\nH48-g2 , Entorhinal cortex\tAAACGCTCAACATACC-2_1\tExcitatory Neurons\t\nH48-g2 , Entorhinal cortex\tAAACGCTCAGCTTTCC-2_1\tVascular Cells\t\nH48-g2 , Entorhinal cortex\tAAACGCTGTGGTCCCA-2_1\tVascular Cells\t\nH48-g2 , Entorhinal cortex\tAAACGCTTCGACACTA-2_1\tExcitatory Neurons\t\nH48-g2 , Entorhinal cortex\tAAACGCTTCGGAATGG-2_1\tOligodendrocytes\t\nH48-g2 , Entorhinal cortex\tAAAGAACCAAGCGAAC-2_1\tVascular Cells\t\nH48-g2 , Entorhinal cortex\tAAAGAACGTTCTAACG-2_1\tExcitatory Neurons\t\nH48-g2 , Entorhinal cortex\tAAAGGATAGAAGGATG-2_1\tOligodendrocytes\t\nH48-g2 , Entorhinal cortex\tAAAGGATGTTCCCAAA-2_1\tVascular Cells\t\nH48-g2 , Entorhinal cortex\tAAAGGATGTTCGGTAT-2_1\tExcitatory Neurons\t\n"}}},"404":{"description":"If the dataset, quantitation type or cell type assignment does not exist, or if a preferred cell type assignment is requested but none is available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/curationDetails":{"get":{"summary":"Retrieve the curation details of a dataset","description":"The `curationNote` and `lastNoteUpdateEvent` fields are only populated for administrators.","operationId":"getDatasetCurationDetails","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectCurationDetailsValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}},"put":{"summary":"Update the curation details of a dataset (deprecated; use /tickets)","description":"DEPRECATED — the troubled/needsAttention flips are now backed by the Ticket layer (see /tickets). Setting troubled=true opens a QUALITY_REVIEW ticket targeting the dataset; troubled=false resolves all open QUALITY_REVIEW tickets. needsAttention=true opens a GENERIC ticket; needsAttention=false resolves all open GENERIC/BATCH_INFO_NEEDED tickets. An optional `note` is supplied as the ticket title (on open) or transition reason (on resolve). `curationNote` is still applied via the legacy CurationNoteUpdateEvent pending the note-to-comment migration. New clients should call /tickets directly.","operationId":"updateDatasetCurationDetails","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurationDetailsUpdateRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectCurationDetailsValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"deprecated":true,"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/design":{"get":{"summary":"Retrieve the design of a dataset","operationId":"getDatasetDesignJson","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"string"},"example":"# Expression design file generated by Gemma on 12/14/2023\n# shortName=GSE2018\n# name=Human Lung Transplant - BAL\n# Experiment details: https://gemma.msl.ubc.ca/expressionExperiment/showExpressionExperiment.html?id=1\n# If you use this file for your research, please cite: \n# Lim et al. (2021) Curation of over 10 000 transcriptomic studies to enable data reuse. \n# Database, baab006 (doi:10.1093/database/baab006). \n#$batch : Category=block Type=Categorical\n#$diseaseState : Category=disease Type=Categorical\nBioassay\tExternalID\tbatch\tdiseaseState\nGSE2018_bioMaterial_34.GSM36456___BioAssayId=1Name=BAL_47c_A0B1\tGSM36456\tBatch_06_02_07_24\treference_subject_role\nGSE2018_bioMaterial_33.GSM36455___BioAssayId=2Name=BAL_47b_A0B1\tGSM36455\tBatch_07_02_10_03\treference_subject_role\nGSE2018_bioMaterial_32.GSM36454___BioAssayId=3Name=BAL_47a_A0B0\tGSM36454\tBatch_08_02_10_15\treference_subject_role\nGSE2018_bioMaterial_31.GSM36453___BioAssayId=4Name=BAL_46_A2B0\tGSM36453\tBatch_01_02_01_31\tdisease_related_to_solid_organ_transplantation_|_lung_|\nGSE2018_bioMaterial_30.GSM36452___BioAssayId=5Name=BAL_45b_A2B0\tGSM36452\tBatch_03_02_05_22\tdisease_related_to_solid_organ_transplantation_|_lung_|\nGSE2018_bioMaterial_29.GSM36451___BioAssayId=6Name=BAL_45a_A1B0\tGSM36451\tBatch_06_02_07_24\treference_subject_role\nGSE2018_bioMaterial_28.GSM36450___BioAssayId=7Name=BAL_44b_A0B0\tGSM36450\tBatch_02_02_04_03\treference_subject_role\nGSE2018_bioMaterial_27.GSM36449___BioAssayId=8Name=BAL_44a_A0B0\tGSM36449\tBatch_08_02_10_15\treference_subject_role\nGSE2018_bioMaterial_26.GSM36448___BioAssayId=9Name=BAL_43_A0B0\tGSM36448\tBatch_09_02_10_25\treference_subject_role\nGSE2018_bioMaterial_25.GSM36447___BioAssayId=10Name=BAL_42_A0B0\tGSM36447\tBatch_11_02_11_27\treference_subject_role\n"},"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectExperimentalDesignValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}},"put":{"summary":"Replace the experimental design of a dataset","operationId":"replaceDatasetDesign","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"force","in":"query","description":"Set to true to consent to deleting differential-expression analyses that depend on factors or factor values affected by the change.","schema":{"type":"boolean","default":false}},{"name":"agentProposalId","in":"query","description":"Optional FK to an AgentProposal row driving this apply. Accepted by the endpoint; the link is not yet persisted (AgentProposal entity pending per AGENT_WRITEBACK_RECCE.md). Logged for audit-trail traceability once wired.","schema":{"type":"integer","format":"int64","nullable":true}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentalDesignValueObject"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectExperimentalDesignValueObject"}}}},"400":{"description":"The proposed design has validation blockers; see the report in the response body.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectDesignPreflightReport"}}}},"409":{"description":"The proposed change would delete differential-expression analyses; retry with ?force=true to consent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectDesignPreflightReport"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/data/dea":{"get":{"summary":"Retrieve the differential expression analysis archive of a dataset","description":"Returns a ZIP archive (one per analysis) containing the analysis result and per-result-set contrast files. The archive is cached on disk under and rebuilt on first access; for datasets with multiple differential-expression analyses, pass `analysisId` to select one.","operationId":"getDatasetDiffExAnalysisArchive","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"analysisId","in":"query","description":"Identifier of the differential-expression analysis to retrieve. Required when the dataset has more than one analysis.","schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"The dataset does not have any differential-expression analyses, or the supplied analysis ID does not belong to this dataset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"The dataset has more than one differential-expression analysis; pass `analysisId` to select one.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/analyses/differential":{"get":{"summary":"Retrieve annotations and surface level stats for a dataset's differential analyses","description":"By default, the per-analysis `bioAssaysAnalyzed` collection is omitted from the response: populating it requires thawing every BioAssay on every analyzed experiment, which dominates the cost of this endpoint on large datasets and is rarely needed by callers (the UI fetches sample metadata separately via `/datasets/{id}/samples`). Set `includeAssays=true` to opt back into the pre-2.0 behaviour.","operationId":"getDatasetDifferentialExpressionAnalyses","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"offset","in":"query","description":"This parameter is ignored and will be removed in the 2.10 release.","deprecated":true,"schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","description":"This parameter is ignored and will be removed in the 2.10 release.","deprecated":true,"schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"includeAssays","in":"query","description":"When true, populate the `bioAssaysAnalyzed` collection on each analysis. Defaults to false because thawing every BioAssay is expensive and the field is rarely consumed.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListDifferentialExpressionAnalysisValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}},"post":{"summary":"Run differential expression analysis for a dataset (alias of /tasks/differential)","description":"Curation-UI compatibility alias for `POST /datasets/{id}/tasks/differential`. Behaviour is identical to the canonical endpoint.","operationId":"runDatasetDifferentialAnalysisAlias","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DifferentialAnalysisRunRequest"}}}},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTaskStatusValueObject"}}}},"400":{"description":"The request body references factor ids that don't belong to the dataset, or names a subset factor that's also in `factorIds`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/analyses/differential/resultSets":{"get":{"summary":"Retrieve the result sets of all differential analyses of a dataset","operationId":"getDatasetDifferentialExpressionAnalysisResultSets","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"302":{"description":"If the dataset is found, a redirection to the corresponding getResultSets operation."},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/annotation-sets/draft":{"get":{"summary":"Fetch the current curator's DRAFT for a dataset (404 if none).","operationId":"getDatasetDraftAnnotationSet","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"description":"default response","content":{"application/json":{}}}}},"put":{"summary":"Upsert the current curator's DRAFT for a dataset.","description":"One DRAFT per (dataset, curator); returns 201 on create, 200 on update.","operationId":"upsertDatasetDraftAnnotationSet","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertDraftRequest"}}}},"responses":{"200":{"description":"default response","content":{"application/json":{}}}}}},"/datasets/{dataset}/data":{"get":{"summary":"Retrieve processed expression data of a dataset","description":"This endpoint is deprecated and getDatasetProcessedExpression() should be used instead. The following columns are available: Probe, Sequence, GeneSymbol, GeneName, GemmaId, NCBIid followed by one column per sample. GeneSymbol, GeneName, GemmaId and NCBIid are optional.","operationId":"getDatasetExpression","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"filter","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"string"},"example":"# Expression data file generated by Gemma on 10/29/2024\n# shortName=GSE2018\n# name=Human Lung Transplant - BAL\n# Experiment details: https://gemma.msl.ubc.ca/expressionExperiment/showExpressionExperiment.html?id=1\n# If you use this file for your research, please cite: \n# Lim et al. (2021) Curation of over 10 000 transcriptomic studies to enable data reuse. \n# Database, baab006 (doi:10.1093/database/baab006). \nProbe\tSequence\tGeneSymbol\tGeneName\tGemmaId\tNCBIid\tGSE2018_bioMaterial_34.GSM36456___BioAssayId=1Name=BAL_47c_A0B1\tGSE2018_bioMaterial_29.GSM36451___BioAssayId=6Name=BAL_45a_A1B0\tGSE2018_bioMaterial_15.GSM36437___BioAssayId=20Name=BAL_27a_A0B0\tGSE2018_bioMaterial_4.GSM36426___BioAssayId=31Name=BAL_1_A0B0\tGSE2018_bioMaterial_2.GSM36424___BioAssayId=33Name=BAL_15a_A0B1\tGSE2018_bioMaterial_32.GSM36454___BioAssayId=3Name=BAL_47a_A0B0\tGSE2018_bioMaterial_27.GSM36449___BioAssayId=8Name=BAL_44a_A0B0\tGSE2018_bioMaterial_21.GSM36443___BioAssayId=14Name=BAL_39_A0B1\tGSE2018_bioMaterial_20.GSM36442___BioAssayId=15Name=BAL_33_A0B1\tGSE2018_bioMaterial_26.GSM36448___BioAssayId=9Name=BAL_43_A0B0\tGSE2018_bioMaterial_6.GSM36428___BioAssayId=29Name=BAL_13_A0B0\tGSE2018_bioMaterial_33.GSM36455___BioAssayId=2Name=BAL_47b_A0B1\tGSE2018_bioMaterial_17.GSM36439___BioAssayId=18Name=BAL_29_A1B0\tGSE2018_bioMaterial_13.GSM36435___BioAssayId=22Name=BAL_25_A0B0\tGSE2018_bioMaterial_23.GSM36445___BioAssayId=12Name=BAL_40_A0B0\tGSE2018_bioMaterial_28.GSM36450___BioAssayId=7Name=BAL_44b_A0B0\tGSE2018_bioMaterial_24.GSM36446___BioAssayId=11Name=BAL_41_A1B0\tGSE2018_bioMaterial_19.GSM36441___BioAssayId=16Name=BAL_31_A0B1\tGSE2018_bioMaterial_25.GSM36447___BioAssayId=10Name=BAL_42_A0B0\tGSE2018_bioMaterial_22.GSM36444___BioAssayId=13Name=BAL_4_A0B0\tGSE2018_bioMaterial_18.GSM36440___BioAssayId=17Name=BAL_3_A1B0\tGSE2018_bioMaterial_8.GSM36430___BioAssayId=27Name=BAL_18_A1B0\tGSE2018_bioMaterial_7.GSM36429___BioAssayId=28Name=BAL_17_A0B0\tGSE2018_bioMaterial_5.GSM36427___BioAssayId=30Name=BAL_12_A1B0\tGSE2018_bioMaterial_3.GSM36425___BioAssayId=32Name=BAL_15b_A0B0\tGSE2018_bioMaterial_12.GSM36434___BioAssayId=23Name=BAL_21_A0B0\tGSE2018_bioMaterial_9.GSM36431___BioAssayId=26Name=BAL_19_A0B0\tGSE2018_bioMaterial_10.GSM36432___BioAssayId=25Name=BAL_20a_A1B1\tGSE2018_bioMaterial_11.GSM36433___BioAssayId=24Name=BAL_20b_A1B1\tGSE2018_bioMaterial_1.GSM36423___BioAssayId=34Name=BAL_37_A1B1\tGSE2018_bioMaterial_30.GSM36452___BioAssayId=5Name=BAL_45b_A2B0\tGSE2018_bioMaterial_14.GSM36436___BioAssayId=21Name=BAL_26_A2B0\tGSE2018_bioMaterial_31.GSM36453___BioAssayId=4Name=BAL_46_A2B0\tGSE2018_bioMaterial_16.GSM36438___BioAssayId=19Name=BAL_27b_A2B1\n1007_s_at\t1007_s_at_collapsed\tDDR1\tdiscoidin domain receptor tyrosine kinase 1\t16908\t780\t7.6721\t7.4853\t7.8763\t7.4623\t7.5819\t7.757\t7.7166\t7.3643\t7.4844\t7.4546\t7.5897\t7.5602\t7.8408\t7.5234\t7.6959\t7.5389\t7.8389\t7.4757\t7.8968\t7.5597\t7.6154\t7.5057\t7.362\t7.5837\t7.6584\t7.6638\t7.6282\t\t7.6784\t7.6151\t7.7217\t7.3875\t7.7165\t7.5376\n1053_at\t1053_at_collapsed\tRFC2\treplication factor C subunit 2\t139878\t5982\t6.8924\t6.7775\t6.8416\t7.0674\t6.7558\t6.5584\t6.9086\t6.8158\t7.0474\t6.902\t6.8889\t6.8371\t6.5479\t6.9205\t6.7033\t6.8723\t6.5528\t6.9175\t6.6162\t6.9416\t6.8842\t6.7586\t6.9581\t7.0007\t6.7241\t6.7385\t6.808\t\t6.688\t6.7764\t6.6493\t6.9261\t6.6655\t6.8936\n117_at\t117_at_collapsed\tHSPA7|HSPA6\theat shock protein family A (Hsp70) member 7 (pseudogene)|heat shock protein family A (Hsp70) member 6\t73442|73420\t3311|3310\t7.5564\t7.716\t7.7334\t7.8392\t7.5988\t7.8905\t7.6796\t7.4394\t7.649\t7.614\t7.7068\t7.813\t7.8061\t7.4471\t7.4063\t7.609\t8.0923\t7.5906\t8.2502\t7.6235\t7.4748\t7.7618\t7.7964\t7.5155\t8.0925\t7.5918\t7.8906\t\t7.8253\t7.842\t7.9382\t8.0984\t7.9372\t7.7496\n121_at\t121_at_collapsed\tPAX8\tpaired box 8\t173107\t7849\t9.1023\t9.2323\t9.3388\t9.1243\t8.7984\t9.0757\t9.2588\t8.9355\t8.9928\t9.1342\t9.0008\t9.0188\t9.4695\t8.9383\t9.2632\t8.8174\t9.382\t9.1201\t9.0405\t9.2566\t8.9751\t9.2959\t8.8983\t9.1463\t9.0725\t9.1553\t9.1685\t\t9.2515\t9.0833\t9.1434\t8.8144\t9.4814\t8.9047\n1255_g_at\t1255_g_at_collapsed\tGUCA1ANB-GUCA1A|GUCA1A\tGUCA1ANB-GUCA1A readthrough|guanylate cyclase activator 1A\t10402669|58787\t118142757|2978\t3.9816\t4.0628\t4.0015\t4.1629\t3.9986\t3.9452\t4.0291\t4.0417\t4.0483\t3.9937\t4.0622\t4.136\t4.0921\t3.9627\t4.0604\t3.9806\t4.1723\t4.0626\t4.1257\t4.0568\t3.8952\t4.0721\t4.0442\t4.1134\t3.9857\t4.1046\t4.0098\t\t4.0499\t4.0728\t3.9763\t4.0082\t3.9185\t4.0868\n1294_at\t1294_at_collapsed\tUBA7\tubiquitin like modifier activating enzyme 7\t165857\t7318\t8.0634\t7.7508\t7.7976\t8.0921\t8.0174\t8.1656\t7.8646\t7.6888\t7.9781\t7.6962\t8.0412\t7.6834\t8.1576\t7.9031\t8.0123\t7.8788\t8.0191\t8.1302\t8.0091\t7.9073\t8.0516\t7.6454\t7.9631\t7.8502\t8.0124\t7.4931\t7.9133\t\t7.6496\t7.9338\t7.8689\t7.7707\t7.7935\t7.9927\n1316_at\t1316_at_collapsed\tTHRA\tthyroid hormone receptor alpha\t160776\t7067\t5.8697\t5.8707\t5.9474\t5.8711\t5.8871\t5.9525\t5.8688\t5.8748\t5.8318\t5.8107\t5.832\t5.8217\t6.0814\t5.8491\t5.9301\t5.809\t6.0588\t5.9611\t6.0451\t5.832\t5.8675\t5.9447\t5.8611\t5.8935\t5.9666\t6.0884\t5.9402\t\t5.8583\t5.8739\t5.8993\t5.7998\t5.6166\t5.8443\n1320_at\t1320_at_collapsed\tPTPN21\tprotein tyrosine phosphatase non-receptor type 21\t227238\t11099\t5.0297\t4.8054\t4.861\t5.031\t4.9511\t4.9027\t5.2428\t4.915\t4.9608\t4.9277\t4.8071\t4.8301\t4.867\t4.9947\t4.9846\t5.0406\t4.9048\t4.8506\t4.8542\t5.0097\t4.9676\t4.8883\t4.9028\t4.9867\t4.886\t4.9535\t4.9498\t\t4.7029\t4.8417\t4.8511\t4.7326\t4.643\t4.8456\n1405_i_at\t1405_i_at_collapsed\tCCL5\tC-C motif chemokine ligand 5\t147052\t6352\t5.6652\t5.4639\t5.9441\t5.1073\t5.9815\t5.289\t5.8388\t5.1612\t5.2728\t4.9977\t6.8063\t5.6607\t5.7446\t5.2005\t6.0187\t4.9152\t5.9225\t6.1803\t5.4989\t6.6756\t7.0798\t5.0711\t4.8886\t5.6228\t6.9047\t6.324\t6.1059\t\t8.4984\t8.3406\t7.9811\t6.91\t6.7853\t6.6306\n1431_at\t1431_at_collapsed\tCYP2E1\tcytochrome P450 family 2 subfamily E member 1\t33104\t1571\t3.8388\t3.8467\t3.8965\t3.8779\t3.8262\t3.8039\t3.9421\t3.8161\t3.8997\t3.8309\t3.8176\t3.8623\t3.8059\t3.9013\t3.8035\t3.7976\t3.9332\t3.813\t3.86\t3.8494\t3.8293\t3.8349\t3.8547\t3.8433\t3.8946\t3.943\t3.8708\t\t3.8047\t3.8511\t3.8599\t3.8585\t3.8295\t3.7343\n1438_at\t1438_at_collapsed\tEPHB3\tEPH receptor B3\t43254\t2049\t6.8075\t6.5489\t6.6755\t6.63\t6.7115\t6.7421\t7.1292\t6.6164\t6.6223\t6.6747\t6.6011\t6.5757\t6.9155\t6.5807\t6.7176\t6.5973\t6.6678\t6.7832\t6.6713\t6.4502\t6.7765\t6.8397\t6.5161\t6.6269\t6.7348\t6.5554\t6.9036\t\t6.638\t6.6345\t6.6333\t6.4946\t6.7892\t6.3988\n1487_at\t1487_at_collapsed\tESRRA\testrogen related receptor alpha\t44096\t2101\t7.7785\t7.6979\t7.5933\t7.8805\t7.7475\t7.7677\t7.908\t7.5541\t7.6242\t7.5641\t7.6051\t7.5303\t7.8122\t7.6791\t7.7691\t7.7881\t7.5941\t7.7652\t7.7651\t7.5381\t7.8425\t7.5586\t7.6608\t7.6481\t7.7682\t7.7273\t7.7158\t\t7.6116\t7.6369\t7.6163\t7.517\t7.648\t7.6448\n"}}},"204":{"description":"The dataset expression matrix is empty."},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"deprecated":true}},"/datasets/{dataset}/geeq":{"get":{"summary":"Retrieve the GEEQ scores of a dataset","description":"Returns the administrative GEEQ view exposing the underlying suitability and quality score factors, plus a `lastComputed` timestamp from the most recent `GeeqEvent`. Returns 404 when GEEQ has never been computed for this dataset (use `PUT /geeq` to compute it).","operationId":"getDatasetGeeq","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectGeeqValueObject"}}}},"404":{"description":"The dataset does not exist or GEEQ has not been computed for it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]},"put":{"summary":"Recompute GEEQ scores for a dataset","description":"Synchronously recomputes the GEEQ quality and suitability scores for the dataset and writes a `GeeqEvent` to the audit log. The optional `mode` query parameter selects which subset of scores to recompute (`all`, `batch`, `reps`, `pub`); defaults to `all`. The returned object includes the updated scores and the `lastComputed` timestamp. Because the endpoint is admin-only, the response is the administrative GEEQ view exposing the underlying score variables.","operationId":"recomputeDatasetGeeq","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"mode","in":"query","schema":{"type":"string","default":"all","enum":["all","batch","reps","pub"]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectGeeqValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/geeq/public":{"get":{"summary":"Retrieve the public per-factor GEEQ breakdown of a dataset","description":"Returns the per-factor suitability and quality scores plus the aggregate `publicQualityScore` / `publicSuitabilityScore` already exposed inline on `GET /datasets/{dataset}`. Admin-only fields (detected/manual override scores, `otherIssues`) are omitted. Returns 404 when GEEQ has never been computed for the dataset.","operationId":"getDatasetGeeqPublic","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectPublicGeeqValueObject"}}}},"404":{"description":"The dataset does not exist or GEEQ has not been computed for it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/groups":{"get":{"summary":"Retrieve groups that have any permission on the given dataset","description":"Returns the names (or summaries) of groups with read or admin permission on the dataset's ACL. The set is computed from the SecurityService union of groupsReadableBy + groupsEditableBy. Filtered by the current caller's ACL view.","operationId":"getDatasetGroups","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"includeSummaries","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/mean-variance":{"get":{"summary":"Retrieve the per-probe mean / variance for a dataset","description":"Returns parallel mean[] and variance[] arrays computed by the mean-variance step. 404 if the dataset has no MeanVarianceRelation. Note: design-element ids and names are currently omitted (Gemma's MeanVarianceRelation stores only the numeric arrays); the UI indexes by position.","operationId":"getDatasetMeanVariance","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectMeanVarianceValueObject"}}}},"404":{"description":"The dataset does not exist or has no mean-variance relation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/metadata/{type}":{"get":{"summary":"Retrieve a single preprocessing-metadata file by type","description":"Streams the metadata file. The {type} path parameter is the ExpressionExperimentMetaFileType enum name (e.g. BASE_METADATA, ALIGNMENT_METADATA, RNASEQ_PIPELINE_REPORT). Use GET /datasets/{id}/metadata to discover available types. The response Content-Type reflects the type's native MIME (e.g. text/plain, application/json, text/html); pass ?download=true to force application/octet-stream.","operationId":"getDatasetMetadataFile","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"type","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"The metadata type is not a recognised enum value, or it refers to a directory-organised metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist or has no metadata of the requested type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/metadata":{"get":{"summary":"List the preprocessing-metadata files available for a dataset","description":"Returns one entry per metadata file present on disk. Each entry exposes the type identifier (used to fetch the file via /datasets/{id}/metadata/{type}), a human-readable display name, the download filename, the MIME content-type, and a flag indicating whether the metadata is organized as a directory.","operationId":"getDatasetMetadataFiles","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListDatasetMetadataFileValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/permissions":{"get":{"summary":"Retrieve the sharing permissions of a dataset","description":"Returns whether the dataset is publicly readable and whether it has been shared with any user groups.","operationId":"getDatasetPermissions","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectDatasetPermissionsValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]},"put":{"summary":"Update the sharing permissions of a dataset","description":"Toggle whether a dataset is publicly readable. The `isPublic` field is optional; if omitted, no change is made and the current state is returned.","operationId":"updateDatasetPermissions","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionsUpdateRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectDatasetPermissionsValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/pipelineStatus":{"get":{"summary":"Retrieve the per-step pipeline status of a dataset","description":"Returns a snapshot of each preprocessing/analysis step (`batchInfo`, `preprocess`, `pca`, `dea`, `coexpression`, `missingValue`) with its last-run date, audit-event class name, and state (`ok`, `failed`, `notRun`, or `notApplicable`). The `curationNote` field is admin-only.","operationId":"getDatasetPipelineStatus","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectPipelineStatusValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/pipeline-status":{"post":{"summary":"Bulk per-step pipeline status for many datasets in one round-trip","description":"Returns a map of dataset ID → {@link PipelineStatusValueObject}, one entry per requested ID that the caller can read. Mirrors the single-EE `GET /{dataset}/pipelineStatus` handler in response shape, but batches the underlying audit-event lookup and DEA-existence query so that loading a workflow-list page of 20–50 experiments takes one DB round-trip per concern rather than 20–50. ACL behaviour: IDs the caller cannot read are silently dropped from the result map (no 403 for the batch). Hard cap: 500 IDs per request.","operationId":"getDatasetPipelineStatusBulk","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineStatusBulkRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectMapLongPipelineStatusValueObject"}}}},"400":{"description":"The request body is missing, empty, or exceeds the per-request ID cap.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/platforms":{"get":{"summary":"Retrieve the platforms of a dataset","operationId":"getDatasetPlatforms","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListArrayDesignValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/quantitationTypes":{"get":{"summary":"Retrieve quantitation types of a dataset","operationId":"getDatasetQuantitationTypes","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectSetQuantitationTypeValueObject"}}}}}}},"/datasets/{dataset}/sample-correlation":{"get":{"summary":"Retrieve the sample-sample correlation matrix + outlier classifications","description":"Returns the regressed (best) sample correlation matrix UNMASKED, plus two parallel outlier-id lists: `actualOutlierBioAssayIds` (curator-flagged) and `predictedOutlierBioAssayIds` (algorithmic). The UI applies any visualization masking it wants. 404 if no correlation analysis has been computed for the dataset.","operationId":"getDatasetSampleCorrelation","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectSampleCorrelationMatrixValueObject"}}}},"404":{"description":"The dataset does not exist or has no sample correlation matrix.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/samples":{"get":{"summary":"Retrieve the samples of a dataset","description":"Legacy mode (no `cursor` parameter): returns the full unpaginated assay list in the existing shape. Cursor mode (available for consistency; a dataset's assay list stays small — single-cell size is in cells, not assays): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field along with a `limit`. In cursor mode the result is always sorted by ascending `id` (cursor mode forces a single-component id sort pending the indexed-column audit in phase B); the path-derived `expressionExperiment.id = ?` constraint is preserved; `totalElements` is `null` by default (no count query per request). The `quantitationType` and `useProcessedQuantitationType` query parameters narrow the assays to a specific `BioAssayDimension` and intentionally remain offset-mode (they sort by assay name and apply a dimension restriction that is not expressible as an `id`-only cursor); supplying `cursor` together with either of those is a `400`.","operationId":"getDatasetSamples","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"quantitationType","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]}},{"name":"useProcessedQuantitationType","in":"query","schema":{"type":"boolean"}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; not supported in combination with `quantitationType` or `useProcessedQuantitationType`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}},{"name":"limit","in":"query","description":"Page size for cursor mode (ignored when no `cursor` is supplied).","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseDataObjectListBioAssayValueObject"},{"$ref":"#/components/schemas/CursorPaginatedResponseDataObjectBioAssayValueObject"}]}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/singleCellDimension":{"get":{"summary":"Retrieve a single-cell dimension of a single-cell dataset","operationId":"getDatasetSingleCellDimension","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"quantitationType","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]}},{"name":"exclude","in":"query","description":"Exclude cell IDs from the output","schema":{"minItems":1,"uniqueItems":true,"type":"array","description":"List of fields to exclude from the payload. If the payload is a list of object, then the exclusion is applicable to all the listed objects.","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectSingleCellDimensionValueObject"}},"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"object"},"example":"sample_id\tcell_id\tcategory\tcategory_uri\tcategory_id\tvalue\tvalue_uri\nH48-g2 , Entorhinal cortex\tAAACCCAAGGTCCAGA-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tExcitatory Neurons\t\nH48-g2 , Entorhinal cortex\tAAACCCACAGATAAAC-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tExcitatory Neurons\t\nH48-g2 , Entorhinal cortex\tAAACCCAGTCCTTAAG-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tOPCs\t\nH48-g2 , Entorhinal cortex\tAAACGAAAGCCTCAAT-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tOligodendrocytes\t\nH48-g2 , Entorhinal cortex\tAAACGAACAGCGTGAA-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tAstrocytes\t\nH48-g2 , Entorhinal cortex\tAAACGAATCCATAGAC-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tOligodendrocytes\t\nH48-g2 , Entorhinal cortex\tAAACGAATCTCCCTAG-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tOligodendrocytes\t\nH48-g2 , Entorhinal cortex\tAAACGCTAGGCCCAAA-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tExcitatory Neurons\t\nH48-g2 , Entorhinal cortex\tAAACGCTAGGTATAGT-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tVascular Cells\t\nH48-g2 , Entorhinal cortex\tAAACGCTCAACATACC-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tExcitatory Neurons\t\nH48-g2 , Entorhinal cortex\tAAACGCTCAGCTTTCC-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tVascular Cells\t\nH48-g2 , Entorhinal cortex\tAAACGCTGTGGTCCCA-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tVascular Cells\t\nH48-g2 , Entorhinal cortex\tAAACGCTTCGACACTA-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tExcitatory Neurons\t\nH48-g2 , Entorhinal cortex\tAAACGCTTCGGAATGG-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tOligodendrocytes\t\nH48-g2 , Entorhinal cortex\tAAAGAACCAAGCGAAC-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tVascular Cells\t\nH48-g2 , Entorhinal cortex\tAAAGAACGTTCTAACG-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tExcitatory Neurons\t\nH48-g2 , Entorhinal cortex\tAAAGGATAGAAGGATG-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tOligodendrocytes\t\nH48-g2 , Entorhinal cortex\tAAAGGATGTTCCCAAA-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tVascular Cells\t\nH48-g2 , Entorhinal cortex\tAAAGGATGTTCGGTAT-2_1\tcell type\thttp://www.ebi.ac.uk/efo/EFO_0000324\t1\tExcitatory Neurons\t\n"}}}}}},"/datasets/{dataset}/data/singleCell":{"get":{"summary":"Retrieve single-cell expression data of a dataset","operationId":"getDatasetSingleCellExpression","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"quantitationType","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]}}],"responses":{"200":{"content":{"application/vnd.10xgenomics.mex":{"schema":{"type":"string","description":"Sample files are bundled in a TAR archive according to the 10x MEX format.","format":"binary","externalDocs":{"url":"https://www.10xgenomics.com/support/software/cell-ranger/latest/analysis/outputs/cr-outputs-mex-matrices"}},"example":"38651_GSE199762_600467_10x_MEX_expmat.unfilt.scdata\n├── 1003795_H48-g2_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003796_H29-g2_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003797_H33-g2_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003798_H31_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003799_H69_LGE_region\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003800_H39-g1_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003801_H39-g2_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003802_H33-g1_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003803_H71_EC_stream_region\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003804_H69_MGE_region\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003805_H71_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003806_H69_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003807_H37_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003808_H48-g1_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003809_H46-g2_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003810_H29-g1_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n├── 1003811_H46-g1_Entorhinal_cortex\n│   ├── barcodes.tsv.gz\n│   ├── features.tsv.gz\n│   └── matrix.mtx.gz\n└── 1003812_H69_CGE_region\n ├── barcodes.tsv.gz\n ├── features.tsv.gz\n └── matrix.mtx.gz\n\n18 directories, 54 files\n"},"text/tab-separated-values; charset=UTF-8; q=0.9":{"schema":{"type":"string"},"example":"\n\n429 Too Many Requests\n\n

Too Many Requests

\n

The user has sent too many requests\nin a given amount of time.

\n\n"}}},"404":{"description":"Either the dataset or the quantitation type do not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/subSets/{subSet}":{"get":{"summary":"Obtain a specific subset of a dataset","operationId":"getDatasetSubSetById","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"subSet","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectExpressionExperimentSubSetWithGroupsValueObject"}}}}}}},"/datasets/{dataset}/subSetGroups/{subSetGroup}":{"get":{"summary":"Obtain a specific subset group of a dataset","operationId":"getDatasetSubSetGroup","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"subSetGroup","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectExpressionExperimentSubSetGroupValueObject"}}}}}}},"/datasets/{dataset}/subSetGroups":{"get":{"summary":"Obtain all the subset groups of a dataset","operationId":"getDatasetSubSetGroups","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListExpressionExperimentSubSetGroupValueObject"}}}}}}},"/datasets/{dataset}/subSets/{subSet}/samples":{"get":{"summary":"Obtain the samples of a specific subset of a dataset","description":"Legacy mode (no `cursor` parameter): returns the full unpaginated assay list in the existing shape. Cursor mode (available for consistency; a subset's assay list stays small — single-cell size is in cells, not assays): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field along with a `limit`. In cursor mode the result is always sorted by ascending `id` (cursor mode forces a single-component id sort pending the indexed-column audit in phase B); the path-derived `subSet.id = ?` constraint is preserved; `totalElements` is `null` by default (no count query per request).","operationId":"getDatasetSubSetSamples","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"subSet","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}},{"name":"limit","in":"query","description":"Page size for cursor mode (ignored when no `cursor` is supplied).","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseDataObjectListBioAssayValueObject"},{"$ref":"#/components/schemas/CursorPaginatedResponseDataObjectBioAssayValueObject"}]}}}},"404":{"description":"The dataset or subset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/subSets":{"get":{"summary":"Obtain all subsets of a dataset","operationId":"getDatasetSubSets","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListExpressionExperimentSubSetWithGroupsValueObject"}}}}}}},"/datasets/{dataset}/svd":{"get":{"summary":"Retrieve the singular value decomposition (SVD) of a dataset expression data","operationId":"getDatasetSvd","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectSimpleSVDValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/svd/loadings":{"get":{"summary":"Retrieve top-loaded probes on a principal component for a dataset","description":"Returns the top-N probe loadings on the chosen PC (sorted by |loading| desc for `direction=both`, signed for `positive` / `negative`) plus the bioAssay scores on that PC. 404 if SVD has not been computed.","operationId":"getDatasetSvdLoadings","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"pc","in":"query","description":"1-indexed principal component number.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"top","in":"query","description":"Number of top loadings to return (max 500).","schema":{"maximum":500,"minimum":1,"type":"integer","format":"int64","default":50}},{"name":"direction","in":"query","description":"`both` (sort by |loading| desc, default), `positive` (loading > 0 desc), `negative` (loading < 0 asc).","schema":{"type":"string","default":"both","enum":["both","positive","negative"]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectPcLoadingsValueObject"}}}},"400":{"description":"Invalid pc, top, or direction.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist or has no SVD analysis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/tickets":{"get":{"summary":"Retrieve the open curation tickets for a dataset","description":"Legacy mode (no `cursor` parameter): returns the full unpaginated open-ticket list in the existing shape (no count query, full result set). Cursor mode (recommended for noisy datasets accumulating long curation histories): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field along with a `limit`. In cursor mode the result is always sorted by ascending `id` (cursor mode forces a single-component id sort pending the indexed-column audit in phase B); the path-derived `targetType = EXPRESSION_EXPERIMENT, targetId = {dataset}` constraint and the open-state restriction (OPEN/IN_PROGRESS) are preserved; `totalElements` is `null` by default (no count query per request).","operationId":"getDatasetTickets","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}},{"name":"limit","in":"query","description":"Page size for cursor mode (ignored when no `cursor` is supplied).","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseDataObjectListTicketValueObject"},{"$ref":"#/components/schemas/CursorPaginatedResponseDataObjectTicketValueObject"}]}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets":{"get":{"summary":"Retrieve all datasets","operationId":"getDatasets","parameters":[{"name":"query","in":"query","description":"If specified, `sort` will default to `-searchResult.score` instead of `+id`. Note that sorting by `searchResult.score` is only valid if a query is specified.","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionExperiment"},"example":"+id"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndPaginatedResponseDataObjectExpressionExperimentWithSearchResultValueObject"}}}},"503":{"description":"The search has timed out. This can only occur if the `search` parameter is provided. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/annotations":{"get":{"summary":"Retrieve usage statistics of annotations among datasets matching the provided query and filter","description":"Usage statistics are aggregated across experiment tags, samples and factor values mentioned in the experimental design.","operationId":"getDatasetsAnnotationsUsageStatistics","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"exclude","in":"query","description":"List of fields to exclude from the payload. Only `parentTerms` can be excluded.","schema":{"minItems":1,"uniqueItems":true,"type":"array","description":"List of fields to exclude from the payload. If the payload is a list of object, then the exclusion is applicable to all the listed objects.","items":{"type":"string"}}},{"name":"limit","in":"query","description":"Maximum number of annotations to returned; capped at 5000.","schema":{"maximum":5000,"minimum":1,"type":"integer","format":"int64"}},{"name":"minFrequency","in":"query","description":"Minimum number of associated datasets to report an annotation. If used, the limit will default to 5000.","schema":{"type":"integer","format":"int32"}},{"name":"category","in":"query","description":"A category URI to restrict reported annotations. If unspecified, annotations from all categories are reported. If empty, uncategorized terms are reported.","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndLimitedResponseDataObjectAnnotationWithUsageStatisticsValueObject"}}}},"503":{"description":"The search has timed out. This can only occur if the `search` parameter is provided. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}":{"get":{"summary":"Retrieve datasets by their identifiers","description":"Supports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`. Cursor mode (recommended for deep pagination and consistency under writes): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive -- passing a non-null `cursor` selects cursor mode. In cursor mode the result is always sorted by ascending `id` (the user `sort` arg is currently ignored, pending the indexed-column audit in phase B); the path-derived dataset-id constraint is preserved on top of the user-supplied `?filter=`; `totalElements` is `null` by default (no count query per request). Mirrors GET /datasets/blacklisted step 1t.","operationId":"getDatasetsByIds","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of dataset IDs or short names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionExperiment"},"example":"+id"},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/FilteredAndInferredAndPaginatedResponseDataObjectExpressionExperimentValueObject"},{"$ref":"#/components/schemas/FilteredAndInferredAndCursorPaginatedResponseDataObjectExpressionExperimentValueObject"}]}}}}}},"patch":{"summary":"Update the name and/or description of a dataset","description":"Partial update of the curator-editable basics of an ExpressionExperiment: `name` (the human-readable title) and `description`. A field omitted or null is left unchanged; a provided `name` must be non-blank. The `shortName` (identity) has its own admin-only route (`PUT /{dataset}/short-name`). Requires `ACL_SECURABLE_EDIT` on the dataset. Closes the name/description half of the retired gemma-web `updateBasics`.","operationId":"updateDatasetBasics","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetBasicsUpdateRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectDatasetBasicsResponse"}}}},"400":{"description":"Neither name nor description supplied, or a blank name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"403":{"description":"The caller lacks edit permission on the dataset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":[]},{"cookieAuth":[]}]}},"/datasets/categories":{"get":{"summary":"Retrieve usage statistics of categories among datasets matching the provided query and filter","description":"Usage statistics are aggregated across experiment tags, samples and factor values mentioned in the experimental design.","operationId":"getDatasetsCategoriesUsageStatistics","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndLimitedResponseDataObjectCategoryWithUsageStatisticsValueObject"}}}},"503":{"description":"The search has timed out. This can only occur if the `search` parameter is provided. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{datasets}/expressions/differential":{"get":{"summary":"Retrieve the expression levels of a set of datasets subject to a threshold on their differential expressions","description":"Each entry under data[].geneExpressionLevels[] also carries gene-level metadata (officialName, ensemblId) and contrast statistics for the chosen result set: correctedPvalue and pvalue come from the per-row DifferentialExpressionAnalysisResult that the endpoint ranks by (ordered by correctedPvalue ascending, nulls last), and log2FoldChange is taken from the single contrast on that row — or, for multi-contrast result sets, from the contrast with the smallest uncorrected p-value on that row. When a gene maps to several probes, the most-significant probe row is used. All five fields are nullable and are additive — existing fields are unchanged.","operationId":"getDatasetsDifferentialExpression","parameters":[{"name":"datasets","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of dataset IDs or short names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}},{"name":"diffExSet","in":"query","schema":{"type":"integer","format":"int64"}},{"name":"threshold","in":"query","description":"Maximum threshold on the corrected P-value to retain a result. The threshold is inclusive (i.e. 0.05 will match results with corrected P-values lower or equal to 0.05).","schema":{"type":"number","format":"double","default":1.0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":100}},{"name":"keepNonSpecific","in":"query","description":"Keep results from non-specific probes.","schema":{"type":"boolean","default":false}},{"name":"consolidate","in":"query","description":"Strategy for consolidating expression of multiple probes for a given gene.","schema":{"type":"string","description":"An option for gene expression level consolidation.","enum":["pickmax","pickvar","average"]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListExperimentExpressionLevelsValueObject"}}}}}}},"/datasets/analyses/differential/results/genes/{gene}":{"get":{"summary":"Retrieve the differential expression results for a given gene among datasets matching the provided query and filter","description":"Pagination with `offset` and `limit` is done on the datasets, thus `data` will hold a variable number of results.\n\nIf a result set has more than one probe for a given gene, the result corresponding to the lowest corrected P-value is retained. This statistic reflects the goodness of the fit of the linear model for the probe, and not the significance of the contrasts.\n\nResults for non-specific probes (i.e. probes that map to more than one genes) are excluded.","operationId":"getDatasetsDifferentialExpressionAnalysisResultsForGene","parameters":[{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}},{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32"}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32"}},{"name":"threshold","in":"query","description":"Maximum threshold on the corrected P-value to retain a result. The threshold is inclusive (i.e. 0.05 will match results with corrected P-values lower or equal to 0.05).","schema":{"maximum":1.0,"minimum":0.0,"type":"number","format":"double","default":1.0}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndPaginatedResponseDataObjectDifferentialExpressionAnalysisResultByGeneValueObject"}},"text/tab-separated-values; charset=UTF-8; q=0.9":{"schema":{"type":"string"}}}}}}},"/datasets/analyses/differential/results/taxa/{taxon}/genes/{gene}":{"get":{"summary":"Retrieve the differential expression results for a given gene and taxa among datasets matching the provided query and filter","description":"Pagination with `offset` and `limit` is done on the datasets, thus `data` will hold a variable number of results.\n\nIf a result set has more than one probe for a given gene, the result corresponding to the lowest corrected P-value is retained. This statistic reflects the goodness of the fit of the linear model for the probe, and not the significance of the contrasts.\n\nResults for non-specific probes (i.e. probes that map to more than one genes) are excluded.","operationId":"getDatasetsDifferentialExpressionAnalysisResultsForGeneInTaxon","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}},{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32"}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32"}},{"name":"threshold","in":"query","description":"Maximum threshold on the corrected P-value to retain a result. The threshold is inclusive (i.e. 0.05 will match results with corrected P-values lower or equal to 0.05).","schema":{"maximum":1.0,"minimum":0.0,"type":"number","format":"double","default":1.0}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndPaginatedResponseDataObjectDifferentialExpressionAnalysisResultByGeneValueObject"}},"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/datasets/expressions/genes/{gene}":{"get":{"summary":"Retrieve the expression levels of a gene among datasets matching the provided query and filter","description":"Supports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`. Cursor mode (recommended for deep pagination when many datasets carry the gene of interest): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive -- passing a non-null `cursor` selects cursor mode. In cursor mode the dataset list is always sorted by ascending `datasetId` (the underlying dataset-id list is +id sorted, matching the existing groupBy=datasetId contract); the user-supplied `?filter=` and optional `?query=` constraints are preserved (both modes intersect the search-resolved dataset ids identically); `totalElements` is `null` by default (no count query per request).","operationId":"getDatasetsExpressionLevelsForGene","parameters":[{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}},{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"keepNonSpecific","in":"query","schema":{"type":"boolean","default":false}},{"name":"consolidate","in":"query","schema":{"type":"string","description":"An option for gene expression level consolidation.","enum":["pickmax","pickvar","average"]}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndPaginatedResponseDataObjectExperimentExpressionLevelsValueObject"},{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndCursorPaginatedResponseDataObjectExperimentExpressionLevelsValueObject"}]}}}}}}},"/datasets/expressions/taxa/{taxon}/genes/{gene}":{"get":{"summary":"Retrieve the expression levels of a gene and taxa among datasets matching the provided query and filter","description":"Supports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`. Cursor mode (recommended for deep pagination): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive -- passing a non-null `cursor` selects cursor mode. In cursor mode the dataset list is always sorted by ascending `datasetId`; the path-derived `{taxon}` scope is preserved at gene-resolution time identically to the offset variant; `totalElements` is `null` by default (no count query per request).","operationId":"getDatasetsExpressionLevelsForGeneInTaxon","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}},{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"keepNonSpecific","in":"query","schema":{"type":"boolean","default":false}},{"name":"consolidate","in":"query","schema":{"type":"string","description":"An option for gene expression level consolidation.","enum":["pickmax","pickvar","average"]}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndPaginatedResponseDataObjectExperimentExpressionLevelsValueObject"},{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndCursorPaginatedResponseDataObjectExperimentExpressionLevelsValueObject"}]}}}}}}},"/datasets/{datasets}/expressions/genes/{genes}":{"get":{"summary":"Retrieve the expression data matrix of a set of datasets and genes","operationId":"getDatasetsExpressionLevelsForGenes","parameters":[{"name":"datasets","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of dataset IDs or short names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}},{"name":"genes","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of NCBI IDs, Ensembl IDs or gene symbols. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}},{"name":"keepNonSpecific","in":"query","schema":{"type":"boolean","default":false}},{"name":"consolidate","in":"query","schema":{"type":"string","description":"An option for gene expression level consolidation.","enum":["pickmax","pickvar","average"]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListExperimentExpressionLevelsValueObject"}}}}}}},"/datasets/{datasets}/expressions/taxa/{taxon}/genes/{genes}":{"get":{"summary":"Retrieve the expression data matrix of a set of datasets and genes","operationId":"getDatasetsExpressionLevelsForGenesInTaxon","parameters":[{"name":"datasets","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of dataset IDs or short names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}},{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"genes","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of NCBI IDs, Ensembl IDs or gene symbols. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}},{"name":"keepNonSpecific","in":"query","schema":{"type":"boolean","default":false}},{"name":"consolidate","in":"query","schema":{"type":"string","description":"An option for gene expression level consolidation.","enum":["pickmax","pickvar","average"]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListExperimentExpressionLevelsValueObject"}}}}}}},"/datasets/{datasets}/expressions/pca":{"get":{"summary":"Retrieve the principal components (PCA) of a set of datasets","operationId":"getDatasetsExpressionPca","parameters":[{"name":"datasets","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of dataset IDs or short names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}},{"name":"component","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":100}},{"name":"keepNonSpecific","in":"query","schema":{"type":"boolean","default":false}},{"name":"consolidate","in":"query","schema":{"type":"string","description":"An option for gene expression level consolidation.","enum":["pickmax","pickvar","average"]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListExperimentExpressionLevelsValueObject"}}}}}}},"/datasets/platforms":{"get":{"summary":"Retrieve usage statistics of platforms among datasets matching the provided query and filter","description":"Usage statistics are aggregated across experiment tags, samples and factor values mentioned in the experimental design.","operationId":"getDatasetsPlatformsUsageStatistics","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":50}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndLimitedResponseDataObjectArrayDesignWithUsageStatisticsValueObject"}}}},"503":{"description":"The search has timed out. This can only occur if the `search` parameter is provided. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/taxa":{"get":{"summary":"Retrieve taxa usage statistics for datasets matching the provided query and filter","operationId":"getDatasetsTaxaUsageStatistics","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredResponseDataObjectTaxonWithUsageStatisticsValueObject"}}}},"503":{"description":"The search has timed out. This can only occur if the `search` parameter is provided. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/annotations/count":{"get":{"summary":"Count distinct annotation terms in use, optionally constrained by category","description":"Returns the number of distinct value+valueUri annotation terms seen across datasets matching the filter. Pass `category` as either an ontology URI (e.g. `http://purl.obolibrary.org/obo/UBERON_0001062`) or a category label (e.g. `disease`, `organism part`, `cell type`, `treatment`); empty means uncategorized. By default free-text characteristics (those without a `valueUri`) are counted as distinct terms; pass `excludeFreeText=true` to restrict the count to ontology-backed terms — typically the right answer for an \"ontology terms in use\" tile (curator-submitted strings like `lung tissue` / `Lung` / `lung biopsy from patient 3` inflate the count otherwise). Cheaper than walking `GET /datasets/annotations` and counting the payload — backed by the same usage-frequency query with `maxResults=0` (unlimited).","operationId":"getNumberOfAnnotations","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"category","in":"query","description":"Annotation category URI or label; empty for uncategorized; omitted for all categories.","schema":{"type":"string"}},{"name":"minFrequency","in":"query","description":"Minimum number of associated datasets per term (default 1).","schema":{"type":"integer","format":"int32","default":1}},{"name":"excludeFreeText","in":"query","description":"Exclude free-text characteristics (those with a null `valueUri`) from the count. Default false.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectLong"}}}},"503":{"description":"The search has timed out. This can only occur if the `search` parameter is provided. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/count":{"get":{"summary":"Count datasets matching the provided query and filter","operationId":"getNumberOfDatasets","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectLong"}}}},"503":{"description":"The search has timed out. This can only occur if the `search` parameter is provided. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/samples/count":{"get":{"summary":"Count distinct biomaterials (samples) across datasets matching the provided filter","description":"Corpus-wide sample-count aggregate, used by the public home page tile. Same `filter` grammar as `GET /datasets`. Cached on the same TTL as the other usage-stats endpoints.","operationId":"getNumberOfSamples","parameters":[{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectLong"}}}}}}},"/datasets/import":{"post":{"summary":"Import a dataset from GEO (or ArrayExpress) by accession","description":"Submits an async load task and returns 202 with a `Location` header pointing at `/tasks/{taskId}`. Body must include `accession`. Optional flags map to the corresponding fields on `ExpressionExperimentLoadTaskCommand`, including `suppressPostProcessing` (skip processed-vector creation and diagnostics, mirroring the CLI `-nopost` flag; the usual case for RNA-seq loads reanalyzed from raw sequence later). The load runs in the background, so its outcome (including any failure) is reported by polling `/tasks/{taskId}`: a failed load carries a structured `error` (`code` + `message`, e.g. `NETWORK_ERROR`, `ALREADY_EXISTS`, `INVALID_ACCESSION`, `BLACKLISTED`, `SUPERSERIES_NOT_ALLOWED`).","operationId":"importDataset","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetImportRequest"}}}},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTaskStatusValueObject"}}}},"400":{"description":"The request body is missing or `accession` is blank.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/annotation-sets":{"get":{"summary":"List AnnotationSets attached to a dataset, newest first.","description":"`?role=` filters by role (`proposal`/`draft`/`snapshot`/`all`). `?source=` filters by source. `?createdBy=` filters by producer identity. `?shape=full|meta` selects response shape.","operationId":"listDatasetAnnotationSets","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"role","in":"query","description":"Filter by role: `proposal`, `draft`, `snapshot`, or `all` (default).","schema":{"type":"string","nullable":true}},{"name":"source","in":"query","description":"Filter by source.","schema":{"type":"string","nullable":true}},{"name":"createdBy","in":"query","description":"Filter by createdBy (username or agent run identifier).","schema":{"type":"string","nullable":true}},{"name":"shape","in":"query","description":"Response shape: `full` (default; carries payloadJson) or `meta` (thin projection, payloadSize only).","schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"default response","content":{"application/json":{}}}}},"post":{"summary":"Attach an AnnotationSet to a dataset.","description":"Idempotent on `(role, runId)`: a retry returns the existing row as 200 OK rather than 201 Created. Body's `role` selects PROPOSAL / DRAFT / SNAPSHOT.","operationId":"submitDatasetAnnotationSet","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationSetRequest"}}}},"responses":{"200":{"description":"default response","content":{"application/json":{}}}}}},"/datasets/{dataset}/makePrivate":{"post":{"summary":"Make a dataset private","description":"Removes the `IS_AUTHENTICATED_ANONYMOUSLY` read ACE from the dataset. Idempotent.","operationId":"makeDatasetPrivate","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectDatasetPermissionsValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/makePublic":{"post":{"summary":"Make a dataset publicly readable","description":"Performs the raw ACL flip to grant `IS_AUTHENTICATED_ANONYMOUSLY` read on the dataset. Idempotent. See `POST /datasets/{id}/publish` for the curator-workflow transition that also captures a reviewer.","operationId":"makeDatasetPublic","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectDatasetPermissionsValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/samples/{bioAssayId}/outlier":{"put":{"summary":"Mark or unmark a BioAssay as a sample outlier","description":"Body: `{\"outlier\": true|false}`. `true` flags the assay as an outlier (its processed-data values are set to missing); `false` reverts that. Returns the updated `BioAssayValueObject` for the flipped assay. The bioAssay must belong to the path-derived dataset; otherwise a `400` is returned.","operationId":"markDatasetSampleOutlier","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"bioAssayId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SampleOutlierRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectBioAssayValueObject"}}}},"400":{"description":"The request body is missing the `outlier` field, or the bioAssay does not belong to the dataset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset or bioAssay does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/quantitationTypes/{qtId}":{"patch":{"summary":"Patch a quantitation type (currently dispatches on `isPreferred`)","description":"Curation-UI compatibility shim for body-driven patches. Body: `{\"isPreferred\": true|false}` delegates to the canonical `/preferred` handler. Other patchable fields can be added later.","operationId":"patchDatasetQuantitationType","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"qtId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantitationTypePatchRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectQuantitationTypeValueObject"}}}},"400":{"description":"The patch body is empty or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset or quantitation type does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/curation/preflight":{"post":{"summary":"Preflight (dry-run) a curation draft","description":"Same body and validation as the commit, but writes nothing: returns the CurationCommitReport with `applied=false` and the per-section change counts, so the UI can preview the diff before committing.","operationId":"preflightCuration","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurationDocument"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectCurationCommitReport"}}}},"400":{"description":"Malformed body, or an unsupported section was supplied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"The dataset moved since the draft's baseline.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":[]},{"cookieAuth":[]}]}},"/datasets/{dataset}/designPreflight":{"post":{"summary":"Dry-run preflight for a proposed experimental design replacement","operationId":"previewDatasetDesignChange","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperimentalDesignValueObject"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectDesignPreflightReport"}}}},"400":{"description":"Request body is missing or malformed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/datasets/{dataset}/publish":{"post":{"summary":"Publish a dataset (curator-workflow transition; records reviewer)","description":"Curator-workflow endpoint distinct from `/makePublic`. Records the reviewer as an audit event and (if the dataset is not already public) performs the ACL flip. The `reviewer` query parameter is required.","operationId":"publishDataset","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"reviewer","in":"query","schema":{"type":"string","nullable":true}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectDatasetPermissionsValueObject"}}}},"400":{"description":"The `reviewer` query parameter is missing or blank.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/geeq/recompute":{"post":{"summary":"Recompute GEEQ scores for a dataset (alias of PUT /geeq)","description":"Curation-UI compatibility alias for `PUT /datasets/{id}/geeq`. Body: optional `{\"mode\": \"all\"|\"batch\"|\"reps\"|\"pub\"}` (defaults to `all`). Behaviour is identical to the canonical endpoint.","operationId":"recomputeDatasetGeeqViaPost","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeeqRecomputeRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectGeeqValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/tasks/redo/{analysisId}":{"post":{"summary":"Redo an existing differential expression analysis","description":"Re-runs the named differential analysis using its original configuration. Returns 202 with a `Location` header pointing at `/tasks/{taskId}`.","operationId":"redoDatasetDifferentialAnalysis","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"analysisId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTaskStatusValueObject"}}}},"404":{"description":"The dataset or analysis does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/refresh":{"get":{"summary":"Retrieve a refreshed dataset","operationId":"refreshDataset","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"refreshVectors","in":"query","description":"Refresh processed data vectors.","schema":{"type":"boolean","default":false}},{"name":"refreshReports","in":"query","description":"Refresh experiment reports which include differential expression analyses and batch effects.","schema":{"type":"boolean","default":false}}],"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectExpressionExperimentValueObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/annotations/refresh":{"get":{"summary":"Retrieve refreshed dataset annotations.","operationId":"refreshDatasetsAnnotations","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"exclude","in":"query","description":"List of fields to exclude from the payload. Only `parentTerms` can be excluded.","schema":{"minItems":1,"uniqueItems":true,"type":"array","description":"List of fields to exclude from the payload. If the payload is a list of object, then the exclusion is applicable to all the listed objects.","items":{"type":"string"}}},{"name":"limit","in":"query","description":"Maximum number of annotations to returned; capped at 5000.","schema":{"maximum":5000,"minimum":1,"type":"integer","format":"int64"}},{"name":"minFrequency","in":"query","description":"Minimum number of associated datasets to report an annotation. If used, the limit will default to 5000.","schema":{"type":"integer","format":"int32"}},{"name":"category","in":"query","description":"A category URI to restrict reported annotations. If unspecified, annotations from all categories are reported. If empty, uncategorized terms are reported.","schema":{"type":"string"}}],"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndLimitedResponseDataObjectAnnotationWithUsageStatisticsValueObject"}}}}}}},"/datasets/platforms/refresh":{"get":{"summary":"Retrieve refreshed experiment-to-platform associations.","operationId":"refreshDatasetsPlatforms","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":50}}],"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueriedAndFilteredAndInferredAndLimitedResponseDataObjectArrayDesignWithUsageStatisticsValueObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/tasks/differential/{analysisId}":{"delete":{"summary":"Remove of a differential expression analysis","description":"Asynchronously deletes the named differential analysis from the dataset. Returns 202 with a `Location` header pointing at `/tasks/{taskId}`; the actual delete completes in the background.","operationId":"removeDatasetDifferentialAnalysis","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"analysisId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTaskStatusValueObject"}}}},"404":{"description":"The dataset or analysis does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/samples/{bioAssayId}/characteristics/{characteristicId}":{"delete":{"summary":"Remove a characteristic (tag) from a sample","description":"Removes the characteristic with the given id from the sample's biomaterial. A `TagRemovedEvent` is recorded on the owning experiment. Returns 404 if the characteristic is not present on the sample. Requires `ACL_SECURABLE_EDIT` on the dataset.","operationId":"removeSampleCharacteristic","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"bioAssayId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"characteristicId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectAnnotationValueObject"}}}},"403":{"description":"The caller lacks edit permission on the dataset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset, sample, or characteristic does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":[]},{"cookieAuth":[]}]}},"/datasets/{dataset}/short-name":{"put":{"summary":"Rename the shortName of a dataset","description":"Updates the curator-facing shortName identifier on an ExpressionExperiment. Returns 400 on blank/too-long/illegal-character names, 404 on unknown dataset, 409 when the requested shortName is already in use (DB unique constraint).","operationId":"renameDatasetShortName","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenameDatasetRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectRenameDatasetResponse"}}}},"400":{"description":"Invalid shortName (blank, too long, or contains forbidden characters).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"The requested shortName is already in use.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/tasks/batchInfo":{"post":{"summary":"Run a batch-information fetch for a dataset","description":"Re-fetches batch information from the source data. Returns 202 with a `Location` header pointing at `/tasks/{taskId}`.","operationId":"runDatasetBatchInformationFetch","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTaskStatusValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/tasks/diagnostics":{"post":{"summary":"Submit a diagnostics-only preprocessing run for a dataset","description":"Refreshes mean-variance, PCA and sample-correlation diagnostics without recomputing processed vectors. Returns 202 with a `Location` header pointing at `/tasks/{taskId}`.","operationId":"runDatasetDiagnostics","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTaskStatusValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/tasks/differential":{"post":{"summary":"Run differential expression analysis for a dataset","description":"If the request body is omitted (or all fields are null), every non-batch experimental factor is included with `includeInteractions=true`. Returns 202 with a `Location` header pointing at `/tasks/{taskId}`. Note: when any selected factor is a batch factor the interaction term is silently dropped, mirroring the legacy controller's behaviour.","operationId":"runDatasetDifferentialAnalysis","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DifferentialAnalysisRunRequest"}}}},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTaskStatusValueObject"}}}},"400":{"description":"The request body references factor ids that don't belong to the dataset, or names a subset factor that's also in `factorIds`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/tasks/geeq":{"post":{"summary":"Recompute GEEQ quality scores for a dataset (async)","description":"Submits an async task that recomputes the GEEQ quality and suitability scores for the dataset and writes a `GeeqEvent` to the audit log. The optional `mode` query parameter selects which subset of scores to recompute (`all`, `batch`, `reps`, `pub`); defaults to `all`. Returns 202 with a `Location` header pointing at `/tasks/{taskId}`. The companion synchronous endpoint `PUT /{dataset}/geeq` blocks until the recompute finishes; this task variant returns immediately.","operationId":"runDatasetGeeq","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"mode","in":"query","schema":{"type":"string","default":"all","enum":["all","batch","reps","pub"]}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTaskStatusValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/tasks/preprocess":{"post":{"summary":"Run preprocessing run for a dataset","description":"Recomputes processed data vectors and refreshes downstream diagnostics. Returns 202 with a `Location` header pointing at the polling endpoint `/tasks/{taskId}`. Tasks are kept in memory only and evicted ~10 minutes after completion.","operationId":"runDatasetPreprocess","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTaskStatusValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/tasks/svd":{"post":{"summary":"Recompute the singular value decomposition for a dataset","description":"Submits an async task that recomputes the SVD of the dataset's expression matrix and persists the result. The companion `GET /{dataset}/svd` reads the stored result. Returns 202 with a `Location` header pointing at `/tasks/{taskId}`.","operationId":"runDatasetSvd","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTaskStatusValueObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/{dataset}/tasks/switch-platform":{"post":{"summary":"Switch a dataset to use a different (typically merged) array design (async)","description":"Submits an async task that switches every BioAssay on the experiment to use the supplied target ArrayDesign (looked up by short name, e.g. `GPL570`), remaps composite-sequence-keyed vectors, and writes an `ExpressionExperimentPlatformSwitchEvent` to the audit log. If `targetArrayDesignName` is omitted (or the request body is omitted entirely) the service auto-detects a merged platform that the experiment's current ArrayDesigns are merged into; fails if none exists or the merge is ambiguous. This task is potentially long-running because it remaps every raw vector and regenerates processed vectors. Returns 202 with a `Location` header pointing at `/tasks/{taskId}`. Mirrors the `switchExperimentPlatform` CLI.","operationId":"runDatasetSwitchPlatform","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformSwitchRequest"}}}},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTaskStatusValueObject"}}}},"400":{"description":"The supplied target ArrayDesign short name does not match any platform.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/datasets/search":{"get":{"summary":"Typeahead search for datasets by short name, accession, or title","description":"Deprecated: use `GET /datasets?query=...` instead (same search, paginated); scheduled for removal in 2.10. Returns a thin list of dataset hits ranked by search score.","operationId":"searchDatasets_1","parameters":[{"name":"query","in":"query","description":"The search query (e.g. a short name, accession, or fragment of the title). Required.","required":true,"schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"limit","in":"query","description":"Maximum number of hits to return.","schema":{"minimum":1,"type":"integer","format":"int64","default":20}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListDatasetSearchHitValueObject"}}}},"400":{"description":"The query parameter is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"The search has timed out. This can only occur if the `search` parameter is provided. It can generally be resolved by reattempting the search 30 seconds later. Lookup the `Retry-After` header for the recommended delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"deprecated":true}},"/datasets/{dataset}/quantitationTypes/{qtId}/preferred":{"patch":{"summary":"Set (or clear) a quantitation type's preferred flag","description":"Body: optional `{\"preferred\": true|false}` (defaults to `true`). Marks the named QT as preferred for its vector-type bucket on the given dataset; any other QT that was previously preferred in the same bucket is automatically unmarked. Returns the updated `QuantitationTypeValueObject`.","operationId":"setDatasetQuantitationTypePreferred","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"qtId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantitationTypePreferredRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectQuantitationTypeValueObject"}}}},"400":{"description":"The QT has no data vectors / no resolvable vector type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset or quantitation type does not exist (or the QT does not belong to the dataset).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/genes/{gene}/differentialExpression":{"get":{"summary":"Retrieve differential expression results for a gene across all accessible experiments","description":"Returns a flat list of per-experiment groupings, each with the experiment VO and the list of probe-level DEA results for the given gene. Results are scoped to experiments the caller has read access to (ACL-filtered). Cold-cache latency is mitigated by a scheduled warm-up of a seed gene list (`gemma.diffex.warmup.*`).","operationId":"getGeneDifferentialExpression","parameters":[{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}},{"name":"threshold","in":"query","description":"Maximum threshold on the corrected P-value to retain a result (inclusive). Default 1.0 returns all.","schema":{"maximum":1.0,"minimum":0.0,"type":"number","format":"double","default":1.0}},{"name":"limit","in":"query","description":"Cap on results returned per experiment grouping; -1 (default) means no cap.","schema":{"type":"integer","format":"int32","default":-1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"404":{"description":"Gene not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/genes/{gene}/goTerms":{"get":{"summary":"Retrieve the GO terms associated to a gene","operationId":"getGeneGoTerms","parameters":[{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListGeneOntologyTermValueObject"}}}}}}},"/genes/{gene}/homologues":{"get":{"summary":"Retrieve the homologues of a gene","description":"Returns the gene's homologues across all taxa (via the homologene service). The legacy gemma-web gene page surfaces this in the Overview tab.","operationId":"getGeneHomologues","parameters":[{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"404":{"description":"Gene not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/genes/{gene}/locations":{"get":{"summary":"Retrieve the physical locations of a given gene","operationId":"getGeneLocations","parameters":[{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListPhysicalLocationValueObject"}}}}}}},"/genes/{gene}/overview":{"get":{"summary":"Retrieve a fully-populated overview of a gene","description":"Returns the gene VO populated with aliases, multifunctionality rank, composite-sequence count, platform count, gene-set memberships, homologues, GO-term count, and associated-experiment count. Replaces the legacy `loadGeneDetails` DWR call used by the gemma-web gene page.","operationId":"getGeneOverview","parameters":[{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"404":{"description":"Gene not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/genes/{gene}/probes":{"get":{"summary":"Retrieve the probes associated to a genes across all platforms","description":"Supports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`. Cursor mode (recommended for deep pagination and consistency under writes — a single gene can map to many probes across multi-platform inventories): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive — passing a non-null `cursor` selects cursor mode. In cursor mode the result is always sorted by ascending `cs.id` (cursor mode forces a single-component id sort pending the indexed-column audit in phase B); the path-derived `{gene}` constraint is preserved; `totalElements` is `null` by default (no count query per request). Pass `summary=true` to receive an enriched per-row VO with the gene-list this probe maps to and the BLAT-hit count (replaces the legacy `getGeneCsSummaries` DWR call); the page shape is unchanged but each element is a `CompositeSequenceSummaryValueObject` instead of the thin `CompositeSequenceValueObject`.","operationId":"getGeneProbes","parameters":[{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}},{"name":"summary","in":"query","description":"When true, each element is enriched with the gene-list this probe maps to and the BLAT-hit count (the legacy `getGeneCsSummaries` shape).","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PaginatedResponseDataObject"},{"$ref":"#/components/schemas/CursorPaginatedResponseDataObject"}]}}}}}}},"/genes":{"get":{"summary":"Retrieve all genes","description":"Supports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`. Cursor mode (recommended for deep pagination and consistency under writes): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive — passing both yields a 400. In cursor mode `totalElements` is `null` by default (no count query per request).","operationId":"getGenes","parameters":[{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PaginatedResponseDataObject"},{"$ref":"#/components/schemas/CursorPaginatedResponseDataObject"}]}}}}}}},"/genes/{genes}":{"get":{"summary":"Retrieve genes matching gene identifiers","operationId":"getGenesByIds","parameters":[{"name":"genes","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of NCBI IDs, Ensembl IDs or gene symbols. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListGeneValueObject"}}}}}}},"/genes/probes/refresh":{"get":{"summary":"Refresh gene-to-probe associations.","operationId":"refreshGenesProbes","responses":{"200":{"description":"default response","content":{"*/*":{}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/genes/search":{"get":{"summary":"Free-text gene search (typeahead)","description":"Delegates to the search service with `resultTypes=Gene`. Returns gene value-objects ordered by search score. Hard-cap on `limit` is 50; default is 20.","operationId":"searchGenes","parameters":[{"name":"query","in":"query","schema":{"type":"string"}},{"name":"taxon","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListGeneValueObject"}}}},"400":{"description":"Empty / invalid query, or `limit` out of range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"The search timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/goTerms/{termUri}/genes/count":{"get":{"summary":"Count of genes annotated to a GO term (optionally including descendants)","description":"Companion to `/goTerms/{termUri}/genes` for callers that only want the count. `propagate=true` includes descendants. `maxTerms` (default 0) caps the BFS descendant walk; useful for very broad parent terms.","operationId":"countGenesByGoTerm","parameters":[{"name":"termUri","in":"path","required":true,"schema":{"type":"string"}},{"name":"taxon","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"propagate","in":"query","schema":{"type":"boolean","default":false}},{"name":"maxTerms","in":"query","description":"When `propagate=true`, cap the breadth-first descendant walk at this many terms (including the root). Default 0 = unbounded.","schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectGoTermGeneCountValueObject"}}}},"400":{"description":"Invalid termUri / taxon / maxTerms.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"Ontology subtree expansion timed out (propagate=true only).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/goTerms/{termUri}/genes":{"get":{"summary":"Genes annotated to a GO term (reverse Gene2GO lookup)","description":"Path parameter is the URL-encoded GO URI (e.g. http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FGO_0006915 = GO_0006915 = apoptotic process). Optional `taxon` (common-name or ID) narrows the result to that taxon's gene set. `propagate=true` walks the GO subClassOf descendants of the supplied term and unions their gene sets — useful for upper-level terms like 'regulation of apoptotic process'. `limit` caps at 200; the response carries `totalElements` so callers can show 'N genes — refine the term or pick individually'.","operationId":"getGenesByGoTerm","parameters":[{"name":"termUri","in":"path","required":true,"schema":{"type":"string"}},{"name":"taxon","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","description":"Maximum genes per page; capped at 200.","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":100}},{"name":"propagate","in":"query","description":"Walk GO subClassOf descendants of {termUri} and union the gene sets. Default false.","schema":{"type":"boolean","default":false}},{"name":"maxTerms","in":"query","description":"When `propagate=true`, cap the breadth-first descendant walk at this many terms (including the root). Default 0 = unbounded (full subtree).","schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponseDataObjectGeneValueObject"}}}},"400":{"description":"Invalid termUri / taxon / limit / offset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"Ontology subtree expansion timed out (propagate=true only).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/groups/{id}/members":{"post":{"tags":["Groups"],"summary":"Add a member to a group","description":"Body: {username} or {userId} (one required).","operationId":"addMember","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberAddRequest"}}}},"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectGroupWithMembersValueObject"}}}}}}},"/groups":{"get":{"tags":["Groups"],"summary":"List user groups","description":"Returns paginated group summaries. Anonymous callers get 401. The underlying service filters out groups the caller cannot read.","operationId":"getGroups","parameters":[{"name":"query","in":"query","description":"Case-insensitive substring of the group name.","schema":{"type":"string","nullable":true}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponseDataObjectGroupSummaryValueObject"}}}}}},"post":{"tags":["Groups"],"summary":"Create a new group","description":"Body: {name, description?}. The authenticated user becomes the owner. The three system groups (Administrators, Users, Agents) are reserved.","operationId":"createGroup","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupCreateRequest"}}}},"responses":{"200":{"description":"default response","content":{"application/json":{}}}}}},"/groups/{id}":{"get":{"tags":["Groups"],"summary":"Retrieve a single group by id","description":"When includeSummaries=true the response payload is a GroupWithMembersValueObject (members included); otherwise the lighter GroupValueObject (memberCount only). The legacy snake_case spelling `include_summaries` is still accepted.","operationId":"getGroup","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"includeSummaries","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectGroupValueObject"}}}}}},"delete":{"tags":["Groups"],"summary":"Delete a group","description":"The three system groups (Administrators, Users, Agents) cannot be deleted.","operationId":"deleteGroup","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/json":{}}}}},"patch":{"tags":["Groups"],"summary":"Update a group (rename + description)","description":"Partial update: any subset of name / description may be supplied. The authenticated user must own the group (enforced at the service layer).","operationId":"updateGroup","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupUpdateRequest"}}}},"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectGroupValueObject"}}}}}}},"/groups/{id}/members/{memberId}":{"delete":{"tags":["Groups"],"summary":"Remove a member from a group","operationId":"removeMember","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"memberId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/json":{}}}}}},"/internal/pipeline/jobs/{jobId}/events":{"post":{"tags":["Internal/Pipeline"],"summary":"Append one event from the scheduler-side pipeline","operationId":"postEvent","parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"Authorization","in":"header","schema":{"type":"string"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PostEventRequest"}}}},"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectPipelineJobEvent"}}}}}}},"/platforms/count":{"get":{"summary":"Count platforms matching the provided filter","operationId":"getNumberOfPlatforms","parameters":[{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgArrayDesign"},"example":""}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectLong"}}}}}}},"/platforms/{platform}/annotations":{"get":{"summary":"Retrieve the annotations of a given platform","description":"The following columns are available: ElementName, GeneSymbols, GOTerms, GemmaIDs, NCBIids. Older files might still use ProbeName instead of ElementName.","operationId":"getPlatformAnnotations","parameters":[{"name":"platform","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}}],"responses":{"200":{"content":{"text/tab-separated-values; charset=UTF-8":{"schema":{"type":"string"},"example":"# Annotation file generated by Gemma\n# Generated 10/27/2023\n# If you use this file for your research, please cite: \n# Lim et al. (2021) Curation of over 10 000 transcriptomic studies to enable data reuse. \n# Database, baab006 (doi:10.1093/database/baab006). \n# Gemma link for this platform: https://gemma.msl.ubc.ca/arrays/showArrayDesign.html?id=2\n# GPL1355 Affymetrix GeneChip Rat Genome 230 2.0 Array\n# Rattus norvegicus\nProbeName\tGeneSymbols\tGeneNames\tGOTerms\tGemmaIDs\tNCBIids\n1391127_at\t\t\t\t\t\n1387788_at\tJunb\tJunB proto-oncogene, AP-1 transcription factor subunit\tGO:0014070|GO:0032570|GO:0005515|GO:0036294|GO:0042127|GO:0110165|GO:0009891|GO:0019438|GO:0048522|GO:0051173|GO:2001141|GO:0048568|GO:0090575|GO:0048609|GO:1901360|GO:0050896|GO:0051252|GO:0006807|GO:0032991|GO:0051384|GO:0009605|GO:0019219|GO:1990837|GO:0071248|GO:0051171|GO:0032774|GO:1901576|GO:0045597|GO:1901698|GO:0001067|GO:0034641|GO:0050789|GO:0009893|GO:0080090|GO:0007565|GO:0048545|GO:0050794|GO:1902075|GO:0051385|GO:0045944|GO:0009628|GO:0003674|GO:0009410|GO:0010033|GO:0006139|GO:0006725|GO:0007275|GO:0044271|GO:1902074|GO:0000987|GO:0001649|GO:0060716|GO:0043565|GO:0032870|GO:0071704|GO:0009790|GO:0046697|GO:0009416|GO:0006950|GO:0033554|GO:0001666|GO:0005654|GO:0022414|GO:0010038|GO:0009058|GO:0070661|GO:0072724|GO:0003677|GO:0090304|GO:0044706|GO:0033993|GO:0005575|GO:0001570|GO:0008283|GO:0005667|GO:0042221|GO:0016070|GO:0070887|GO:0043170|GO:0051726|GO:0140110|GO:1901700|GO:0044703|GO:0030316|GO:0010468|GO:0009889|GO:0045935|GO:1901654|GO:0000978|GO:0051592|GO:0140513|GO:0043009|GO:0006357|GO:0001216|GO:0008134|GO:0009725|GO:0031960|GO:0000981|GO:0019222|GO:0071453|GO:0065007|GO:1901701|GO:0002573|GO:1901652|GO:0070482|GO:0071310|GO:0050793|GO:0003700|GO:0006366|GO:0002158|GO:0003006|GO:0008152|GO:0009314|GO:0009987|GO:1902680|GO:0009719|GO:0009059|GO:0001228|GO:0048869|GO:0031328|GO:0009888|GO:0071277|GO:0009612|GO:0010557|GO:0031325|GO:0006355|GO:0044237|GO:0009792|GO:0008150|GO:0048513|GO:0035976|GO:0043434|GO:0060255|GO:0033687|GO:0045595|GO:0036293|GO:1901362|GO:0001829|GO:0048856|GO:0051254|GO:0060136|GO:0071241|GO:0045893|GO:0000976|GO:0032501|GO:0005488|GO:0010243|GO:0071495|GO:0010604|GO:0051412|GO:0010556|GO:0034097|GO:0000977|GO:0003676|GO:0032502|GO:0001701|GO:0044249|GO:0046483|GO:0051716|GO:0031326|GO:0002521|GO:0006351|GO:0071456|GO:0031323|GO:0051591|GO:0001568|GO:0048518|GO:0097159|GO:0030154|GO:0030099|GO:0051094|GO:0014074|GO:0046683|GO:0003690|GO:0018130|GO:0034654|GO:0060674|GO:0097305|GO:0044238|GO:0010035\t938780\t24517\n1397577_at\t\t\t\t\t\n1397945_at\tCcn6\tcellular communication network factor 6\tGO:0005615|GO:0008285|GO:0065007|GO:0005515|GO:0043226|GO:1901342|GO:0042127|GO:0050839|GO:1901681|GO:0110165|GO:0005178|GO:0051241|GO:0044877|GO:1901343|GO:2000181|GO:0050793|GO:0031012|GO:0043229|GO:0009987|GO:0065008|GO:0050789|GO:0043227|GO:2000377|GO:0050794|GO:0016525|GO:0048519|GO:0008150|GO:0003674|GO:0051881|GO:0048523|GO:0042391|GO:0043231|GO:1903426|GO:0007165|GO:0051239|GO:0005102|GO:0030312|GO:2000026|GO:0005488|GO:0051093|GO:0045765|GO:0097367|GO:0005575|GO:0022603|GO:0008201|GO:0031323|GO:0009889|GO:0005739|GO:0005539|GO:0007155|GO:0019222\t1058532\t499461\n1368722_at\tLta\tlymphotoxin alpha\tGO:0008285|GO:0005515|GO:0043067|GO:0002682|GO:0008284|GO:0042127|GO:0002706|GO:0010628|GO:0110165|GO:0002874|GO:0009891|GO:0002925|GO:0048522|GO:0048534|GO:0098772|GO:0002678|GO:0050896|GO:0048583|GO:0009605|GO:0050729|GO:0009991|GO:0031349|GO:0002676|GO:0005126|GO:0002237|GO:0080134|GO:0016020|GO:0045597|GO:0050789|GO:0002822|GO:0009893|GO:0060251|GO:0032496|GO:0002684|GO:0002922|GO:0002861|GO:0009607|GO:0050794|GO:0048519|GO:0002699|GO:0009628|GO:0003674|GO:0009410|GO:0010033|GO:0060284|GO:0031347|GO:0002923|GO:0042981|GO:0050778|GO:0002863|GO:0002891|GO:0006950|GO:0048584|GO:0005102|GO:0001666|GO:2000026|GO:0010720|GO:0051707|GO:0051962|GO:0140677|GO:0002708|GO:0033993|GO:0002824|GO:0050769|GO:0005575|GO:0032729|GO:0042221|GO:0006955|GO:1901700|GO:0010468|GO:0009889|GO:0002876|GO:0032101|GO:0043068|GO:0032649|GO:0002821|GO:0060252|GO:0019222|GO:0005615|GO:0065007|GO:0006959|GO:0001819|GO:0042742|GO:0070482|GO:0005164|GO:0050793|GO:0051240|GO:0002705|GO:0009987|GO:0007584|GO:0031328|GO:0030545|GO:0030546|GO:0050830|GO:0032813|GO:0043065|GO:0010557|GO:0031325|GO:0001817|GO:0002697|GO:0002712|GO:0014015|GO:0051960|GO:0002714|GO:0008150|GO:0048513|GO:0044419|GO:0050776|GO:0060255|GO:0048523|GO:0002819|GO:0045595|GO:0005125|GO:0036293|GO:0050727|GO:0002920|GO:0048856|GO:0002889|GO:0043207|GO:0007165|GO:0051239|GO:0048145|GO:0050767|GO:0002703|GO:0005488|GO:0010604|GO:0010556|GO:0032502|GO:0014013|GO:0031326|GO:0031323|GO:0009617|GO:0048518|GO:0002376|GO:0048018|GO:0031667|GO:0051094|GO:0048535|GO:0032103|GO:0048147|GO:0006952|GO:0098542\t942120\t25008\n1386320_at\t\t\t\t\t\n1382859_at\t\t\t\t\t\n1373040_at\tEif3f\teukaryotic translation initiation factor 3, subunit F\tGO:0005515|GO:0140096|GO:0045202|GO:0110165|GO:0140492|GO:0016282|GO:0070993|GO:0071826|GO:0008234|GO:0022607|GO:0016043|GO:0032991|GO:0016032|GO:0008152|GO:0005488|GO:0009987|GO:0004843|GO:0075522|GO:0008237|GO:0090079|GO:0003676|GO:0071840|GO:0003743|GO:0001732|GO:0005575|GO:0030054|GO:0043933|GO:0006413|GO:0031369|GO:0016787|GO:0065003|GO:0097159|GO:0044237|GO:0045182|GO:0003824|GO:0008150|GO:0022618|GO:0008135|GO:0042802|GO:0008233|GO:0003674|GO:0101005|GO:0005852|GO:0071541|GO:0019783|GO:0033290|GO:1990904\t994174\t293427\n1373407_at\t\t\t\t\t\n1368354_at\tGstt1\tglutathione S-transferase theta 1\tGO:0014070|GO:0110165|GO:0016684|GO:0043412|GO:0005737|GO:0016491|GO:1901360|GO:0098754|GO:0050896|GO:0006807|GO:0009605|GO:0008152|GO:0009987|GO:0007584|GO:0009991|GO:0004364|GO:0047651|GO:0033273|GO:0006259|GO:0034641|GO:0010269|GO:0019120|GO:0033197|GO:0016740|GO:0098869|GO:0044237|GO:0006749|GO:0003824|GO:0004601|GO:0008150|GO:0003674|GO:0009410|GO:0018900|GO:0006139|GO:0006725|GO:0010033|GO:1990748|GO:0004602|GO:0016209|GO:0071704|GO:0006304|GO:0016824|GO:0006805|GO:0090304|GO:0005575|GO:0009751|GO:0046483|GO:0042221|GO:0043170|GO:1901700|GO:0016787|GO:0016765|GO:0005829|GO:0042197|GO:0031667|GO:0044238|GO:0010035\t943978\t25260\n1386248_at\t\t\t\t\t\n"}}}}}},"/platforms/{platform}/datasets":{"get":{"summary":"Retrieve all experiments using a given platform","description":"Supports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`. Cursor mode (recommended for deep pagination and consistency under writes): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive — passing a non-null `cursor` selects cursor mode. In cursor mode the result is always sorted by ascending `id` (legacy offset mode keys off `bioAssays.arrayDesignUsed.id`; cursor mode forces a single-component id sort pending the indexed-column audit in phase B); the `bioAssays.arrayDesignUsed.id = ?` constraint is preserved; `totalElements` is `null` by default (no count query per request).","operationId":"getPlatformDatasets","parameters":[{"name":"platform","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PaginatedResponseDataObject"},{"$ref":"#/components/schemas/CursorPaginatedResponseDataObject"}]}}}}}}},"/platforms/{platform}/elements/{probes}":{"get":{"summary":"Retrieve the selected probes for a given platform","description":"Supports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`. Cursor mode (recommended for deep pagination and consistency under writes): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive — passing a non-null `cursor` selects cursor mode. In cursor mode the result is always sorted by ascending `id` (cursor mode forces a single-component id sort pending the indexed-column audit in phase B); the path-derived `arrayDesign.id = ?` constraint and the `{probes}` id/name set restriction are both preserved; `totalElements` is `null` by default (no count query per request).","operationId":"getPlatformElement","parameters":[{"name":"platform","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}},{"name":"probes","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of element IDs or names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A composite sequence numerical identifier.","format":"int64"},{"type":"string","description":"A composite sequence name."}]}}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}},{"name":"withSequence","in":"query","description":"Opt-in: populate `sequence` and `sequenceLength` on each element. Useful when looking up a small probe set explicitly — for a curator inspecting a single probe row, the sequence is a one-row fetch.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/FilteredAndPaginatedResponseDataObject"},{"$ref":"#/components/schemas/FilteredAndCursorPaginatedResponseDataObject"}]}}}}}}},"/platforms/{platform}/elements/{probe}/genes":{"get":{"summary":"Retrieve the genes associated to a probe in a given platform","description":"Supports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`. Cursor mode (recommended for deep pagination and consistency under writes — a single probe can map to many genes on multi-mapping arrays): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive — passing a non-null `cursor` selects cursor mode. In cursor mode the result is always sorted by ascending `gene.id` (cursor mode forces a single-component id sort pending the indexed-column audit in phase B); the path-derived `{platform}` and `{probe}` constraints are preserved; `totalElements` is `null` by default (no count query per request).","operationId":"getPlatformElementGenes","parameters":[{"name":"platform","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}},{"name":"probe","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A composite sequence numerical identifier.","format":"int64"},{"type":"string","description":"A composite sequence name."}]}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/FilteredAndPaginatedResponseDataObject"},{"$ref":"#/components/schemas/FilteredAndCursorPaginatedResponseDataObject"}]}}}}}}},"/platforms/{platform}/elements/{probe}/mappingSummary":{"get":{"summary":"Retrieve the gene-mapping summary for a probe","description":"Returns the probe value object with `geneMappingSummaries` populated: one entry per distinct BLAT alignment, carrying the alignment scores, the biological sequence metadata, and the genes supported by that alignment. Replaces the legacy `getGeneMappingSummary` DWR call.","operationId":"getPlatformElementMappingSummary","parameters":[{"name":"platform","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}},{"name":"probe","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A composite sequence numerical identifier.","format":"int64"},{"type":"string","description":"A composite sequence name."}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"404":{"description":"Probe not found on the given platform","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/platforms/{platform}/elements":{"get":{"summary":"Retrieve the probes for a given platform","description":"Supports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`. Cursor mode (recommended for deep pagination and consistency under writes): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive — passing a non-null `cursor` selects cursor mode. In cursor mode the result is always sorted by ascending `id` (legacy offset mode uses the DAO default order; cursor mode forces a single-component id sort pending the indexed-column audit in phase B); the `arrayDesign.id = ?` constraint is preserved; `totalElements` is `null` by default (no count query per request).","operationId":"getPlatformElements","parameters":[{"name":"platform","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}},{"name":"withSequence","in":"query","description":"Opt-in: populate `sequence` (raw probe sequence string) and `sequenceLength` on each element. Off by default to keep the listing response small — sequences are 25-300bp per probe and would inflate a 22k-element page by ~1 MB.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PaginatedResponseDataObject"},{"$ref":"#/components/schemas/CursorPaginatedResponseDataObject"}]}}}}}}},"/platforms/{platform}/tickets":{"get":{"summary":"Retrieve the open curation tickets for a platform","description":"Legacy mode (no `cursor` parameter): returns the full unpaginated open-ticket list in the existing shape (no count query, full result set). Cursor mode (recommended for platforms accumulating long curation histories): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field along with a `limit`. In cursor mode the result is always sorted by ascending `id` (cursor mode forces a single-component id sort pending the indexed-column audit in phase B); the path-derived `targetType = ARRAY_DESIGN, targetId = {platform}` constraint and the open-state restriction (OPEN/IN_PROGRESS) are preserved; `totalElements` is `null` by default (no count query per request).","operationId":"getPlatformTickets","parameters":[{"name":"platform","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}},{"name":"limit","in":"query","description":"Page size for cursor mode (ignored when no `cursor` is supplied).","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseDataObject"},{"$ref":"#/components/schemas/CursorPaginatedResponseDataObject"}]}}}}}}},"/platforms":{"get":{"summary":"Retrieve all platforms","description":"Supports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`. Cursor mode (recommended for deep pagination and consistency under writes): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive — passing a non-null `cursor` selects cursor mode. In cursor mode the result is always sorted by ascending `id` (the user `sort` arg is currently ignored, pending the indexed-column audit in phase B); `totalElements` is `null` by default (no count query per request).","operationId":"getPlatforms","parameters":[{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgArrayDesign"},"example":""},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgArrayDesign"},"example":"+id"},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PaginatedResponseDataObject"},{"$ref":"#/components/schemas/FilteredAndCursorPaginatedResponseDataObject"}]}}}}}}},"/platforms/{platform}":{"get":{"summary":"Retrieve all platforms matching a set of platform identifiers","description":"Supports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`. Cursor mode (recommended for deep pagination and consistency under writes): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive — passing a non-null `cursor` selects cursor mode. In cursor mode the result is always sorted by ascending `id` (the user `sort` arg is currently ignored, pending the indexed-column audit in phase B); the path-derived platform-identifier predicate is preserved on top of the user-supplied `?filter=`; `totalElements` is `null` by default (no count query per request).","operationId":"getPlatformsByIds","parameters":[{"name":"platform","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of platform IDs or short names. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgArrayDesign"},"example":""},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgArrayDesign"},"example":"+id"},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/FilteredAndPaginatedResponseDataObject"},{"$ref":"#/components/schemas/FilteredAndCursorPaginatedResponseDataObject"}]}}}}}}},"/preboarded/{id}/annotation-sets":{"post":{"tags":["Preboarded"],"summary":"Attach an annotation set to a preboarded","description":"Idempotent on `(role, runId)`: a retry returns 200 with the existing row.","operationId":"attachAnnotationSet","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachAnnotationSetRequest"}}}},"responses":{"201":{"description":"New annotation set attached.","content":{"application/json":{}}},"200":{"description":"An annotation set with this (role, runId) already attached.","content":{"application/json":{}}},"400":{"description":"Missing runId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"Preboarded not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/preboarded":{"get":{"tags":["Preboarded"],"summary":"Resolve accession -> preboarded, or list preboarded in a state","description":"Exactly one of `accession` or `state` must be supplied.","operationId":"listOrResolvePreboarded","parameters":[{"name":"accession","in":"query","description":"Resolve accession -> preboarded id.","schema":{"type":"string","nullable":true}},{"name":"state","in":"query","description":"Filter by WorkflowState (e.g. Preboarded, Candidate, Discovery).","schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"default response","content":{"application/json":{}}}}},"post":{"tags":["Preboarded"],"summary":"Create a preboarded for a previously-unknown accession","description":"Body: `{\"accession\":\"GSE12345\",\"source\":\"GEO\",\"identifyingMetadata\":{...}}`. Returns 409 with the existing entity's id and type when the accession is already known to Gemma.","operationId":"createPreboarded","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePreboardedRequest"}}}},"responses":{"201":{"content":{"application/json":{}}},"400":{"description":"Missing accession.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"An entity with this accession already exists. Body includes the existing entity's id and type.","content":{"application/json":{"schema":{"type":"string","description":"{ error, accession, existingId, existingType }"}}}}}}},"/preboarded/{id}":{"get":{"tags":["Preboarded"],"summary":"Fetch a preboarded + latest annotation set","operationId":"getPreboarded","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreboardedResponse"}}}},"404":{"description":"No preboarded with that id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/preboarded/{id}/promote":{"post":{"tags":["Preboarded"],"summary":"Promote a preboarded to a loaded ExpressionExperiment","description":"Curator-only. Rebinds AnnotationSet rows from the preboarded to the EE; advances both rows' workflow state to Loaded (when not further along). `applyLatestProposal` is accepted for forward-compatibility but currently a no-op; the curator applies the proposal via the design-write / annotation-write endpoints. See STATUS_PROPOSED_EXPERIMENT_WORKFLOW.md.","operationId":"promotePreboarded","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromoteRequest"}}}},"responses":{"200":{"description":"Promoted.","content":{"application/json":{}}},"400":{"description":"Missing eeId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"Preboarded or EE not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"Preboarded already promoted.","content":{"application/json":{"schema":{"type":"string","description":"{ error, preboardedId }"}}}}}}},"/users/me/password":{"put":{"summary":"Change the authenticated user's own password","description":"Requires the current password and a new password (minimum 8 characters). Returns 204 on success, 400 if the current password is wrong or the new password is too short.","operationId":"changeMyPassword","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordRequest"}}}},"responses":{"204":{"description":"Password changed."},"400":{"description":"Missing fields, wrong current password, or new password too short.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":[]},{"cookieAuth":[]}]}},"/":{"get":{"summary":"Retrieve an object with basic API information","description":"The payload contains a list of featured external databases that Gemma uses under the `externalDatabases` field. Those are mainly genomic references and sources of gene annotations.","operationId":"getApiInfo","responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectApiInfoValueObject"}}}}}}},"/search":{"get":{"summary":"Search everything in Gemma","operationId":"search","parameters":[{"name":"query","in":"query","schema":{"$ref":"#/components/schemas/QueryArg"}},{"name":"dataset","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]}},{"name":"taxon","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"platform","in":"query","schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]}},{"name":"resultTypes","in":"query","schema":{"type":"array","items":{"type":"string","enum":["ubic.gemma.model.analysis.expression.ExpressionExperimentSet","ubic.gemma.model.genome.gene.GeneSet","ubic.gemma.model.blacklist.BlacklistedEntity","ubic.gemma.model.expression.arrayDesign.ArrayDesign","ubic.gemma.model.expression.designElement.CompositeSequence","ubic.gemma.model.genome.Gene","ubic.gemma.model.genome.biosequence.BioSequence","ubic.gemma.model.expression.experiment.ExpressionExperiment","ubic.gemma.model.common.description.BibliographicReference"]}}},{"name":"limit","in":"query","description":"Maximum number of search results to return; capped at 2000 unless `resultObject` is excluded.","schema":{"maximum":2000,"minimum":1,"type":"integer","format":"int64"}},{"name":"exclude","in":"query","description":"List of fields to exclude from the payload. Only `resultObject` is supported.","schema":{"minItems":1,"uniqueItems":true,"type":"array","description":"List of fields to exclude from the payload. If the payload is a list of object, then the exclusion is applicable to all the listed objects.","items":{"type":"string"}}},{"name":"useGeneOntology","in":"query","description":"Expand a gene search through Gene Ontology terms (GO term → annotated genes). Off by default: a gene search hits only the gene services (symbol/name/alias). GO→gene is a function search, not a gene search, and scanning GO on every query is slow — opt in explicitly.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResultsResponseDataObject"}}}},"400":{"description":"Invalid search query, taxon, platform result type or exclusion specification.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"503":{"description":"The search timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/stats/home":{"get":{"summary":"Retrieve cached statistics for the public home page","description":"Returns datasets / platforms / samples counts, per-taxon and per-platform-technology breakdowns, and the most-recently-curated experiments. The snapshot is recomputed daily; for a forced refresh, see POST /stats/home/refresh.","operationId":"getHomeStats","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectHomeStats"}}}},"503":{"description":"Snapshot not yet generated; retry shortly.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/stats/home/refresh":{"post":{"summary":"Force a refresh of the home-page statistics snapshot","description":"Recomputes the daily snapshot synchronously and returns the new value. Admin-only.","operationId":"refreshHomeStats","responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectHomeStats"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/tasks/{taskId}":{"get":{"summary":"Retrieve the status of a submitted pipeline task","description":"Returns a snapshot of the named task's current state (`queued`, `running`, `completed`, `failed`, `cancelling`, `unknown`), its submission/start/finish timestamps, the experiment it operates on, and the most recent progress message. When the task has `failed`, an `error` object carries a machine-readable `code` (e.g. `ALREADY_EXISTS`, `INVALID_ACCESSION`, `NETWORK_ERROR`, `BLACKLISTED`, `SUPERSERIES_NOT_ALLOWED`), a human-readable `message`, and — for `ALREADY_EXISTS` — the `existingExperimentId`. This is how the outcome of an async GEO import (`POST /datasets/import`) is reported. The task store is in-memory and is evicted roughly 10 minutes after completion, after which this endpoint returns 404.","operationId":"getTaskStatus","parameters":[{"name":"taskId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTaskStatusValueObject"}}}},"404":{"description":"The task was never submitted or has already been evicted from the in-memory store.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]},"delete":{"summary":"Request cooperative cancellation of a submitted pipeline task","description":"Sends a cancellation request to the named task. The task is responsible for honouring the cancellation flag at its next preemption point; this endpoint does NOT force-kill the task. Returns the task status snapshot taken immediately after the request was filed.","operationId":"cancelTask","parameters":[{"name":"taskId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTaskStatusValueObject"}}}},"404":{"description":"The task was never submitted or has already been evicted from the in-memory store.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}},"security":[{"basicAuth":["GROUP_ADMIN"]},{"cookieAuth":["GROUP_ADMIN"]}]}},"/taxa":{"get":{"summary":"Retrieve all available taxa","operationId":"getTaxa","responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListTaxonValueObject"}}}}}}},"/taxa/{taxa}":{"get":{"summary":"Retrieve taxa by their identifiers","operationId":"getTaxaByIds","parameters":[{"name":"taxa","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of taxon IDs, NCBI IDs, common names or scientific names.","items":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListTaxonValueObject"}}}}}}},"/taxa/{taxon}/datasets":{"get":{"summary":"Retrieve the datasets for a given taxon","description":"Supports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`. Cursor mode (recommended for deep pagination and consistency under writes): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive — passing a non-null `cursor` selects cursor mode. In cursor mode the result is always sorted by ascending `id` (the user `sort` arg is currently ignored, pending the indexed-column audit in phase B); the `taxon.id = ?` constraint is preserved on top of the user-supplied `?filter=`; `totalElements` is `null` by default (no count query per request).","operationId":"getTaxonDatasets","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"filter","in":"query","schema":{"$ref":"#/components/schemas/FilterArgExpressionExperiment"},"example":""},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"sort","in":"query","schema":{"$ref":"#/components/schemas/SortArgExpressionExperiment"},"example":"+id"},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/FilteredAndPaginatedResponseDataObject"},{"$ref":"#/components/schemas/FilteredAndCursorPaginatedResponseDataObject"}]}}}}}}},"/taxa/{taxon}/genes/{gene}/goTerms":{"get":{"summary":"Retrieve the GO terms associated to a gene in a given taxon","operationId":"getTaxonGeneGoTerms","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListGeneOntologyTermValueObject"}}}}}}},"/taxa/{taxon}/genes/{gene}/locations":{"get":{"summary":"Retrieve physical locations for a given gene and taxon","operationId":"getTaxonGeneLocations","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListPhysicalLocationValueObject"}}}}}}},"/taxa/{taxon}/genes/{gene}/probes":{"get":{"summary":"Retrieve the probes associated to a genes across all platforms in a given taxon","description":"Supports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`. Cursor mode (recommended for deep pagination and consistency under writes — a single gene can map to many probes across multi-platform inventories): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive — passing a non-null `cursor` selects cursor mode. In cursor mode the result is always sorted by ascending `cs.id` (cursor mode forces a single-component id sort pending the indexed-column audit in phase B); the path-derived `{taxon}` + `{gene}` constraints are preserved (taxon enforced at gene-resolution time, identical scope to the offset variant); `totalElements` is `null` by default (no count query per request).","operationId":"getTaxonGeneProbes","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"gene","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PaginatedResponseDataObject"},{"$ref":"#/components/schemas/CursorPaginatedResponseDataObject"}]}}}}}}},"/taxa/{taxon}/genes":{"get":{"summary":"Retrieve all genes in a given taxon","description":"Supports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`. Cursor mode (recommended for deep pagination and consistency under writes): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive — passing a non-null `cursor` selects cursor mode. In cursor mode the result is always sorted by ascending `id` (cursor mode forces a single-component id sort pending the indexed-column audit in phase B); the `taxon.id = ?` constraint is preserved; `totalElements` is `null` by default (no count query per request).","operationId":"getTaxonGenes","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PaginatedResponseDataObject"},{"$ref":"#/components/schemas/CursorPaginatedResponseDataObject"}]}}}}}}},"/taxa/{taxon}/genes/{gene}":{"get":{"summary":"Retrieve genes matching gene identifiers in a given taxon","operationId":"getTaxonGenesByIds","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"gene","in":"path","required":true,"schema":{"minItems":1,"type":"array","description":"A comma-delimited list of NCBI IDs, Ensembl IDs or gene symbols. The value may be compressed with gzip and encoded with base64.","items":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]}}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListGeneValueObject"}}}}}}},"/taxa/{taxon}/chromosomes/{chromosome}/genes":{"get":{"summary":"Retrieve genes overlapping a given region in a taxon","operationId":"getTaxonGenesOverlappingChromosome","parameters":[{"name":"taxon","in":"path","required":true,"schema":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]}},{"name":"chromosome","in":"path","required":true,"schema":{"type":"string"}},{"name":"strand","in":"query","schema":{"type":"string"}},{"name":"start","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"size","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectListGeneValueObject"}}}}}}},"/tickets":{"get":{"tags":["Tickets"],"summary":"List curation tickets","description":"Filterable, paginated list of curation tickets. Event logs are NOT included for payload economy; fetch /{id} for events.\n\nSupports two pagination modes. Legacy mode: pass `offset` (and `limit`); response includes `offset` and `totalElements`; ordering is `updatedAt` desc (the dashboard-friendly default). Cursor mode (recommended for deep listings and consistency under writes as the ticket table grows): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field. `offset` and `cursor` are mutually exclusive — passing a non-null `cursor` selects cursor mode. In cursor mode the result is always sorted by ascending `id` (cursor mode forces a single-component id sort pending the indexed-column audit in phase B); the full filter set (`openOnly`, `assignee`, `priority`, `type`, `state`, `targetType`, `updatedSince`) is honoured identically in both modes; `totalElements` is `null` by default (no count query per request).\n\nFilter precedence note: `state` and `openOnly` are mutually exclusive — a passed `state` pins the predicate to that single state and the `openOnly` flag is ignored. With no `state` parameter, `openOnly=true` retains its legacy OPEN+IN_PROGRESS semantics.","operationId":"getTickets","parameters":[{"name":"openOnly","in":"query","description":"If true, restrict to OPEN/IN_PROGRESS tickets. Ignored when `state` is supplied.","schema":{"type":"boolean","default":false}},{"name":"assignee","in":"query","description":"Filter by current assignee (Contact id).","schema":{"type":"integer","format":"int64","nullable":true}},{"name":"priority","in":"query","description":"Filter by priority.","schema":{"type":"string","nullable":true,"enum":["LOW","NORMAL","HIGH","URGENT"]}},{"name":"type","in":"query","description":"Filter by ticket type (e.g. GENERIC, AGENT_PROPOSAL, NEEDS_ATTENTION).","schema":{"type":"string","nullable":true,"enum":["BATCH_INFO_NEEDED","REALIGNMENT_NEEDED","QUALITY_REVIEW","PRELOAD","CURATION","LITERATURE_SEARCH","GENERIC"]}},{"name":"state","in":"query","description":"Filter by exact ticket state (OPEN, IN_PROGRESS, RESOLVED, CANCELLED). When supplied this overrides `openOnly`.","schema":{"type":"string","nullable":true,"enum":["OPEN","IN_PROGRESS","RESOLVED","CANCELLED"]}},{"name":"targetType","in":"query","description":"Filter to tickets whose target collection includes a target of this type (EXPRESSION_EXPERIMENT, ARRAY_DESIGN, etc).","schema":{"type":"string","nullable":true,"enum":["EXPRESSION_EXPERIMENT","ARRAY_DESIGN","FACTOR_VALUE","GEO_SCRAPE_WATERMARK","BIBLIOGRAPHIC_REFERENCE"]}},{"name":"updatedSince","in":"query","description":"ISO-8601 date/time; restrict to tickets with `updatedAt >=` this value.","schema":{"type":"string","format":"date-time","nullable":true}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token; mutually exclusive with `offset`.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PaginatedResponseDataObject"},{"$ref":"#/components/schemas/CursorPaginatedResponseDataObject"}]}}}}}},"post":{"tags":["Tickets"],"summary":"Open a new curation ticket","description":"Creates a new ticket; the authenticated user is recorded as the reporter. The response includes the seeded OPENED event.","operationId":"createTicket","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTicketRequest"}}}},"responses":{"200":{"description":"default response","content":{"application/json":{}}}}}},"/tickets/{id}":{"get":{"tags":["Tickets"],"summary":"Retrieve a single ticket by id, with full event log","operationId":"getTicket","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTicketValueObject"}}}}}},"put":{"tags":["Tickets"],"summary":"Update a ticket (state, assignee, comment, metadata)","description":"Partial update: any subset of state / assigneeId / comment / priority / dueDate may be supplied. Each populated field triggers the corresponding service call and event.","operationId":"updateTicket","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTicketRequest"}}}},"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTicketValueObject"}}}}}},"delete":{"tags":["Tickets"],"summary":"Cancel (soft-close) a ticket","description":"Transitions the ticket to CANCELLED. Append-only: the row and event log are preserved.","operationId":"deleteTicket","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"reason","in":"query","description":"Optional human-readable reason; recorded on the CANCELLED event.","schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"default response","content":{"application/json":{}}}}},"patch":{"tags":["Tickets"],"summary":"Update a ticket (PATCH alias for PUT)","description":"Partial update; same fields and semantics as PUT /tickets/{id}. Provided so PATCH-leaning callers can use the verb that matches their intent.","operationId":"patchTicket","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTicketRequest"}}}},"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTicketValueObject"}}}}}}},"/tickets/mine":{"get":{"tags":["Tickets"],"summary":"List tickets assigned to the calling admin","description":"Convenience view over `GET /tickets?assignee={me}`. Returns two lists: `open` (OPEN + IN_PROGRESS, capped at `limit`, default 50) sorted by `updatedAt desc`; and `recentlyResolved` (RESOLVED + CANCELLED with updatedAt within the last `resolvedWithinDays` days, default 7, capped at `limit`). Sorted by updatedAt desc. Both lists carry the lightweight TicketValueObject (no event log). Use `GET /tickets/{id}` for the full ticket including events.","operationId":"getMyQueue","parameters":[{"name":"limit","in":"query","description":"Max items in each list. Defaults to 50, capped at 200.","schema":{"type":"integer","format":"int32","default":50}},{"name":"resolvedWithinDays","in":"query","description":"Window for `recentlyResolved`, in days. Defaults to 7.","schema":{"type":"integer","format":"int32","default":7}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"401":{"description":"Not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/tickets/summary/me":{"get":{"tags":["Tickets"],"summary":"Workload summary for the calling admin","description":"Returns counts of open (OPEN+IN_PROGRESS) and total tickets assigned to the calling admin, plus the age of the oldest open ticket in days. No event logs, no list of tickets — see `/tickets/mine` for those.","operationId":"getMyQueueSummary","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"401":{"description":"Not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/tickets/summary":{"get":{"tags":["Tickets"],"summary":"Open-ticket roll-up across the corpus","description":"Returns the total open ticket count and a per-{@link TicketType} breakdown. Cheap (single grouped count query); intended for the admin Systems Monitoring dashboard panel.","operationId":"getOpenTicketSummary","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObject"}}}},"401":{"description":"Not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/tickets/{id}/events":{"get":{"tags":["Tickets"],"summary":"Retrieve only the event log for a ticket","description":"Legacy mode (no `cursor` parameter): returns the full unpaginated event list in the existing shape (no count query, full result set, sorted by `occurredAt`). Cursor mode (recommended for tickets accumulating long workflow histories): pass an opaque `cursor` token from a previous response's `nextCursor` / `prevCursor` field along with a `limit`. In cursor mode the result is always sorted by ascending `id` (cursor mode forces a single-component id sort pending the indexed-column audit in phase B; ticket events are append-only so id-asc tracks occurredAt-asc in practice); the path-derived ticket scope is preserved; `totalElements` is `null` by default (no count query per request).","operationId":"getTicketEvents","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"cursor","in":"query","description":"Opaque keyset-pagination cursor token.","schema":{"type":"string","description":"An opaque cursor token returned in a previous response's nextCursor or prevCursor field, used for keyset pagination."}},{"name":"limit","in":"query","description":"Page size for cursor mode (ignored when no `cursor` is supplied).","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResponseDataObject"},{"$ref":"#/components/schemas/CursorPaginatedResponseDataObject"}]}}}},"404":{"description":"The ticket does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/tickets/{id}/targets/{targetRowId}":{"patch":{"tags":["Tickets"],"summary":"Update one target's status on a multi-target ticket","description":"Sets status on the specified TicketTarget row. Idempotent on no-op; writes a TARGET_STATUS_CHANGED event + audit row when status actually changes.","operationId":"updateTargetStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"targetRowId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTargetStatusRequest"}}}},"responses":{"200":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectTicketValueObject"}}}}}}},"/datasets/{id}/workflow":{"get":{"tags":["Workflow"],"summary":"Retrieve a dataset's current workflow state + history","description":"Current workflow position and the full chronological history of transitions (oldest first). History is derived from AUDIT_EVENT filtered to WorkflowStateChangedEvent rows.","operationId":"getDatasetWorkflow","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDataObjectWorkflowStateResponse"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}},"put":{"tags":["Workflow"],"summary":"Advance a dataset to a new workflow state","description":"Body: `{\"targetState\": \"Audit\", \"reason\": \"...\", \"ticketId\": 9001?}`. Idempotent: PUTting currentState is a 200 no-op with previousState == currentState. Disallowed transitions return 409 with the list of allowed next states. Unknown targetState returns 400. Public -> Curate additionally requires admin role + non-empty reason.","operationId":"advanceDatasetWorkflow","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvanceWorkflowRequest"}}}},"responses":{"200":{"content":{"application/json":{}}},"400":{"description":"Missing or unknown targetState.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"403":{"description":"Insufficient role for this transition.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"404":{"description":"The dataset does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}},"409":{"description":"Disallowed transition; body lists allowed next states.","content":{"application/json":{"schema":{"type":"string","description":"{ error, currentState, targetState, allowedNextStates }"}}}}}}},"/workflow/queue":{"get":{"tags":["Workflow"],"summary":"List datasets currently in a given workflow state","description":"The curator triage view. Oldest entry first by workflowStateEnteredAt. Optional filters: datasetType (currently only `expression_experiment` is implemented; `preboarded_experiment` returns empty pending the subclass), assignee (returns empty pending the Ticket-layer join; see TODO(ticket-integration)), since (ISO-8601; restrict to rows that entered the state on or after this).","operationId":"getWorkflowQueue","parameters":[{"name":"state","in":"query","description":"Required; one of the 8 WorkflowState constants.","schema":{"type":"string","nullable":true}},{"name":"datasetType","in":"query","description":"Optional; expression_experiment | preboarded_experiment. The legacy snake_case spelling `dataset_type` is still accepted.","schema":{"type":"string","nullable":true}},{"name":"assignee","in":"query","description":"Optional; restrict to datasets with an OPEN ticket assigned to this user.","schema":{"type":"string","nullable":true}},{"name":"since","in":"query","description":"Optional ISO-8601 timestamp; restrict to entries on or after.","schema":{"type":"string","format":"date-time","nullable":true}},{"name":"offset","in":"query","schema":{"minimum":0,"type":"integer","description":"The offset of the first retrieved result.","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Limit the number of results retrieved.","format":"int32","default":20}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponseDataObjectWorkflowQueueEntryResponse"}}}},"400":{"description":"Missing or unknown state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseErrorObject"}}}}}}},"/health":{"get":{"tags":["Observability"],"summary":"Aggregated process health","description":"Returns UP only if every registered HealthIndicator (db, cache, disk space, ...) reports UP. Returns HTTP 503 with the same JSON shape when any component is DOWN.","operationId":"getHealth","responses":{"200":{"description":"All components UP","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthValueObject"}}}},"503":{"description":"At least one component reported DOWN","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthValueObject"}}}}}}},"/info":{"get":{"tags":["Observability"],"summary":"Process build / JVM / OS info","description":"Stable URL for polling the running build version, git hash, JVM, OS, and uptime. Use this instead of parsing the larger root API payload when only the build info is needed.","operationId":"getInfo","responses":{"200":{"description":"Info payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoValueObject"}}}}}}},"/metrics":{"get":{"tags":["Observability"],"summary":"Prometheus exposition of process metrics","description":"Returns the Micrometer Prometheus exposition format (text/plain version 0.0.4). Requires the X-Scrape-Token header to match the gemma.metrics.scrapeToken property. When that property is unset, the endpoint is disabled (404).","operationId":"scrape","parameters":[{"name":"X-Scrape-Token","in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":"Prometheus exposition body","content":{"text/plain; version=0.0.4; charset=utf-8":{"schema":{"type":"string"}}}},"401":{"description":"Missing or wrong X-Scrape-Token header","content":{"text/plain; charset=utf-8":{"schema":{"type":"string"}}}},"404":{"description":"Metrics endpoint disabled (no scrape token configured)","content":{"text/plain; charset=utf-8":{"schema":{"type":"string"}}}},"503":{"description":"Metrics Spring profile not active; no Prometheus registry available","content":{"text/plain; charset=utf-8":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"AlternateName":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"}}},"Analysis":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"protocol":{"$ref":"#/components/schemas/Protocol"}}},"ArrayDesign":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"auditTrail":{"$ref":"#/components/schemas/AuditTrail"},"curationDetails":{"$ref":"#/components/schemas/CurationDetails"},"advertisedNumberOfDesignElements":{"type":"integer","format":"int32"},"shortName":{"type":"string"},"technologyType":{"type":"string","enum":["TWOCOLOR","DUALMODE","ONECOLOR","SEQUENCING","GENELIST","OTHER"]},"primaryTaxon":{"$ref":"#/components/schemas/Taxon"},"externalReferences":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/DatabaseEntry"}},"compositeSequences":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CompositeSequence"}},"mergedInto":{"$ref":"#/components/schemas/ArrayDesign"},"subsumingArrayDesign":{"$ref":"#/components/schemas/ArrayDesign"},"alternativeTo":{"$ref":"#/components/schemas/ArrayDesign"},"subsumedArrayDesigns":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/ArrayDesign"}},"mergees":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/ArrayDesign"}},"designProvider":{"$ref":"#/components/schemas/Contact"},"alternateNames":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/AlternateName"}}},"nullable":true},"AuditEvent":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"action":{"type":"string","enum":["C","R","U","D"]},"date":{"type":"string","format":"date-time"},"detail":{"type":"string","nullable":true},"eventType":{"$ref":"#/components/schemas/AuditEventType"},"note":{"type":"string","nullable":true},"performer":{"$ref":"#/components/schemas/User"},"payload":{"type":"string","nullable":true}},"nullable":true},"AuditEventType":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true}},"nullable":true},"AuditTrail":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"events":{"type":"array","items":{"$ref":"#/components/schemas/AuditEvent"}},"lastEvent":{"$ref":"#/components/schemas/AuditEvent"}}},"BibliographicReference":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"authorList":{"type":"string"},"title":{"type":"string"},"publisher":{"type":"string"},"editor":{"type":"string"},"volume":{"type":"string"},"issue":{"type":"string"},"pages":{"type":"string"},"publication":{"type":"string"},"fullTextUri":{"type":"string"},"abstractText":{"type":"string"},"citation":{"type":"string"},"publicationDate":{"type":"string","format":"date-time"},"annotatedAbstract":{"type":"string"},"pubAccession":{"$ref":"#/components/schemas/DatabaseEntry"},"retracted":{"type":"boolean"},"annotations":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Characteristic"}},"meshTerms":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/MedicalSubjectHeading"}},"keywords":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Keyword"}},"chemicals":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}},"BioAssay":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"shortName":{"type":"string","nullable":true},"arrayDesignUsed":{"$ref":"#/components/schemas/ArrayDesign"},"originalPlatform":{"$ref":"#/components/schemas/ArrayDesign"},"sampleUsed":{"$ref":"#/components/schemas/BioMaterial"},"accession":{"$ref":"#/components/schemas/DatabaseEntry"},"isOutlier":{"type":"boolean"},"processingDate":{"type":"string","format":"date-time","nullable":true},"metadata":{"type":"string","nullable":true},"sequenceReadCount":{"type":"integer","format":"int64","nullable":true},"sequenceReadLength":{"type":"integer","format":"int32","nullable":true},"sequencePairedReads":{"type":"boolean","nullable":true},"fastqHeaders":{"type":"string","nullable":true},"numberOfCells":{"type":"integer","format":"int32","nullable":true},"numberOfDesignElements":{"type":"integer","format":"int32","nullable":true},"numberOfCellsByDesignElements":{"type":"integer","format":"int32","nullable":true},"securityOwner":{"$ref":"#/components/schemas/ExpressionExperiment"}}},"BioAssayDimension":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"bioAssays":{"type":"array","items":{"$ref":"#/components/schemas/BioAssay"}},"merged":{"type":"boolean","nullable":true}}},"BioMaterial":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"sourceBioMaterial":{"$ref":"#/components/schemas/BioMaterial"},"sourceTaxon":{"$ref":"#/components/schemas/Taxon"},"factorValues":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/FactorValue"}},"bioAssaysUsedIn":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/BioAssay"}},"treatments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Treatment"}},"characteristics":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Characteristic"}},"externalAccession":{"$ref":"#/components/schemas/DatabaseEntry"},"securityOwner":{"$ref":"#/components/schemas/ExpressionExperiment"},"allFactorValues":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/FactorValue"}},"allCharacteristics":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Characteristic"}},"allBioAssaysUsedIn":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/BioAssay"}},"allTreatments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Treatment"}}}},"BioSequence":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"length":{"type":"integer","format":"int64","nullable":true},"sequence":{"type":"string","nullable":true},"isApproximateLength":{"type":"boolean","nullable":true},"isCircular":{"type":"boolean","nullable":true},"polymerType":{"type":"string","nullable":true,"enum":["DNA","RNA","PROTEIN"]},"type":{"type":"string","nullable":true,"enum":["AFFY_TARGET","AFFY_PROBE","EST","mRNA","REFSEQ","BAC","WHOLE_GENOME","WHOLE_CHROMOSOME","DNA","OTHER","ORF","AFFY_COLLAPSED","OLIGO","DUMMY"]},"fractionRepeats":{"type":"number","format":"double","nullable":true},"sequenceDatabaseEntry":{"$ref":"#/components/schemas/DatabaseEntry"},"taxon":{"$ref":"#/components/schemas/Taxon"},"bioSequence2GeneProduct":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/BioSequence2GeneProduct"}}}},"BioSequence2GeneProduct":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"sourceAnalysis":{"$ref":"#/components/schemas/Analysis"},"overlap":{"type":"integer","format":"int32"},"score":{"type":"number","format":"double"},"threePrimeDistance":{"type":"integer","format":"int64"},"threePrimeDistanceMeasurementMethod":{"type":"string","enum":["LEFT","MIDDLE","RIGHT"]},"specificity":{"type":"number","format":"double"},"bioSequence":{"$ref":"#/components/schemas/BioSequence"},"geneProduct":{"$ref":"#/components/schemas/GeneProduct"}}},"CellLevelCharacteristics":{"type":"object","properties":{"name":{"type":"string","nullable":true},"characteristics":{"type":"array","items":{"$ref":"#/components/schemas/Characteristic"}},"indices":{"type":"array","items":{"type":"integer","format":"int32"}},"numberOfAssignedCells":{"type":"integer","format":"int32","nullable":true},"numberOfCharacteristics":{"type":"integer","format":"int32"},"description":{"type":"string","nullable":true},"id":{"type":"integer","format":"int64","nullable":true}}},"CellTypeAssignment":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"protocol":{"$ref":"#/components/schemas/Protocol"},"preferred":{"type":"boolean"},"cellTypeIndices":{"type":"array","items":{"type":"integer","format":"int32"}},"numberOfAssignedCells":{"type":"integer","format":"int32","nullable":true},"cellTypes":{"type":"array","items":{"$ref":"#/components/schemas/Characteristic"}},"numberOfCellTypes":{"type":"integer","format":"int32"},"characteristics":{"type":"array","items":{"$ref":"#/components/schemas/Characteristic"}},"indices":{"type":"array","items":{"type":"integer","format":"int32"}},"numberOfCharacteristics":{"type":"integer","format":"int32"}}},"Characteristic":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"category":{"type":"string","nullable":true},"categoryUri":{"type":"string","nullable":true},"evidenceCode":{"type":"string","enum":["IC","IDA","IEA","IEP","IGI","IMP","IPI","ISS","NAS","ND","RCA","TAS","NR","EXP","ISA","ISM","IGC","ISO","IIA","IBA","IBD","IKR","IRD","IMR","IED","IAGP","IPM","QTM","HDA","HEP","HGI","HMP","HTP","OTHER"]},"originalValue":{"type":"string","nullable":true},"value":{"type":"string"},"valueUri":{"type":"string","nullable":true},"migratedToStatement":{"type":"boolean"},"supportingEvidence":{"type":"string","nullable":true}}},"Chromosome":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"assemblyDatabase":{"$ref":"#/components/schemas/ExternalDatabase"},"sequence":{"$ref":"#/components/schemas/BioSequence"},"taxon":{"$ref":"#/components/schemas/Taxon"}}},"CompositeSequence":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"biologicalCharacteristic":{"$ref":"#/components/schemas/BioSequence"},"arrayDesign":{"$ref":"#/components/schemas/ArrayDesign"}}},"Compound":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"registryNumber":{"type":"string"}}},"Contact":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"email":{"type":"string"}}},"CurationDetails":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"lastUpdated":{"type":"string","format":"date-time","nullable":true},"lastNeedsAttentionEvent":{"$ref":"#/components/schemas/AuditEvent"},"needsAttention":{"type":"boolean"},"lastTroubledEvent":{"$ref":"#/components/schemas/AuditEvent"},"troubled":{"type":"boolean"},"lastNoteUpdateEvent":{"$ref":"#/components/schemas/AuditEvent"},"curationNote":{"type":"string","nullable":true}}},"DatabaseEntry":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"accession":{"type":"string"},"accessionVersion":{"type":"string"},"uri":{"type":"string","nullable":true},"externalDatabase":{"$ref":"#/components/schemas/ExternalDatabase"}},"nullable":true},"ExperimentalDesign":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"replicateDescription":{"type":"string"},"qualityControlDescription":{"type":"string"},"normalizationDescription":{"type":"string"},"experimentalFactors":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/ExperimentalFactor"}},"types":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Characteristic"}},"securityOwner":{"$ref":"#/components/schemas/ExpressionExperiment"}},"nullable":true},"ExperimentalFactor":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"type":{"type":"string","enum":["CONTINUOUS","CATEGORICAL"]},"category":{"$ref":"#/components/schemas/Characteristic"},"experimentalDesign":{"$ref":"#/components/schemas/ExperimentalDesign"},"factorValues":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/FactorValue"}},"annotations":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Characteristic"}},"securityOwner":{"$ref":"#/components/schemas/ExpressionExperiment"},"baselineRelevance":{"type":"string","nullable":true},"baselineRelevanceReason":{"type":"string","nullable":true}}},"ExpressionExperiment":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"auditTrail":{"$ref":"#/components/schemas/AuditTrail"},"characteristics":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Characteristic"}},"otherRelevantPublications":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/BibliographicReference"}},"owner":{"$ref":"#/components/schemas/Contact"},"primaryPublication":{"$ref":"#/components/schemas/BibliographicReference"},"workflowState":{"type":"string","enum":["Discovery","Candidate","Preboarded","Loaded","Curate","Process","Audit","Public"]},"workflowStateEnteredAt":{"type":"string","format":"date-time"},"sourceMetadata":{"type":"string"},"sourceMetadataSchemaVersion":{"type":"integer","format":"int32"},"accession":{"$ref":"#/components/schemas/DatabaseEntry"},"batchEffect":{"type":"string","nullable":true,"enum":["NO_BATCH_INFO","SINGLETON_BATCHES_FAILURE","UNINFORMATIVE_HEADERS_FAILURE","PROBLEMATIC_BATCH_INFO_FAILURE","BATCH_EFFECT_FAILURE","BATCH_CORRECTED_SUCCESS","SINGLE_BATCH_SUCCESS","BATCH_EFFECT_UNDETERMINED_FAILURE","NO_BATCH_EFFECT_SUCCESS"]},"batchEffectStatistics":{"type":"string","nullable":true},"batchConfound":{"type":"string","nullable":true},"curationDetails":{"$ref":"#/components/schemas/CurationDetails"},"experimentalDesign":{"$ref":"#/components/schemas/ExperimentalDesign"},"geeq":{"$ref":"#/components/schemas/Geeq"},"meanVarianceRelation":{"$ref":"#/components/schemas/MeanVarianceRelation"},"metadata":{"type":"string","nullable":true},"numberOfDataVectors":{"type":"integer","format":"int32"},"numberOfSamples":{"type":"integer","format":"int32"},"numberOfCells":{"type":"integer","format":"int32","nullable":true},"taxon":{"$ref":"#/components/schemas/Taxon"},"otherParts":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperiment"}},"quantitationTypes":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/QuantitationType"}},"singleCellExpressionDataVectors":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/SingleCellExpressionDataVector"}},"rawExpressionDataVectors":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/RawExpressionDataVector"}},"processedExpressionDataVectors":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/ProcessedExpressionDataVector"}},"shortName":{"type":"string"},"source":{"type":"string"},"allCharacteristics":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Characteristic"}},"bioAssays":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/BioAssay"}}}},"ExternalDatabase":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"localInstallDbName":{"type":"string"},"webUri":{"type":"string"},"ftpUri":{"type":"string"},"type":{"type":"string","enum":["ONTOLOGY","SEQUENCE","LITERATURE","EXPRESSION","GENOME","OTHER","PROTEIN"]},"databaseSupplier":{"$ref":"#/components/schemas/Contact"},"externalDatabases":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/ExternalDatabase"}},"auditTrail":{"$ref":"#/components/schemas/AuditTrail"},"releaseVersion":{"type":"string","nullable":true},"releaseUrl":{"type":"string","format":"url","nullable":true},"lastUpdated":{"type":"string","format":"date-time","nullable":true}},"nullable":true},"FactorValue":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"experimentalFactor":{"$ref":"#/components/schemas/ExperimentalFactor"},"value":{"type":"string","nullable":true},"isBaseline":{"type":"boolean","nullable":true},"measurement":{"$ref":"#/components/schemas/Measurement"},"characteristics":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Statement"}},"oldStyleCharacteristics":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Characteristic"}},"needsAttention":{"type":"boolean"},"securityOwner":{"$ref":"#/components/schemas/ExpressionExperiment"}}},"Geeq":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"detectedQualityScore":{"type":"number","format":"double"},"manualQualityScore":{"type":"number","format":"double"},"manualQualityOverride":{"type":"boolean"},"detectedSuitabilityScore":{"type":"number","format":"double"},"manualSuitabilityScore":{"type":"number","format":"double"},"manualSuitabilityOverride":{"type":"boolean"},"getsScorePublication":{"type":"number","format":"double"},"getsScorePlatformAmount":{"type":"number","format":"double"},"getsScorePlatformsTechMulti":{"type":"number","format":"double"},"getsScoreAvgPlatformPopularity":{"type":"number","format":"double"},"getsScoreAvgPlatformSize":{"type":"number","format":"double"},"getsScoreSampleSize":{"type":"number","format":"double"},"getsScoreRawData":{"type":"number","format":"double"},"getsScoreMissingValues":{"type":"number","format":"double"},"noVectors":{"type":"boolean"},"getqScoreOutliers":{"type":"number","format":"double"},"corrMatIssues":{"type":"string","format":"byte"},"getqScoreSampleMeanCorrelation":{"type":"number","format":"double"},"getqScoreSampleMedianCorrelation":{"type":"number","format":"double"},"getqScoreSampleCorrelationVariance":{"type":"number","format":"double"},"getqScorePlatformsTech":{"type":"number","format":"double"},"getqScoreReplicates":{"type":"number","format":"double"},"replicatesIssues":{"type":"string","format":"byte"},"getqScoreBatchInfo":{"type":"number","format":"double"},"batchCorrected":{"type":"boolean"},"getqScoreBatchEffect":{"type":"number","format":"double"},"manualHasStrongBatchEffect":{"type":"boolean"},"manualHasNoBatchEffect":{"type":"boolean"},"manualBatchEffectActive":{"type":"boolean"},"getqScoreBatchConfound":{"type":"number","format":"double"},"manualHasBatchConfound":{"type":"boolean"},"manualBatchConfoundActive":{"type":"boolean"},"otherIssues":{"type":"string"},"qualityScoreArray":{"type":"array","items":{"type":"number","format":"double"}},"qualityScoreWeightsArray":{"type":"array","items":{"type":"number","format":"double"}},"suitabilityScoreArray":{"type":"array","items":{"type":"number","format":"double"}},"suitabilityScoreWeightsArray":{"type":"array","items":{"type":"number","format":"double"}}},"nullable":true},"Gene":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"physicalLocation":{"$ref":"#/components/schemas/PhysicalLocation"},"officialSymbol":{"type":"string"},"officialName":{"type":"string"},"ncbiGeneId":{"type":"integer","format":"int32"},"previousNcbiGeneId":{"type":"string","nullable":true},"ensemblId":{"type":"string","nullable":true},"products":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/GeneProduct"}},"aliases":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/GeneAlias"}},"taxon":{"$ref":"#/components/schemas/Taxon"},"accessions":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/DatabaseEntry"}},"multifunctionality":{"$ref":"#/components/schemas/Multifunctionality"}}},"GeneAlias":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"alias":{"type":"string"}}},"GeneProduct":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"physicalLocation":{"$ref":"#/components/schemas/PhysicalLocation"},"ncbiGi":{"type":"string"},"accessions":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/DatabaseEntry"}},"exons":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/PhysicalLocation"}},"gene":{"$ref":"#/components/schemas/Gene"},"dummy":{"type":"boolean"}}},"GroupAuthority":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"authority":{"type":"string"}}},"JobInfo":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"runningStatus":{"type":"boolean"},"failedMessage":{"type":"string"},"startTime":{"type":"string","format":"date-time"},"endTime":{"type":"string","format":"date-time"},"phases":{"type":"integer","format":"int32"},"description":{"type":"string"},"messages":{"type":"string"},"taskId":{"type":"string"},"user":{"$ref":"#/components/schemas/User"}}},"Keyword":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"isMajorTopic":{"type":"boolean"},"term":{"type":"string"}}},"MeanVarianceRelation":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"means":{"type":"array","items":{"type":"number","format":"double"}},"variances":{"type":"array","items":{"type":"number","format":"double"}},"securityOwner":{"$ref":"#/components/schemas/ExpressionExperiment"}},"nullable":true},"Measurement":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"type":{"type":"string","enum":["ABSOLUTE","CHANGE"]},"value":{"type":"string","nullable":true},"kindCV":{"type":"string","enum":["TIME","DISTANCE","TEMPERATURE","QUANTITY","MASS","VOLUME","CONC","OTHER","COUNT"]},"otherKind":{"type":"string"},"representation":{"type":"string","enum":["FLOAT","DOUBLE","INT","LONG","CHAR","BOOLEAN","STRING"]},"unit":{"$ref":"#/components/schemas/Unit"},"valueAsInt":{"type":"integer","format":"int32"},"valueAsLong":{"type":"integer","format":"int64"},"valueAsDouble":{"type":"number","format":"double"},"valueAsFloat":{"type":"number","format":"float"}},"nullable":true},"MedicalSubjectHeading":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"isMajorTopic":{"type":"boolean"},"term":{"type":"string"},"qualifiers":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/MedicalSubjectHeading"}}}},"Multifunctionality":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"score":{"type":"number","format":"double"},"rank":{"type":"number","format":"double"},"numGoTerms":{"type":"integer","format":"int32"}}},"PhysicalLocation":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"chromosome":{"$ref":"#/components/schemas/Chromosome"},"nucleotide":{"type":"integer","format":"int64"},"nucleotideLength":{"type":"integer","format":"int32"},"strand":{"type":"string"},"bin":{"type":"integer","format":"int32","nullable":true}}},"PipelineJob":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"batch":{"$ref":"#/components/schemas/PipelineJobBatch"},"experiment":{"$ref":"#/components/schemas/ExpressionExperiment"},"state":{"type":"string","enum":["PENDING","QUEUED","RUNNING","DONE","FAILED","CANCELLING","CANCELLED"]},"schedulerKind":{"type":"string","nullable":true,"enum":["luigi","nextflow","mock"]},"schedulerHandle":{"type":"string","nullable":true},"submittedAt":{"type":"string","format":"date-time","nullable":true},"startedAt":{"type":"string","format":"date-time","nullable":true},"finishedAt":{"type":"string","format":"date-time","nullable":true},"lastEventAt":{"type":"string","format":"date-time","nullable":true},"lastEventKind":{"type":"string","nullable":true},"lastProgressJson":{"type":"string","nullable":true},"errorMessage":{"type":"string","nullable":true},"events":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/PipelineJobEvent"}}}},"PipelineJobBatch":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"auditTrail":{"$ref":"#/components/schemas/AuditTrail"},"pipeline":{"type":"string"},"submittedBy":{"$ref":"#/components/schemas/Contact"},"submittedAt":{"type":"string","format":"date-time"},"paramsJson":{"type":"string","nullable":true},"state":{"type":"string","enum":["OPEN","CLOSED","CANCELLED"]},"killRequestedAt":{"type":"string","format":"date-time","nullable":true},"closedAt":{"type":"string","format":"date-time","nullable":true},"jobs":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/PipelineJob"}}}},"PipelineJobEvent":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"job":{"$ref":"#/components/schemas/PipelineJob"},"occurredAt":{"type":"string","format":"date-time"},"kind":{"type":"string"},"payloadJson":{"type":"string","nullable":true}}},"ProcessedExpressionDataVector":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"expressionExperiment":{"$ref":"#/components/schemas/ExpressionExperiment"},"data":{"type":"string","format":"byte"},"designElement":{"$ref":"#/components/schemas/CompositeSequence"},"bioAssayDimension":{"$ref":"#/components/schemas/BioAssayDimension"},"quantitationType":{"$ref":"#/components/schemas/QuantitationType"},"rankByMean":{"type":"number","format":"double","nullable":true},"rankByMax":{"type":"number","format":"double","nullable":true},"numberOfCellsObject":{"$ref":"#/components/schemas/ProcessedExpressionDataVectorNumberOfCells"},"numberOfCells":{"type":"array","nullable":true,"items":{"type":"integer","format":"int32"}},"originalDesignElement":{"type":"string","nullable":true},"dataAsDoubles":{"type":"array","items":{"type":"number","format":"double"}},"dataAsObjects":{"type":"array","items":{"type":"object"}},"dataAsInts":{"type":"array","items":{"type":"integer","format":"int32"}},"dataAsBooleans":{"type":"array","items":{"type":"boolean"}},"dataAsStrings":{"type":"array","items":{"type":"string"}},"dataAsBuffer":{"type":"object","properties":{"direct":{"type":"boolean"},"readOnly":{"type":"boolean"}}},"dataAsFloatBuffer":{"type":"object","properties":{"direct":{"type":"boolean"},"readOnly":{"type":"boolean"}}},"dataAsDoubleBuffer":{"type":"object","properties":{"direct":{"type":"boolean"},"readOnly":{"type":"boolean"}}},"dataAsIntBuffer":{"type":"object","properties":{"direct":{"type":"boolean"},"readOnly":{"type":"boolean"}}},"dataAsLongBuffer":{"type":"object","properties":{"direct":{"type":"boolean"},"readOnly":{"type":"boolean"}}},"dataAsFloats":{"type":"array","items":{"type":"number","format":"float"}},"dataAsChars":{"type":"array","items":{"type":"string"}},"dataAsLongs":{"type":"array","items":{"type":"integer","format":"int64"}},"dataAsTabbedStrings":{"type":"array","items":{"type":"string"}}}},"ProcessedExpressionDataVectorNumberOfCells":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"vector":{"$ref":"#/components/schemas/ProcessedExpressionDataVector"},"numberOfCells":{"type":"array","items":{"type":"integer","format":"int32"}}}},"Protocol":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true}},"nullable":true},"QuantitationType":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"isBackground":{"type":"boolean"},"isBackgroundSubtracted":{"type":"boolean"},"isBatchCorrected":{"type":"boolean"},"isNormalized":{"type":"boolean"},"isAggregated":{"type":"boolean"},"isSingleCellPreferred":{"type":"boolean"},"isPreferred":{"type":"boolean"},"isMaskedPreferred":{"type":"boolean"},"isRecomputedFromRawData":{"type":"boolean"},"isRatio":{"type":"boolean"},"generalType":{"type":"string","enum":["QUANTITATIVE","CATEGORICAL","UNKNOWN"]},"representation":{"type":"string","enum":["FLOAT","DOUBLE","INT","LONG","CHAR","BOOLEAN","STRING"]},"scale":{"type":"string","enum":["LINEAR","LN","LOG2","LOG10","LOG1P","LOGBASEUNKNOWN","FOLDCHANGE","UNSCALED","PERCENT1","PERCENT","COUNT","OTHER"]},"type":{"type":"string","enum":["PRESENTABSENT","FAILED","AMOUNT","CONFIDENCEINDICATOR","CORRELATION","COUNT","COORDINATE","ZSCORE","OTHER"]}}},"RawExpressionDataVector":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"expressionExperiment":{"$ref":"#/components/schemas/ExpressionExperiment"},"data":{"type":"string","format":"byte"},"designElement":{"$ref":"#/components/schemas/CompositeSequence"},"bioAssayDimension":{"$ref":"#/components/schemas/BioAssayDimension"},"quantitationType":{"$ref":"#/components/schemas/QuantitationType"},"numberOfCellsObject":{"$ref":"#/components/schemas/RawExpressionDataVectorNumberOfCells"},"numberOfCells":{"type":"array","nullable":true,"items":{"type":"integer","format":"int32"}},"originalDesignElement":{"type":"string","nullable":true},"dataAsDoubles":{"type":"array","items":{"type":"number","format":"double"}},"dataAsObjects":{"type":"array","items":{"type":"object"}},"dataAsInts":{"type":"array","items":{"type":"integer","format":"int32"}},"dataAsBooleans":{"type":"array","items":{"type":"boolean"}},"dataAsStrings":{"type":"array","items":{"type":"string"}},"dataAsBuffer":{"type":"object","properties":{"direct":{"type":"boolean"},"readOnly":{"type":"boolean"}}},"dataAsFloatBuffer":{"type":"object","properties":{"direct":{"type":"boolean"},"readOnly":{"type":"boolean"}}},"dataAsDoubleBuffer":{"type":"object","properties":{"direct":{"type":"boolean"},"readOnly":{"type":"boolean"}}},"dataAsIntBuffer":{"type":"object","properties":{"direct":{"type":"boolean"},"readOnly":{"type":"boolean"}}},"dataAsLongBuffer":{"type":"object","properties":{"direct":{"type":"boolean"},"readOnly":{"type":"boolean"}}},"dataAsFloats":{"type":"array","items":{"type":"number","format":"float"}},"dataAsChars":{"type":"array","items":{"type":"string"}},"dataAsLongs":{"type":"array","items":{"type":"integer","format":"int64"}},"dataAsTabbedStrings":{"type":"array","items":{"type":"string"}}}},"RawExpressionDataVectorNumberOfCells":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"vector":{"$ref":"#/components/schemas/RawExpressionDataVector"},"numberOfCells":{"type":"array","items":{"type":"integer","format":"int32"}}}},"ResponseDataObjectPipelineJobBatch":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PipelineJobBatch"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"SingleCellDimension":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"cellIds":{"type":"array","items":{"type":"string"}},"numberOfCellIds":{"type":"integer","format":"int32"},"bioAssays":{"type":"array","items":{"$ref":"#/components/schemas/BioAssay"}},"bioAssaysOffset":{"type":"array","items":{"type":"integer","format":"int32"}},"cellTypeAssignments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CellTypeAssignment"}},"cellLevelCharacteristics":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CellLevelCharacteristics"}}}},"SingleCellExpressionDataVector":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"expressionExperiment":{"$ref":"#/components/schemas/ExpressionExperiment"},"data":{"type":"string","format":"byte"},"designElement":{"$ref":"#/components/schemas/CompositeSequence"},"quantitationType":{"$ref":"#/components/schemas/QuantitationType"},"singleCellDimension":{"$ref":"#/components/schemas/SingleCellDimension"},"originalDesignElement":{"type":"string","nullable":true},"dataIndices":{"type":"array","items":{"type":"integer","format":"int32"}},"dataAsDoubles":{"type":"array","items":{"type":"number","format":"double"}},"dataAsObjects":{"type":"array","items":{"type":"object"}},"dataAsInts":{"type":"array","items":{"type":"integer","format":"int32"}},"dataAsBooleans":{"type":"array","items":{"type":"boolean"}},"dataAsStrings":{"type":"array","items":{"type":"string"}},"dataAsBuffer":{"type":"object","properties":{"direct":{"type":"boolean"},"readOnly":{"type":"boolean"}}},"dataAsFloatBuffer":{"type":"object","properties":{"direct":{"type":"boolean"},"readOnly":{"type":"boolean"}}},"dataAsDoubleBuffer":{"type":"object","properties":{"direct":{"type":"boolean"},"readOnly":{"type":"boolean"}}},"dataAsIntBuffer":{"type":"object","properties":{"direct":{"type":"boolean"},"readOnly":{"type":"boolean"}}},"dataAsLongBuffer":{"type":"object","properties":{"direct":{"type":"boolean"},"readOnly":{"type":"boolean"}}},"dataAsFloats":{"type":"array","items":{"type":"number","format":"float"}},"dataAsChars":{"type":"array","items":{"type":"string"}},"dataAsLongs":{"type":"array","items":{"type":"integer","format":"int64"}},"dataAsTabbedStrings":{"type":"array","items":{"type":"string"}}}},"Statement":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"category":{"type":"string","nullable":true},"categoryUri":{"type":"string","nullable":true},"evidenceCode":{"type":"string","enum":["IC","IDA","IEA","IEP","IGI","IMP","IPI","ISS","NAS","ND","RCA","TAS","NR","EXP","ISA","ISM","IGC","ISO","IIA","IBA","IBD","IKR","IRD","IMR","IED","IAGP","IPM","QTM","HDA","HEP","HGI","HMP","HTP","OTHER"]},"originalValue":{"type":"string","nullable":true},"value":{"type":"string"},"valueUri":{"type":"string","nullable":true},"migratedToStatement":{"type":"boolean"},"supportingEvidence":{"type":"string","nullable":true},"predicate":{"type":"string","nullable":true},"predicateUri":{"type":"string","nullable":true},"object":{"type":"string","nullable":true},"objectUri":{"type":"string","nullable":true},"secondPredicate":{"type":"string","nullable":true},"secondPredicateUri":{"type":"string","nullable":true},"secondObject":{"type":"string","nullable":true},"secondObjectUri":{"type":"string","nullable":true},"subject":{"type":"string"},"subjectUri":{"type":"string"},"numberOfStatements":{"type":"integer","format":"int32"}}},"Taxon":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"scientificName":{"type":"string","nullable":true},"commonName":{"type":"string","nullable":true},"ncbiId":{"type":"integer","format":"int32","nullable":true},"isGenesUsable":{"type":"boolean"},"secondaryNcbiId":{"type":"integer","format":"int32","nullable":true},"externalDatabase":{"$ref":"#/components/schemas/ExternalDatabase"}}},"Treatment":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"orderApplied":{"type":"integer","format":"int32"}}},"Unit":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"unitNameCV":{"type":"string"}}},"User":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"email":{"type":"string"},"lastName":{"type":"string"},"userName":{"type":"string"},"password":{"type":"string"},"passwordHint":{"type":"string"},"enabled":{"type":"boolean"},"signupToken":{"type":"string"},"signupTokenDatestamp":{"type":"string","format":"date-time"},"deletedAt":{"type":"string","format":"date-time"},"deletedBy":{"type":"string"},"jobs":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/JobInfo"}},"groups":{"type":"array","items":{"$ref":"#/components/schemas/UserGroup"}},"fullName":{"type":"string"}},"nullable":true},"UserGroup":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"auditTrail":{"$ref":"#/components/schemas/AuditTrail"},"groupMembers":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/User"}},"authorities":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/GroupAuthority"}}}},"WellComposedWarning":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"},"location":{"type":"string","nullable":true},"locationType":{"type":"string","nullable":true,"enum":["HEADERS","QUERY","BODY"]}}},"ResponseDataObjectBoolean":{"type":"object","properties":{"data":{"type":"boolean"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectListPipelineJobEvent":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PipelineJobEvent"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectListPipelineJobBatch":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PipelineJobBatch"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectListString":{"type":"object","properties":{"data":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"SubmitBatchRequest":{"type":"object","properties":{"pipeline":{"type":"string"},"experimentIds":{"type":"array","items":{"type":"integer","format":"int64"}},"paramsJson":{"type":"string"},"note":{"type":"string"}}},"ResponseDataObject":{"type":"object","properties":{"data":{"type":"object"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"BuildInfoValueObject":{"type":"object","properties":{"version":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"gitHash":{"type":"string"}}},"ResponseErrorObject":{"type":"object","properties":{"apiVersion":{"type":"string"},"buildInfo":{"$ref":"#/components/schemas/BuildInfoValueObject"},"error":{"$ref":"#/components/schemas/WellComposedErrorBody"}}},"WellComposedError":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"},"location":{"type":"string","nullable":true},"locationType":{"type":"string","nullable":true,"enum":["HEADERS","QUERY","BODY"]}}},"WellComposedErrorBody":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedError"}}}},"BlacklistRequest":{"type":"object","properties":{"accession":{"type":"string"},"reason":{"type":"string"}},"nullable":true},"CreateUserRequest":{"type":"object","properties":{"username":{"type":"string"},"email":{"type":"string"},"isAdmin":{"type":"boolean"}}},"CacheListResponse":{"type":"object","properties":{"count":{"type":"integer","format":"int32"},"names":{"type":"array","items":{"type":"string"}},"caches":{"type":"array","items":{"$ref":"#/components/schemas/CacheStatRow"}}}},"CacheStatRow":{"type":"object","properties":{"name":{"type":"string"},"hits":{"type":"integer","format":"int64","nullable":true},"misses":{"type":"integer","format":"int64","nullable":true},"gets":{"type":"integer","format":"int64","nullable":true},"puts":{"type":"integer","format":"int64","nullable":true},"removals":{"type":"integer","format":"int64","nullable":true},"evictions":{"type":"integer","format":"int64","nullable":true},"hitPercentage":{"type":"number","format":"float","nullable":true}}},"ResponseDataObjectCacheListResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CacheListResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"CurationAgentHealthResponse":{"type":"object","properties":{"status":{"type":"string"},"url":{"type":"string","nullable":true},"timeoutMillis":{"type":"integer","format":"int32"},"latencyMillis":{"type":"integer","format":"int64"},"httpStatus":{"type":"integer","format":"int32","nullable":true},"error":{"type":"string","nullable":true}}},"ResponseDataObjectCurationAgentHealthResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CurationAgentHealthResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"AgentRunsBlock":{"type":"object","properties":{"distinctRunIds":{"type":"integer","format":"int64"},"lastRanAt":{"type":"string","format":"date-time","nullable":true}}},"CurationStatusResponse":{"type":"object","properties":{"proposals":{"$ref":"#/components/schemas/ProposalsBlock"},"tickets":{"$ref":"#/components/schemas/TicketsBlock"},"agentRuns":{"$ref":"#/components/schemas/AgentRunsBlock"}}},"ProposalsBlock":{"type":"object","properties":{"totalLast24h":{"type":"integer","format":"int64"},"totalLast7d":{"type":"integer","format":"int64"},"byRole":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}}}},"ResponseDataObjectCurationStatusResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CurationStatusResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"TicketsBlock":{"type":"object","properties":{"openCountByType":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"openCount":{"type":"integer","format":"int64"},"oldestOpenAgeDays":{"type":"integer","format":"int64","nullable":true}}},"HibernateStatsResponse":{"type":"object","properties":{"statisticsEnabled":{"type":"boolean"},"startTime":{"type":"string","format":"date-time"},"sessionOpenCount":{"type":"integer","format":"int64"},"sessionCloseCount":{"type":"integer","format":"int64"},"transactionCount":{"type":"integer","format":"int64"},"flushCount":{"type":"integer","format":"int64"},"prepareStatementCount":{"type":"integer","format":"int64"},"queryExecutionCount":{"type":"integer","format":"int64"},"queryExecutionMaxTimeMillis":{"type":"integer","format":"int64"},"queryExecutionMaxTimeQuery":{"type":"string","nullable":true},"queryCacheHitCount":{"type":"integer","format":"int64"},"queryCacheMissCount":{"type":"integer","format":"int64"},"queryCachePutCount":{"type":"integer","format":"int64"},"secondLevelCacheHitCount":{"type":"integer","format":"int64"},"secondLevelCacheMissCount":{"type":"integer","format":"int64"},"secondLevelCachePutCount":{"type":"integer","format":"int64"}}},"ResponseDataObjectHibernateStatsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/HibernateStatsResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"JobsListResponse":{"type":"object","properties":{"total":{"type":"integer","format":"int32"},"queued":{"type":"integer","format":"int32"},"running":{"type":"integer","format":"int32"},"completed":{"type":"integer","format":"int32"},"failed":{"type":"integer","format":"int32"},"cancelling":{"type":"integer","format":"int32"},"unknown":{"type":"integer","format":"int32"},"tasks":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusValueObject"}}}},"ResponseDataObjectJobsListResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/JobsListResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"TaskError":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"exceptionType":{"type":"string"},"existingExperimentId":{"type":"integer","format":"int64","nullable":true}},"nullable":true},"TaskStatusValueObject":{"type":"object","properties":{"taskId":{"type":"string"},"experimentId":{"type":"integer","format":"int64","nullable":true},"step":{"type":"string","nullable":true},"status":{"type":"string"},"submittedAt":{"type":"string","format":"date-time","nullable":true},"startedAt":{"type":"string","format":"date-time","nullable":true},"completedAt":{"type":"string","format":"date-time","nullable":true},"message":{"type":"string"},"error":{"$ref":"#/components/schemas/TaskError"}}},"GeoScrapeWatermarkValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"scannedAt":{"type":"string","format":"date-time"},"scanFrom":{"type":"string","format":"date-time","nullable":true},"scanTo":{"type":"string","format":"date-time","nullable":true},"recordsScanned":{"type":"integer","format":"int32"},"recordsMatched":{"type":"integer","format":"int32"},"criteriaApplied":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"errorMessage":{"type":"string","nullable":true}}},"ResponseDataObjectGeoScrapeWatermarkValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GeoScrapeWatermarkValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"OntologiesResponse":{"type":"object","properties":{"count":{"type":"integer","format":"int32"},"enabledCount":{"type":"integer","format":"int32"},"loadedCount":{"type":"integer","format":"int32"},"initializingCount":{"type":"integer","format":"int32"},"ontologies":{"type":"array","items":{"$ref":"#/components/schemas/OntologyStatusValueObject"}}}},"OntologyStatusValueObject":{"type":"object","properties":{"className":{"type":"string"},"identifier":{"type":"string"},"acceptedNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"enabled":{"type":"boolean","nullable":true},"loaded":{"type":"boolean","nullable":true},"initializing":{"type":"boolean","nullable":true},"initializationCancelled":{"type":"boolean","nullable":true},"inferenceMode":{"type":"string","nullable":true},"languageLevel":{"type":"string","nullable":true},"searchEnabled":{"type":"boolean","nullable":true},"processImports":{"type":"boolean","nullable":true},"termCount":{"type":"integer","format":"int64","nullable":true},"slimmable":{"type":"boolean","nullable":true},"error":{"type":"string","nullable":true}}},"ResponseDataObjectOntologiesResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OntologiesResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"IndexStatusValueObject":{"type":"object","properties":{"entityName":{"type":"string"},"className":{"type":"string"},"indexName":{"type":"string"},"indexPath":{"type":"string","nullable":true},"exists":{"type":"boolean","nullable":true},"documentCount":{"type":"integer","format":"int64"},"lastModified":{"type":"string","format":"date-time","nullable":true},"error":{"type":"string","nullable":true}}},"ResponseDataObjectSearchIndicesResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SearchIndicesResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"SearchIndicesResponse":{"type":"object","properties":{"indexBase":{"type":"string","nullable":true},"count":{"type":"integer","format":"int32"},"totalDocumentCount":{"type":"integer","format":"int64"},"totalDocumentCountExact":{"type":"boolean"},"indices":{"type":"array","items":{"$ref":"#/components/schemas/IndexStatusValueObject"}}}},"ResponseDataObjectSessionsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SessionsResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"SessionPrincipalValueObject":{"type":"object","properties":{"username":{"type":"string"},"sessionCount":{"type":"integer","format":"int32"},"lastRequest":{"type":"string","format":"date-time","nullable":true},"authorities":{"type":"array","nullable":true,"items":{"type":"string"}}}},"SessionsResponse":{"type":"object","properties":{"authenticatedUserCount":{"type":"integer","format":"int32"},"activeSessionCount":{"type":"integer","format":"int32"},"principals":{"type":"array","items":{"$ref":"#/components/schemas/SessionPrincipalValueObject"}}}},"MemoryBlock":{"type":"object","properties":{"usedBytes":{"type":"integer","format":"int64"},"committedBytes":{"type":"integer","format":"int64"},"maxBytes":{"type":"integer","format":"int64"}}},"ResponseDataObjectSystemSnapshotResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SystemSnapshotResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"SystemSnapshotResponse":{"type":"object","properties":{"heap":{"$ref":"#/components/schemas/MemoryBlock"},"nonHeap":{"$ref":"#/components/schemas/MemoryBlock"},"threads":{"$ref":"#/components/schemas/ThreadBlock"},"startTimeMillis":{"type":"integer","format":"int64"},"uptimeMillis":{"type":"integer","format":"int64"},"osName":{"type":"string"},"osVersion":{"type":"string"},"osArch":{"type":"string"},"availableProcessors":{"type":"integer","format":"int32"},"systemLoadAverage":{"type":"number","format":"double"}}},"ThreadBlock":{"type":"object","properties":{"liveCount":{"type":"integer","format":"int32"},"daemonCount":{"type":"integer","format":"int32"},"peakCount":{"type":"integer","format":"int32"}}},"ResponseDataObjectUsersListResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UsersListResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"UserValueObject":{"type":"object","properties":{"userName":{"type":"string"},"email":{"type":"string"},"enabled":{"type":"boolean"},"group":{"type":"string","nullable":true},"authorities":{"type":"array","items":{"type":"string"}}}},"UsersListResponse":{"type":"object","properties":{"total":{"type":"integer","format":"int32"},"enabledCount":{"type":"integer","format":"int32"},"pendingSignupCount":{"type":"integer","format":"int32"},"deletedCount":{"type":"integer","format":"int32"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserValueObject"}}}},"GeoGrabResponse":{"type":"object","properties":{"requestedCount":{"type":"integer","format":"int32"},"returnedCount":{"type":"integer","format":"int32"},"records":{"type":"array","items":{"$ref":"#/components/schemas/GeoRecordValueObject"}}}},"GeoRecordValueObject":{"type":"object","properties":{"geoAccession":{"type":"string"},"title":{"type":"string","nullable":true},"summary":{"type":"string","nullable":true},"overallDesign":{"type":"string","nullable":true},"organisms":{"type":"array","nullable":true,"items":{"type":"string"}},"platform":{"type":"string","nullable":true},"releaseDate":{"type":"string","format":"date-time","nullable":true},"seriesType":{"type":"string","nullable":true},"numSamples":{"type":"integer","format":"int32"},"subSeries":{"type":"boolean"},"subSeriesOf":{"type":"string","nullable":true},"superSeries":{"type":"boolean"},"pubMedIds":{"type":"array","nullable":true,"items":{"type":"string"}},"meshHeadings":{"type":"array","nullable":true,"items":{"type":"string"}},"libraryStrategy":{"type":"string","nullable":true},"librarySource":{"type":"string","nullable":true},"sampleDetails":{"type":"string","nullable":true},"contactName":{"type":"string","nullable":true}}},"ResponseDataObjectGeoGrabResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GeoGrabResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"GeoGrabRequest":{"type":"object","properties":{"accessions":{"type":"array","items":{"type":"string"}}}},"ImportGeoBatchRequest":{"type":"object","properties":{"accessions":{"type":"array","items":{"type":"string"}},"arrayDesignName":{"type":"string","nullable":true},"loadPlatformOnly":{"type":"boolean","nullable":true},"suppressMatching":{"type":"boolean","nullable":true},"splitByPlatform":{"type":"boolean","nullable":true},"aggressiveQtRemoval":{"type":"boolean","nullable":true},"allowSuperSeriesLoad":{"type":"boolean","nullable":true},"allowArrayExpressDesign":{"type":"boolean","nullable":true},"isArrayExpress":{"type":"boolean","nullable":true}},"nullable":true},"BlacklistListResponse":{"type":"object","properties":{"total":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"offset":{"type":"integer","format":"int32"},"count":{"type":"integer","format":"int32"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/BlacklistedValueObject"}}}},"BlacklistedValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"accession":{"type":"string"},"externalDatabase":{"$ref":"#/components/schemas/ExternalDatabaseValueObject"},"name":{"type":"string"},"reason":{"type":"string"},"shortName":{"type":"string"},"type":{"type":"string"}}},"ExternalDatabaseValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string"},"uri":{"type":"string"},"releaseVersion":{"type":"string","nullable":true},"releaseUrl":{"type":"string","format":"url","nullable":true},"lastUpdated":{"type":"string","format":"date-time","nullable":true},"externalDatabases":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/ExternalDatabaseValueObject"}}}},"ResponseDataObjectBlacklistListResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BlacklistListResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectUserValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"UpdateUserRequest":{"type":"object","properties":{"enabled":{"type":"boolean","nullable":true},"isAdmin":{"type":"boolean","nullable":true}}},"ResetPasswordResponse":{"type":"object","properties":{"temporaryPassword":{"type":"string"},"warning":{"type":"string"}}},"ResponseDataObjectResetPasswordResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResetPasswordResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"GeoScrapeRequest":{"type":"object","properties":{"since":{"type":"string","format":"date-time","nullable":true},"until":{"type":"string","format":"date-time","nullable":true},"maxRecords":{"type":"integer","format":"int32","nullable":true},"criteria":{"type":"array","nullable":true,"items":{"type":"string"}},"dryRun":{"type":"boolean","nullable":true}},"nullable":true},"TaxonArg":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical taxon identifier.","format":"int64"},{"type":"integer","description":"An NCBI taxon identifier.","format":"int64","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/taxonomy"}},{"type":"string","description":"A taxon identifier that matches either its scientific or common name."}]},"ResponseDataObjectLong":{"type":"object","properties":{"data":{"type":"integer","format":"int64"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"FilterArgExpressionAnalysisResultSet":{"type":"string","description":"Filter results by matching the expression. The exact syntax is described in the attached external documentation. The filter value may be compressed with gzip and encoded with base64.\n\nAvailable properties:\n\n- analysis\\.description `string`\n- analysis\\.experimentAnalyzed\\.description `string`\n- analysis\\.experimentAnalyzed\\.id `integer`\n- analysis\\.experimentAnalyzed\\.name `string`\n- analysis\\.experimentAnalyzed\\.sourceMetadata `string`\n- analysis\\.experimentAnalyzed\\.sourceMetadataSchemaVersion `integer`\n- analysis\\.experimentAnalyzed\\.workflowState `string` \\(possible values\\: Discovery\\, Candidate\\, Preboarded\\, Loaded\\, Curate\\, Process\\, Audit\\, Public\\)\n- analysis\\.experimentAnalyzed\\.workflowStateEnteredAt `string`\n- analysis\\.id `integer`\n- analysis\\.numberOfElementsAnalyzed `integer`\n- analysis\\.resultSets\\.size `integer`\n- analysis\\.subsetFactorValue\\.characteristics\\.category `string`\n- analysis\\.subsetFactorValue\\.characteristics\\.categoryUri `string`\n- analysis\\.subsetFactorValue\\.characteristics\\.description `string`\n- analysis\\.subsetFactorValue\\.characteristics\\.evidenceCode `string` \\(possible values\\: IC\\, IDA\\, IEA\\, IEP\\, IGI\\, IMP\\, IPI\\, ISS\\, NAS\\, ND\\, RCA\\, TAS\\, NR\\, EXP\\, ISA\\, ISM\\, IGC\\, ISO\\, IIA\\, IBA\\, IBD\\, IKR\\, IRD\\, IMR\\, IED\\, IAGP\\, IPM\\, QTM\\, HDA\\, HEP\\, HGI\\, HMP\\, HTP\\, OTHER\\)\n- analysis\\.subsetFactorValue\\.characteristics\\.id `integer`\n- analysis\\.subsetFactorValue\\.characteristics\\.name `string`\n- analysis\\.subsetFactorValue\\.characteristics\\.size `integer`\n- analysis\\.subsetFactorValue\\.characteristics\\.supportingEvidence `string`\n- analysis\\.subsetFactorValue\\.characteristics\\.value `string`\n- analysis\\.subsetFactorValue\\.characteristics\\.valueUri `string`\n- analysis\\.subsetFactorValue\\.id `integer`\n- baselineGroup\\.characteristics\\.category `string`\n- baselineGroup\\.characteristics\\.categoryUri `string`\n- baselineGroup\\.characteristics\\.description `string`\n- baselineGroup\\.characteristics\\.evidenceCode `string` \\(possible values\\: IC\\, IDA\\, IEA\\, IEP\\, IGI\\, IMP\\, IPI\\, ISS\\, NAS\\, ND\\, RCA\\, TAS\\, NR\\, EXP\\, ISA\\, ISM\\, IGC\\, ISO\\, IIA\\, IBA\\, IBD\\, IKR\\, IRD\\, IMR\\, IED\\, IAGP\\, IPM\\, QTM\\, HDA\\, HEP\\, HGI\\, HMP\\, HTP\\, OTHER\\)\n- baselineGroup\\.characteristics\\.id `integer`\n- baselineGroup\\.characteristics\\.name `string`\n- baselineGroup\\.characteristics\\.size `integer`\n- baselineGroup\\.characteristics\\.supportingEvidence `string`\n- baselineGroup\\.characteristics\\.value `string`\n- baselineGroup\\.characteristics\\.valueUri `string`\n- baselineGroup\\.experimentalFactor\\.baselineRelevance `string`\n- baselineGroup\\.experimentalFactor\\.baselineRelevanceReason `string`\n- baselineGroup\\.experimentalFactor\\.description `string`\n- baselineGroup\\.experimentalFactor\\.id `integer`\n- baselineGroup\\.experimentalFactor\\.name `string`\n- baselineGroup\\.experimentalFactor\\.type `string` \\(possible values\\: CONTINUOUS\\, CATEGORICAL\\)\n- baselineGroup\\.id `integer`\n- baselineGroup\\.measurement\\.id `integer`\n- baselineGroup\\.measurement\\.kindCV `string` \\(possible values\\: TIME\\, DISTANCE\\, TEMPERATURE\\, QUANTITY\\, MASS\\, VOLUME\\, CONC\\, OTHER\\, COUNT\\)\n- baselineGroup\\.measurement\\.otherKind `string`\n- baselineGroup\\.measurement\\.representation `string` \\(possible values\\: FLOAT\\, DOUBLE\\, INT\\, LONG\\, CHAR\\, BOOLEAN\\, STRING\\)\n- baselineGroup\\.measurement\\.type `string` \\(possible values\\: ABSOLUTE\\, CHANGE\\)\n- baselineGroup\\.measurement\\.value `string`\n- id `integer`\n- numberOfGenesTested `integer`\n- numberOfProbesTested `integer`\n- results\\.size `integer`","externalDocs":{"url":"https://gemma.msl.ubc.ca/resources/apidocs/ubic/gemma/rest/util/args/FilterArg.html"},"x-gemma-filterable-properties":[{"name":"analysis.description","type":"string"},{"name":"analysis.experimentAnalyzed.description","type":"string"},{"name":"analysis.experimentAnalyzed.id","type":"integer"},{"name":"analysis.experimentAnalyzed.name","type":"string"},{"name":"analysis.experimentAnalyzed.sourceMetadata","type":"string"},{"name":"analysis.experimentAnalyzed.sourceMetadataSchemaVersion","type":"integer"},{"name":"analysis.experimentAnalyzed.workflowState","type":"string","allowedValues":[{"value":"Discovery","label":"Discovery"},{"value":"Candidate","label":"Candidate"},{"value":"Preboarded","label":"Preboarded"},{"value":"Loaded","label":"Loaded"},{"value":"Curate","label":"Curate"},{"value":"Process","label":"Process"},{"value":"Audit","label":"Audit"},{"value":"Public","label":"Public"}]},{"name":"analysis.experimentAnalyzed.workflowStateEnteredAt","type":"string"},{"name":"analysis.id","type":"integer"},{"name":"analysis.numberOfElementsAnalyzed","type":"integer"},{"name":"analysis.resultSets.size","type":"integer"},{"name":"analysis.subsetFactorValue.characteristics.category","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.categoryUri","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.description","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.evidenceCode","type":"string","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"analysis.subsetFactorValue.characteristics.id","type":"integer"},{"name":"analysis.subsetFactorValue.characteristics.name","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.size","type":"integer"},{"name":"analysis.subsetFactorValue.characteristics.supportingEvidence","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.value","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.valueUri","type":"string"},{"name":"analysis.subsetFactorValue.id","type":"integer"},{"name":"baselineGroup.characteristics.category","type":"string"},{"name":"baselineGroup.characteristics.categoryUri","type":"string"},{"name":"baselineGroup.characteristics.description","type":"string"},{"name":"baselineGroup.characteristics.evidenceCode","type":"string","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"baselineGroup.characteristics.id","type":"integer"},{"name":"baselineGroup.characteristics.name","type":"string"},{"name":"baselineGroup.characteristics.size","type":"integer"},{"name":"baselineGroup.characteristics.supportingEvidence","type":"string"},{"name":"baselineGroup.characteristics.value","type":"string"},{"name":"baselineGroup.characteristics.valueUri","type":"string"},{"name":"baselineGroup.experimentalFactor.baselineRelevance","type":"string"},{"name":"baselineGroup.experimentalFactor.baselineRelevanceReason","type":"string"},{"name":"baselineGroup.experimentalFactor.description","type":"string"},{"name":"baselineGroup.experimentalFactor.id","type":"integer"},{"name":"baselineGroup.experimentalFactor.name","type":"string"},{"name":"baselineGroup.experimentalFactor.type","type":"string","allowedValues":[{"value":"CONTINUOUS","label":"CONTINUOUS"},{"value":"CATEGORICAL","label":"CATEGORICAL"}]},{"name":"baselineGroup.id","type":"integer"},{"name":"baselineGroup.measurement.id","type":"integer"},{"name":"baselineGroup.measurement.kindCV","type":"string","allowedValues":[{"value":"TIME","label":"Time"},{"value":"DISTANCE","label":"Distance"},{"value":"TEMPERATURE","label":"Temperature"},{"value":"QUANTITY","label":"Quantity"},{"value":"MASS","label":"Mass"},{"value":"VOLUME","label":"Volume"},{"value":"CONC","label":"Concentration"},{"value":"OTHER","label":"Other"},{"value":"COUNT","label":"Count"}]},{"name":"baselineGroup.measurement.otherKind","type":"string"},{"name":"baselineGroup.measurement.representation","type":"string","allowedValues":[{"value":"FLOAT","label":"FLOAT"},{"value":"DOUBLE","label":"Double"},{"value":"INT","label":"Integer"},{"value":"LONG","label":"Long"},{"value":"CHAR","label":"Character"},{"value":"BOOLEAN","label":"Boolean"},{"value":"STRING","label":"String"}]},{"name":"baselineGroup.measurement.type","type":"string","allowedValues":[{"value":"ABSOLUTE","label":"Absolute"},{"value":"CHANGE","label":"Change"}]},{"name":"baselineGroup.measurement.value","type":"string"},{"name":"id","type":"integer"},{"name":"numberOfGenesTested","type":"integer"},{"name":"numberOfProbesTested","type":"integer"},{"name":"results.size","type":"integer"}]},"Bin":{"type":"object","properties":{"lo":{"type":"number","description":"Lower edge of the bin (inclusive).","format":"double"},"hi":{"type":"number","description":"Upper edge of the bin (exclusive, except for the last bin which is inclusive).","format":"double"},"count":{"type":"integer","description":"Number of p-values that fell into this bin.","format":"int64"}},"description":"A single histogram bin: half-open range [lo, hi) (the last bin is closed on the right)."},"PvalueDistributionResponseDataObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PvalueDistributionValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"PvalueDistributionValueObject":{"type":"object","properties":{"resultSetId":{"type":"integer","description":"Result set identifier.","format":"int64"},"column":{"type":"string","description":"Which p-value column was binned: 'raw' (PVALUE) or 'corrected' (CORRECTED_PVALUE).","enum":["raw","corrected"]},"n":{"type":"integer","description":"Total number of non-null p-values across all bins.","format":"int64"},"bins":{"type":"array","description":"Bin counts; length equals the requested `bins`. Bin i covers [i/bins, (i+1)/bins), with the last bin closed on the right so values exactly equal to 1.0 fall in the final bin.","items":{"$ref":"#/components/schemas/Bin"}}},"description":"Binned p-value histogram for a differential-expression result set."},"ArrayDesignValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"lastUpdated":{"type":"string","format":"date-time","nullable":true},"troubled":{"type":"boolean"},"lastTroubledEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"needsAttention":{"type":"boolean"},"lastNeedsAttentionEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"curationNote":{"type":"string"},"lastNoteUpdateEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"color":{"type":"string","enum":["TWOCOLOR","DUALMODE","ONECOLOR","SEQUENCING","GENELIST","OTHER"]},"description":{"type":"string"},"expressionExperimentCount":{"type":"integer","format":"int64"},"isMerged":{"type":"boolean"},"isMergee":{"type":"boolean"},"name":{"type":"string"},"shortName":{"type":"string"},"technologyType":{"type":"string","enum":["TWOCOLOR","DUALMODE","ONECOLOR","SEQUENCING","GENELIST","OTHER"]},"releaseVersion":{"type":"string","nullable":true},"releaseUrl":{"type":"string","format":"url","nullable":true},"externalReferences":{"uniqueItems":true,"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/DatabaseEntryValueObject"}},"numberOfExpressionExperiments":{"type":"integer","format":"int64"},"taxonID":{"type":"integer","format":"int64"},"troubleDetails":{"type":"string"},"numberOfSwitchedExpressionExperiments":{"type":"integer","format":"int64"},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"}},"nullable":true},"AuditEventValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"performer":{"type":"string"},"date":{"type":"string","format":"date-time"},"action":{"type":"string","enum":["C","R","U","D"]},"note":{"type":"string"},"detail":{"type":"string"},"actionName":{"type":"string"},"eventTypeName":{"type":"string"}}},"BioAssayValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"shortName":{"type":"string","nullable":true},"name":{"type":"string"},"description":{"type":"string"},"metadata":{"type":"string"},"accession":{"$ref":"#/components/schemas/DatabaseEntryValueObject"},"arrayDesign":{"$ref":"#/components/schemas/ArrayDesignValueObject"},"originalPlatform":{"$ref":"#/components/schemas/ArrayDesignValueObject"},"processingDate":{"type":"string","format":"date-time"},"sample":{"$ref":"#/components/schemas/BioMaterialValueObject"},"sequencePairedReads":{"type":"boolean"},"sequenceReadCount":{"type":"integer","format":"int64"},"sequenceReadLength":{"type":"integer","format":"int32"},"numberOfCells":{"type":"integer","format":"int32","nullable":true},"numberOfDesignElements":{"type":"integer","format":"int32","nullable":true},"numberOfCellsByDesignElements":{"type":"integer","format":"int32","nullable":true},"outlier":{"type":"boolean"},"predictedOutlier":{"type":"boolean"},"userFlaggedOutlier":{"type":"boolean"},"sourceBioAssayId":{"type":"integer","format":"int64","nullable":true}}},"BioMaterialValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string"},"bioAssayIds":{"type":"array","items":{"type":"integer","format":"int64"}},"characteristics":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"sourceBioMaterialId":{"type":"integer","format":"int64","nullable":true},"factors":{"type":"object","additionalProperties":{"type":"string","description":"This is deprecated, use the `factorValues` collection instead.","deprecated":true},"description":"This is deprecated, use the `factorValues` collection instead.","deprecated":true},"fvbasicVOs":{"type":"array","items":{"$ref":"#/components/schemas/FactorValueBasicValueObject"}},"factorValueObjects":{"type":"array","description":"This property is redundant, use `factorValues` instead.","deprecated":true,"items":{"$ref":"#/components/schemas/FactorValueBasicValueObject"}},"factorValues":{"type":"array","items":{"$ref":"#/components/schemas/FactorValueBasicValueObject"}}}},"CharacteristicValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"category":{"type":"string"},"categoryUri":{"type":"string"},"value":{"type":"string"},"valueUri":{"type":"string"},"originalValue":{"type":"string"},"valueId":{"type":"string"}}},"ContrastResultValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"pvalue":{"type":"number","format":"double","nullable":true},"coefficient":{"type":"number","format":"double","nullable":true},"logFoldChange":{"type":"number","format":"double","nullable":true},"factorValueId":{"type":"integer","description":"This property is mutually exclusive with `factorValue`.","format":"int64"},"factorValue":{"$ref":"#/components/schemas/FactorValueBasicValueObject"},"secondFactorValueId":{"type":"integer","description":"This property is mutually exclusive with `secondFactorValue`.","format":"int64"},"secondFactorValue":{"$ref":"#/components/schemas/FactorValueBasicValueObject"},"tstat":{"type":"number","format":"double","nullable":true}}},"DatabaseEntryValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"accession":{"type":"string"},"uri":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"externalDatabase":{"$ref":"#/components/schemas/ExternalDatabaseValueObject"}}},"DiffExResultSetSummaryValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"arrayDesignsUsed":{"type":"array","items":{"type":"integer","format":"int64"}},"baselineGroup":{"$ref":"#/components/schemas/FactorValueValueObject"},"experimentalFactors":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentalFactorValueObject"}},"bioAssaysAnalyzed":{"type":"array","items":{"$ref":"#/components/schemas/BioAssayValueObject"}},"numberOfGenesAnalyzed":{"type":"integer","format":"int32"},"numberOfProbesAnalyzed":{"type":"integer","format":"int32"},"threshold":{"type":"number","format":"double"},"numberOfDiffExpressedProbes":{"type":"integer","format":"int32"},"upregulatedCount":{"type":"integer","format":"int32"},"downregulatedCount":{"type":"integer","format":"int32"},"qvalue":{"type":"number","format":"double"},"numberOfUpregulatedProbes":{"type":"integer","format":"int32"},"numberOfDownregulatedProbes":{"type":"integer","format":"int32"}}},"DifferentialExpressionAnalysisResultSetValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"analysis":{"$ref":"#/components/schemas/DifferentialExpressionAnalysisValueObject"},"experimentalFactors":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentalFactorValueObject"}},"baselineGroup":{"$ref":"#/components/schemas/FactorValueBasicValueObject"},"secondBaselineGroup":{"$ref":"#/components/schemas/FactorValueBasicValueObject"},"taxa":{"uniqueItems":true,"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/TaxonValueObject"}},"results":{"type":"array","items":{"$ref":"#/components/schemas/DifferentialExpressionAnalysisResultValueObject"}}}},"DifferentialExpressionAnalysisResultValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"resultSetId":{"type":"integer","format":"int64"},"probeId":{"type":"integer","format":"int64"},"probeName":{"type":"string"},"genes":{"type":"array","items":{"$ref":"#/components/schemas/GeneValueObject"}},"correctedPvalue":{"type":"number","format":"double","nullable":true},"rank":{"type":"number","format":"double","nullable":true},"contrasts":{"type":"array","items":{"$ref":"#/components/schemas/ContrastResultValueObject"}},"pvalue":{"type":"number","format":"double","nullable":true}}},"DifferentialExpressionAnalysisValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"protocol":{"$ref":"#/components/schemas/ProtocolValueObject"},"factorValuesUsed":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/FactorValueValueObject"}}},"resultSets":{"type":"array","items":{"$ref":"#/components/schemas/DiffExResultSetSummaryValueObject"}},"arrayDesignsUsed":{"type":"array","items":{"type":"integer","format":"int64"}},"experimentAnalyzedId":{"type":"integer","format":"int64"},"bioAssaysAnalyzed":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/BioAssayValueObject"}},"sourceExperimentId":{"type":"integer","format":"int64"},"subsetFactor":{"$ref":"#/components/schemas/ExperimentalFactorValueObject"},"subsetFactorId":{"type":"integer","format":"int64"},"subsetFactorValue":{"$ref":"#/components/schemas/FactorValueValueObject"},"subsetFactorValueId":{"type":"integer","description":"This property is mutually exclusive with `subsetFactorValue`.","format":"int64"},"sourceExperiment":{"type":"integer","description":"This is deprecated, use sourceExperimentId instead.","format":"int64","deprecated":true},"factorValuesUsedByExperimentalFactorId":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/FactorValueValueObject"}}},"bioAssaySetId":{"type":"integer","description":"This is deprecated, use experimentAnalyzedId instead.","format":"int64","deprecated":true},"isSubset":{"type":"boolean","description":"Indicate if this analysis is a subset of another experiment. if this is set, additional fields relevant to the subset will be populated."}}},"ExperimentalFactorValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["categorical","continuous"]},"category":{"type":"string"},"categoryUri":{"type":"string"},"baselineRelevance":{"type":"string","description":"Curator/agent baseline-relevance hint: \"required\" | \"not_applicable\" | \"uncertain\"; null when unset.","nullable":true,"enum":["required","not_applicable","uncertain"]},"baselineRelevanceReason":{"type":"string","nullable":true},"factorValues":{"type":"string","description":"This is deprecated, use `values` directly instead.","nullable":true,"deprecated":true},"values":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/FactorValueValueObject"}}}},"FactorValueBasicValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"ontologyId":{"type":"string"},"experimentalFactorId":{"type":"integer","description":"This property is not filled if rendered within an ExperimentalFactorValueObject.","format":"int64"},"experimentalFactorType":{"type":"string","description":"This property is not filled if rendered within an ExperimentalFactorValueObject.","enum":["categorical","continuous"]},"experimentalFactorCategory":{"$ref":"#/components/schemas/CharacteristicValueObject"},"characteristics":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"statements":{"type":"array","items":{"$ref":"#/components/schemas/StatementValueObject"}},"summary":{"type":"string"},"value":{"type":"string","description":"Use `summary` if you need a human-readable representation of this factor value or lookup the `characteristics` bag.","deprecated":true},"measurement":{"$ref":"#/components/schemas/MeasurementValueObject"},"isBaseline":{"type":"boolean"},"isMeasurement":{"type":"boolean","description":"Indicate if this factor value represents a measurement. When this is true, the `measurement` field will be populated.","readOnly":true}}},"FactorValueValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"ontologyId":{"type":"string"},"experimentalFactorId":{"type":"integer","description":"This property is not filled if rendered within an ExperimentalFactorValueObject.","format":"int64"},"experimentalFactorType":{"type":"string","description":"This property is not filled if rendered within an ExperimentalFactorValueObject.","enum":["categorical","continuous"]},"experimentalFactorCategory":{"$ref":"#/components/schemas/CharacteristicValueObject"},"characteristics":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"statements":{"type":"array","items":{"$ref":"#/components/schemas/StatementValueObject"}},"summary":{"type":"string"},"factorId":{"type":"integer","description":"Use `experimentalFactorId` instead.","format":"int64","deprecated":true},"category":{"type":"string","description":"Use experimentalFactorCategory.category instead.","deprecated":true},"categoryUri":{"type":"string","description":"Use experimentalFactorCategory.categoryUri instead.","deprecated":true},"factorValue":{"type":"string","description":"Use `summary` if you need a human-readable representation of this factor value or lookup the `characteristics` bag.","deprecated":true},"description":{"type":"string","description":"Use `summary` if you need a human-readable representation of this factor value or lookup the `characteristics` bag.","deprecated":true},"measurement":{"$ref":"#/components/schemas/MeasurementValueObject"},"isBaseline":{"type":"boolean"},"isMeasurement":{"type":"boolean","description":"Indicate if this factor value represents a measurement. When this is true, the `measurement` field will be populated.","readOnly":true}}},"GeneValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"aliases":{"uniqueItems":true,"type":"array","nullable":true,"items":{"type":"string"}},"associatedExperimentCount":{"type":"integer","format":"int32"},"multifunctionalityRank":{"type":"number","format":"double","nullable":true},"ncbiId":{"type":"integer","format":"int32"},"ensemblId":{"type":"string"},"accessions":{"uniqueItems":true,"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/DatabaseEntryValueObject"}},"officialName":{"type":"string"},"officialSymbol":{"type":"string"},"matchType":{"type":"string","description":"How this gene matched the search query (exact_symbol, alias, prefix, official_name, official_name_prefix, exact_identifier); present only on search results.","nullable":true},"ncbiUri":{"type":"string","description":"Synthetic ontology-style URI for this gene, derived from its NCBI gene ID. Null when no NCBI ID is available.","nullable":true},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"},"taxonId":{"type":"integer","description":"This property is mutually exclusive with `taxon`.","format":"int64"}}},"MeasurementValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"value":{"type":"string"},"unit":{"type":"string"},"type":{"type":"string","enum":["ABSOLUTE","CHANGE"]},"representation":{"type":"string","enum":["FLOAT","DOUBLE","INT","LONG","CHAR","BOOLEAN","STRING"]}},"description":"This property exists only if this factor value is a measurement."},"PaginatedResultsResponseDataObjectDifferentialExpressionAnalysisResultSetValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DifferentialExpressionAnalysisResultSetValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"filter":{"type":"string"},"sort":{"$ref":"#/components/schemas/SortValueObject"},"groupBy":{"type":"array","items":{"type":"string"}},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"}}},"ProtocolValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string"}}},"SortValueObject":{"type":"object","properties":{"orderBy":{"type":"string"},"direction":{"type":"string"}}},"StatementValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"category":{"type":"string"},"categoryUri":{"type":"string","nullable":true},"subject":{"type":"string"},"subjectUri":{"type":"string","nullable":true},"predicate":{"type":"string"},"predicateUri":{"type":"string","nullable":true},"object":{"type":"string"},"objectUri":{"type":"string","nullable":true},"subjectId":{"type":"string"},"objectId":{"type":"string"}}},"TaxonValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"scientificName":{"type":"string"},"commonName":{"type":"string"},"ncbiId":{"type":"integer","format":"int32"},"externalDatabase":{"$ref":"#/components/schemas/ExternalDatabaseValueObject"}},"description":"This property is mutually exclusive with `taxonId`."},"FilteredAndPaginatedResponseDataObject":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"}}},"FilteredAndCursorPaginatedResponseDataObject":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"limit":{"type":"integer","format":"int32"},"nextCursor":{"type":"string"},"prevCursor":{"type":"string"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"}}},"DatasetArg":{"required":["value"],"oneOf":[{"type":"integer","description":"A numerical dataset identifier.","format":"int64"},{"type":"string","description":"A dataset short name."}]},"DatabaseEntryArg":{"required":["value"],"oneOf":[{"type":"integer","description":"A database entry numerical identifier.","format":"int64"},{"type":"string","description":"A database entry name."}]},"SortArgExpressionAnalysisResultSet":{"pattern":"^(\\+|-?)(\\w+)$","type":"string","description":"Order results by the given property and direction. The '+' sign indicate ascending order whereas the '-' indicate descending. If no indicator is used, the default order is applied which is generally ascending. Nulls always appear last.\n\nAvailable properties:\n\n- analysis\\.description `string`\n- analysis\\.experimentAnalyzed\\.description `string`\n- analysis\\.experimentAnalyzed\\.id `integer`\n- analysis\\.experimentAnalyzed\\.name `string`\n- analysis\\.experimentAnalyzed\\.sourceMetadata `string`\n- analysis\\.experimentAnalyzed\\.sourceMetadataSchemaVersion `integer`\n- analysis\\.experimentAnalyzed\\.workflowState `string` \\(possible values\\: Discovery\\, Candidate\\, Preboarded\\, Loaded\\, Curate\\, Process\\, Audit\\, Public\\)\n- analysis\\.experimentAnalyzed\\.workflowStateEnteredAt `string`\n- analysis\\.id `integer`\n- analysis\\.numberOfElementsAnalyzed `integer`\n- analysis\\.subsetFactorValue\\.characteristics\\.category `string`\n- analysis\\.subsetFactorValue\\.characteristics\\.categoryUri `string`\n- analysis\\.subsetFactorValue\\.characteristics\\.description `string`\n- analysis\\.subsetFactorValue\\.characteristics\\.evidenceCode `string` \\(possible values\\: IC\\, IDA\\, IEA\\, IEP\\, IGI\\, IMP\\, IPI\\, ISS\\, NAS\\, ND\\, RCA\\, TAS\\, NR\\, EXP\\, ISA\\, ISM\\, IGC\\, ISO\\, IIA\\, IBA\\, IBD\\, IKR\\, IRD\\, IMR\\, IED\\, IAGP\\, IPM\\, QTM\\, HDA\\, HEP\\, HGI\\, HMP\\, HTP\\, OTHER\\)\n- analysis\\.subsetFactorValue\\.characteristics\\.id `integer`\n- analysis\\.subsetFactorValue\\.characteristics\\.name `string`\n- analysis\\.subsetFactorValue\\.characteristics\\.supportingEvidence `string`\n- analysis\\.subsetFactorValue\\.characteristics\\.value `string`\n- analysis\\.subsetFactorValue\\.characteristics\\.valueUri `string`\n- analysis\\.subsetFactorValue\\.id `integer`\n- baselineGroup\\.characteristics\\.category `string`\n- baselineGroup\\.characteristics\\.categoryUri `string`\n- baselineGroup\\.characteristics\\.description `string`\n- baselineGroup\\.characteristics\\.evidenceCode `string` \\(possible values\\: IC\\, IDA\\, IEA\\, IEP\\, IGI\\, IMP\\, IPI\\, ISS\\, NAS\\, ND\\, RCA\\, TAS\\, NR\\, EXP\\, ISA\\, ISM\\, IGC\\, ISO\\, IIA\\, IBA\\, IBD\\, IKR\\, IRD\\, IMR\\, IED\\, IAGP\\, IPM\\, QTM\\, HDA\\, HEP\\, HGI\\, HMP\\, HTP\\, OTHER\\)\n- baselineGroup\\.characteristics\\.id `integer`\n- baselineGroup\\.characteristics\\.name `string`\n- baselineGroup\\.characteristics\\.supportingEvidence `string`\n- baselineGroup\\.characteristics\\.value `string`\n- baselineGroup\\.characteristics\\.valueUri `string`\n- baselineGroup\\.experimentalFactor\\.baselineRelevance `string`\n- baselineGroup\\.experimentalFactor\\.baselineRelevanceReason `string`\n- baselineGroup\\.experimentalFactor\\.description `string`\n- baselineGroup\\.experimentalFactor\\.id `integer`\n- baselineGroup\\.experimentalFactor\\.name `string`\n- baselineGroup\\.experimentalFactor\\.type `string` \\(possible values\\: CONTINUOUS\\, CATEGORICAL\\)\n- baselineGroup\\.id `integer`\n- baselineGroup\\.measurement\\.id `integer`\n- baselineGroup\\.measurement\\.kindCV `string` \\(possible values\\: TIME\\, DISTANCE\\, TEMPERATURE\\, QUANTITY\\, MASS\\, VOLUME\\, CONC\\, OTHER\\, COUNT\\)\n- baselineGroup\\.measurement\\.otherKind `string`\n- baselineGroup\\.measurement\\.representation `string` \\(possible values\\: FLOAT\\, DOUBLE\\, INT\\, LONG\\, CHAR\\, BOOLEAN\\, STRING\\)\n- baselineGroup\\.measurement\\.type `string` \\(possible values\\: ABSOLUTE\\, CHANGE\\)\n- baselineGroup\\.measurement\\.value `string`\n- id `integer`\n- numberOfGenesTested `integer`\n- numberOfProbesTested `integer`","x-gemma-filterable-properties":[{"name":"analysis.description","type":"string"},{"name":"analysis.experimentAnalyzed.description","type":"string"},{"name":"analysis.experimentAnalyzed.id","type":"integer"},{"name":"analysis.experimentAnalyzed.name","type":"string"},{"name":"analysis.experimentAnalyzed.sourceMetadata","type":"string"},{"name":"analysis.experimentAnalyzed.sourceMetadataSchemaVersion","type":"integer"},{"name":"analysis.experimentAnalyzed.workflowState","type":"string","allowedValues":[{"value":"Discovery","label":"Discovery"},{"value":"Candidate","label":"Candidate"},{"value":"Preboarded","label":"Preboarded"},{"value":"Loaded","label":"Loaded"},{"value":"Curate","label":"Curate"},{"value":"Process","label":"Process"},{"value":"Audit","label":"Audit"},{"value":"Public","label":"Public"}]},{"name":"analysis.experimentAnalyzed.workflowStateEnteredAt","type":"string"},{"name":"analysis.id","type":"integer"},{"name":"analysis.numberOfElementsAnalyzed","type":"integer"},{"name":"analysis.subsetFactorValue.characteristics.category","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.categoryUri","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.description","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.evidenceCode","type":"string","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"analysis.subsetFactorValue.characteristics.id","type":"integer"},{"name":"analysis.subsetFactorValue.characteristics.name","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.supportingEvidence","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.value","type":"string"},{"name":"analysis.subsetFactorValue.characteristics.valueUri","type":"string"},{"name":"analysis.subsetFactorValue.id","type":"integer"},{"name":"baselineGroup.characteristics.category","type":"string"},{"name":"baselineGroup.characteristics.categoryUri","type":"string"},{"name":"baselineGroup.characteristics.description","type":"string"},{"name":"baselineGroup.characteristics.evidenceCode","type":"string","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"baselineGroup.characteristics.id","type":"integer"},{"name":"baselineGroup.characteristics.name","type":"string"},{"name":"baselineGroup.characteristics.supportingEvidence","type":"string"},{"name":"baselineGroup.characteristics.value","type":"string"},{"name":"baselineGroup.characteristics.valueUri","type":"string"},{"name":"baselineGroup.experimentalFactor.baselineRelevance","type":"string"},{"name":"baselineGroup.experimentalFactor.baselineRelevanceReason","type":"string"},{"name":"baselineGroup.experimentalFactor.description","type":"string"},{"name":"baselineGroup.experimentalFactor.id","type":"integer"},{"name":"baselineGroup.experimentalFactor.name","type":"string"},{"name":"baselineGroup.experimentalFactor.type","type":"string","allowedValues":[{"value":"CONTINUOUS","label":"CONTINUOUS"},{"value":"CATEGORICAL","label":"CATEGORICAL"}]},{"name":"baselineGroup.id","type":"integer"},{"name":"baselineGroup.measurement.id","type":"integer"},{"name":"baselineGroup.measurement.kindCV","type":"string","allowedValues":[{"value":"TIME","label":"Time"},{"value":"DISTANCE","label":"Distance"},{"value":"TEMPERATURE","label":"Temperature"},{"value":"QUANTITY","label":"Quantity"},{"value":"MASS","label":"Mass"},{"value":"VOLUME","label":"Volume"},{"value":"CONC","label":"Concentration"},{"value":"OTHER","label":"Other"},{"value":"COUNT","label":"Count"}]},{"name":"baselineGroup.measurement.otherKind","type":"string"},{"name":"baselineGroup.measurement.representation","type":"string","allowedValues":[{"value":"FLOAT","label":"FLOAT"},{"value":"DOUBLE","label":"Double"},{"value":"INT","label":"Integer"},{"value":"LONG","label":"Long"},{"value":"CHAR","label":"Character"},{"value":"BOOLEAN","label":"Boolean"},{"value":"STRING","label":"String"}]},{"name":"baselineGroup.measurement.type","type":"string","allowedValues":[{"value":"ABSOLUTE","label":"Absolute"},{"value":"CHANGE","label":"Change"}]},{"name":"baselineGroup.measurement.value","type":"string"},{"name":"id","type":"integer"},{"name":"numberOfGenesTested","type":"integer"},{"name":"numberOfProbesTested","type":"integer"}]},"AnnotationSetResponse":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"datasetId":{"type":"integer","format":"int64"},"role":{"type":"string"},"source":{"type":"string"},"kind":{"type":"string","nullable":true},"runId":{"type":"string"},"parentId":{"type":"integer","format":"int64","nullable":true},"createdBy":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"finalizedAt":{"type":"string","format":"date-time","nullable":true},"finalizedBy":{"type":"string","nullable":true},"agentVersion":{"type":"string","nullable":true},"model":{"type":"string","nullable":true},"ranAt":{"type":"string","format":"date-time","nullable":true},"payloadJson":{"type":"string","nullable":true},"parkedElements":{"type":"string","nullable":true}}},"ResponseDataObjectAnnotationSetResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AnnotationSetResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"AnnotationSetSummaryResponse":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"datasetId":{"type":"integer","format":"int64"},"role":{"type":"string"},"source":{"type":"string"},"kind":{"type":"string","nullable":true},"runId":{"type":"string"},"parentId":{"type":"integer","format":"int64","nullable":true},"createdBy":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"finalizedAt":{"type":"string","format":"date-time","nullable":true},"finalizedBy":{"type":"string","nullable":true},"agentVersion":{"type":"string","nullable":true},"model":{"type":"string","nullable":true},"ranAt":{"type":"string","format":"date-time","nullable":true},"payloadSize":{"type":"integer","format":"int64","nullable":true}}},"PaginatedResponseDataObjectAnnotationSetSummaryResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationSetSummaryResponse"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"}}},"AnnotationDto":{"type":"object","properties":{"category":{"type":"string","nullable":true},"categoryUri":{"type":"string","nullable":true},"value":{"type":"string","nullable":true},"valueUri":{"type":"string","nullable":true},"evidenceCode":{"type":"string","nullable":true},"predicate":{"type":"string","nullable":true},"predicateUri":{"type":"string","nullable":true},"object":{"type":"string","nullable":true},"objectUri":{"type":"string","nullable":true},"secondPredicate":{"type":"string","nullable":true},"secondPredicateUri":{"type":"string","nullable":true},"secondObject":{"type":"string","nullable":true},"secondObjectUri":{"type":"string","nullable":true}}},"AnnotationCategoryValueObject":{"type":"object","properties":{"uri":{"type":"string"},"label":{"type":"string"},"preferredPrefixes":{"type":"array","items":{"type":"string"}}}},"ResponseDataObjectListAnnotationCategoryValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationCategoryValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"OntologyTermSimpleValueObject":{"type":"object","properties":{"uri":{"type":"string"},"label":{"type":"string"}}},"ResponseDataObjectListOntologyTermSimpleValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/OntologyTermSimpleValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"LexicalTermMetadataValueObject":{"type":"object","properties":{"species":{"type":"array","items":{"$ref":"#/components/schemas/TaxonValueObject"}},"cellLineType":{"type":"string","nullable":true},"sex":{"type":"string","nullable":true},"strainType":{"type":"string","nullable":true},"problematic":{"type":"string","nullable":true}},"nullable":true},"OntologyTermSynonymValueObject":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"}}},"OntologyTermValueObject":{"type":"object","properties":{"uri":{"type":"string"},"name":{"type":"string"},"parentTerms":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/OntologyTermValueObject"}}}},"ResponseDataObjectOntologyTermValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OntologyTermValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"AnnotationSearchResultValueObject":{"type":"object","properties":{"value":{"type":"string"},"valueUri":{"type":"string"},"category":{"type":"string"},"categoryUri":{"type":"string"},"usageCount":{"type":"integer","format":"int32"},"definition":{"type":"string","nullable":true},"parents":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/OntologyTermSimpleValueObject"}},"matchedVia":{"type":"string","nullable":true},"matchedText":{"type":"string","nullable":true},"geneCount":{"type":"integer","format":"int64","nullable":true},"priorCategories":{"type":"object","additionalProperties":{"type":"integer","format":"int32"},"nullable":true},"taxonId":{"type":"integer","format":"int64","nullable":true},"taxonCommonName":{"type":"string","nullable":true},"taxonScientificName":{"type":"string","nullable":true},"exampleUsage":{"$ref":"#/components/schemas/ExampleUsageValueObject"},"priorCurationCount":{"type":"integer","format":"int64","nullable":true},"sourceMetadata":{"$ref":"#/components/schemas/LexicalTermMetadataValueObject"}}},"ExampleUsageValueObject":{"type":"object","properties":{"level":{"type":"string","nullable":true},"parentName":{"type":"string","nullable":true},"parentOfParentName":{"type":"string","nullable":true},"parentOfParentUri":{"type":"string","nullable":true},"predicate":{"type":"string","nullable":true},"predicateUri":{"type":"string","nullable":true},"object":{"type":"string","nullable":true},"objectUri":{"type":"string","nullable":true},"secondPredicate":{"type":"string","nullable":true},"secondPredicateUri":{"type":"string","nullable":true},"secondObject":{"type":"string","nullable":true},"secondObjectUri":{"type":"string","nullable":true},"sourceExperimentId":{"type":"integer","format":"int64","nullable":true}},"nullable":true},"ResponseDataObjectListAnnotationSearchResultValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationSearchResultValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"DiseaseModelEvidenceValueObject":{"type":"object","properties":{"factorValue":{"type":"integer","format":"int64"},"experimentTag":{"type":"integer","format":"int64"},"sampleCharacteristic":{"type":"integer","format":"int64"}}},"DiseaseModelInferenceValueObject":{"type":"object","properties":{"term":{"$ref":"#/components/schemas/CharacteristicValueObject"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"categories":{"type":"array","items":{"type":"string"}},"minimumSupport":{"type":"integer","format":"int32"},"minimumSpecificity":{"type":"number","format":"double"},"models":{"type":"array","items":{"$ref":"#/components/schemas/InferredDiseaseModelValueObject"}},"filter":{"type":"string"}}},"InferredDiseaseModelValueObject":{"type":"object","properties":{"value":{"type":"string"},"valueUri":{"type":"string","nullable":true},"category":{"type":"string","nullable":true},"categoryUri":{"type":"string","nullable":true},"inferredCategory":{"type":"string"},"inferredCategoryUri":{"type":"string","nullable":true},"modelOf":{"$ref":"#/components/schemas/CharacteristicValueObject"},"taxonId":{"type":"integer","format":"int64","nullable":true},"taxonCommonName":{"type":"string","nullable":true},"numberOfExperiments":{"type":"integer","format":"int64"},"numberOfExperimentsWithValue":{"type":"integer","format":"int64"},"numberOfDiseasesAttested":{"type":"integer","format":"int64"},"specificity":{"type":"number","format":"double"},"evidence":{"$ref":"#/components/schemas/DiseaseModelEvidenceValueObject"},"exampleDatasetId":{"type":"integer","format":"int64"},"filter":{"type":"string"}}},"ResponseDataObjectDiseaseModelInferenceValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DiseaseModelInferenceValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"AnnotationReplaceReport":{"type":"object","properties":{"eeId":{"type":"integer","format":"int64"},"before":{"type":"integer","format":"int32"},"after":{"type":"integer","format":"int32"},"added":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationValueObject"}},"removed":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationValueObject"}},"unchanged":{"type":"integer","format":"int32"},"auditEventIds":{"type":"array","items":{"type":"integer","format":"int64"}},"unresolvedUris":{"type":"array","items":{"type":"string"}}}},"AnnotationValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"classUri":{"type":"string"},"className":{"type":"string"},"termUri":{"type":"string"},"termName":{"type":"string"},"evidenceCode":{"type":"string","enum":["IC","IDA","IEA","IEP","IGI","IMP","IPI","ISS","NAS","ND","RCA","TAS","NR","EXP","ISA","ISM","IGC","ISO","IIA","IBA","IBD","IKR","IRD","IMR","IED","IAGP","IPM","QTM","HDA","HEP","HGI","HMP","HTP","OTHER"]},"objectClass":{"type":"string"},"predicate":{"type":"string","description":"Predicate label of a Statement-backed annotation (e.g. \"has_dose\"). Null on plain Characteristic rows.","nullable":true},"predicateUri":{"type":"string","description":"Predicate URI of a Statement-backed annotation. Null on plain Characteristic rows.","nullable":true},"object":{"type":"string","description":"Object label of a Statement-backed annotation (e.g. \"30%\"). Null on plain Characteristic rows.","nullable":true},"objectUri":{"type":"string","description":"Object URI of a Statement-backed annotation. Null on plain Characteristic rows.","nullable":true},"secondPredicate":{"type":"string","description":"Second predicate label for compound Statement annotations (e.g. \"for\" in \"HFD for 12 weeks\").","nullable":true},"secondPredicateUri":{"type":"string","description":"Second predicate URI for compound Statement annotations.","nullable":true},"secondObject":{"type":"string","description":"Second object label for compound Statement annotations (e.g. \"12 weeks\").","nullable":true},"secondObjectUri":{"type":"string","description":"Second object URI for compound Statement annotations.","nullable":true},"supportingEvidence":{"$ref":"#/components/schemas/JsonNode"}}},"JsonNode":{"type":"object","nullable":true},"ResponseDataObjectAnnotationReplaceReport":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AnnotationReplaceReport"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"AnnotationsReplaceRequest":{"type":"object","properties":{"annotations":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/AnnotationDto"}},"annotationSetId":{"type":"integer","format":"int64","nullable":true}},"nullable":true},"AnnotationSearchResponseDataObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationSearchResultValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"negativeEvidence":{"$ref":"#/components/schemas/NegativeEvidenceValueObject"},"priorCuration":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/PriorCurationValueObject"}}}},"NegativeEvidenceValueObject":{"type":"object","properties":{"query":{"type":"string"},"solidMatch":{"type":"boolean"},"ruledOut":{"type":"array","items":{"$ref":"#/components/schemas/RuledOutTermValueObject"}},"ruledOutTruncated":{"type":"boolean"}},"nullable":true},"PriorCurationValueObject":{"type":"object","properties":{"valueUri":{"type":"string"},"value":{"type":"string","nullable":true},"experimentCount":{"type":"integer","format":"int64"},"agreement":{"type":"number","format":"double"}}},"RuledOutTermValueObject":{"type":"object","properties":{"value":{"type":"string","nullable":true},"valueUri":{"type":"string","nullable":true},"matchedVia":{"type":"string","nullable":true},"reason":{"type":"string"}}},"AnnotationSearchBatchResultValueObject":{"type":"object","properties":{"query":{"type":"string","nullable":true},"category":{"type":"string","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationSearchResultValueObject"}},"error":{"type":"string","nullable":true},"negativeEvidence":{"$ref":"#/components/schemas/NegativeEvidenceValueObject"}}},"ResponseDataObjectListAnnotationSearchBatchResultValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationSearchBatchResultValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"AnnotationSearchBatchRequest":{"type":"object","properties":{"queries":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/Item"}},"rank":{"type":"string","nullable":true},"limit":{"type":"integer","format":"int32","nullable":true},"prefixes":{"type":"string","nullable":true},"exactLabel":{"type":"boolean","nullable":true},"suppressNearMatches":{"type":"boolean","nullable":true},"includeGenes":{"type":"boolean","nullable":true},"includeGeneCount":{"type":"boolean","nullable":true},"geneCountMaxTerms":{"type":"integer","format":"int32","nullable":true},"taxon":{"type":"string","nullable":true}},"nullable":true},"Item":{"type":"object","properties":{"query":{"type":"string","nullable":true},"category":{"type":"string","nullable":true}}},"ExpressionExperimentValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"lastUpdated":{"type":"string","format":"date-time"},"troubled":{"type":"boolean"},"lastTroubledEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"needsAttention":{"type":"boolean"},"lastNeedsAttentionEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"curationNote":{"type":"string"},"lastNoteUpdateEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"numberOfBioAssays":{"type":"integer","format":"int32"},"description":{"type":"string","nullable":true},"name":{"type":"string"},"accession":{"type":"string","nullable":true},"externalUri":{"type":"string","nullable":true},"externalLabel":{"type":"string","nullable":true},"externalDatabase":{"type":"string","nullable":true},"externalDatabaseUri":{"type":"string","nullable":true},"pubmedId":{"type":"string","nullable":true},"doi":{"type":"string","nullable":true},"batchConfound":{"type":"string"},"batchEffect":{"type":"string","enum":["NO_BATCH_INFO","SINGLETON_BATCHES_FAILURE","UNINFORMATIVE_HEADERS_FAILURE","PROBLEMATIC_BATCH_INFO_FAILURE","BATCH_EFFECT_FAILURE","BATCH_CORRECTED_SUCCESS","SINGLE_BATCH_SUCCESS","BATCH_EFFECT_UNDETERMINED_FAILURE","NO_BATCH_EFFECT_SUCCESS"]},"batchEffectStatistics":{"type":"string","nullable":true},"geeq":{"$ref":"#/components/schemas/GeeqValueObject"},"metadata":{"type":"string"},"shortName":{"type":"string"},"source":{"type":"string"},"isPublic":{"type":"boolean","readOnly":true},"technologyType":{"type":"string"},"characteristics":{"uniqueItems":true,"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"taxonId":{"type":"integer","format":"int64"},"bioAssayCount":{"type":"integer","format":"int32"},"troubleDetails":{"type":"string"},"numberOfArrayDesigns":{"type":"integer","format":"int64"},"numberOfProcessedExpressionVectors":{"type":"integer","format":"int32"},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"}}},"GeeqValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"publicQualityScore":{"type":"number","format":"double"},"publicSuitabilityScore":{"type":"number","format":"double"},"noVectors":{"type":"boolean"},"corrMatIssues":{"type":"string","format":"byte"},"replicatesIssues":{"type":"string","format":"byte"},"batchCorrected":{"type":"boolean"},"lastComputed":{"type":"string","format":"date-time","nullable":true},"qscorePublicBatchEffect":{"type":"number","format":"double","writeOnly":true},"qscorePublicBatchConfound":{"type":"number","format":"double","writeOnly":true},"sscorePublication":{"type":"number","format":"double","writeOnly":true},"sscorePlatformAmount":{"type":"number","format":"double","writeOnly":true},"sscorePlatformsTechMulti":{"type":"number","format":"double","writeOnly":true},"sscoreAvgPlatformPopularity":{"type":"number","format":"double","writeOnly":true},"sscoreAvgPlatformSize":{"type":"number","format":"double","writeOnly":true},"sscoreSampleSize":{"type":"number","format":"double","writeOnly":true},"sscoreRawData":{"type":"number","format":"double","writeOnly":true},"sscoreMissingValues":{"type":"number","format":"double","writeOnly":true},"qscoreOutliers":{"type":"number","format":"double","writeOnly":true},"qscoreSampleMeanCorrelation":{"type":"number","format":"double","writeOnly":true},"qscoreSampleMedianCorrelation":{"type":"number","format":"double","writeOnly":true},"qscoreSampleCorrelationVariance":{"type":"number","format":"double","writeOnly":true},"qscorePlatformsTech":{"type":"number","format":"double","writeOnly":true},"qscoreReplicates":{"type":"number","format":"double","writeOnly":true},"qscoreBatchInfo":{"type":"number","format":"double","writeOnly":true},"sScorePublication":{"type":"number","format":"double"},"sScorePlatformAmount":{"type":"number","format":"double"},"sScorePlatformTechMulti":{"type":"number","format":"double"},"sScoreAvgPlatformPopularity":{"type":"number","format":"double"},"sScoreAvgPlatformSize":{"type":"number","format":"double"},"sScoreSampleSize":{"type":"number","format":"double"},"sScoreRawData":{"type":"number","format":"double"},"sScoreMissingValues":{"type":"number","format":"double"},"qScoreOutliers":{"type":"number","format":"double"},"qScoreSampleMeanCorrelation":{"type":"number","format":"double"},"qScoreSampleMedianCorrelation":{"type":"number","format":"double"},"qScoreSampleCorrelationVariance":{"type":"number","format":"double"},"qScorePlatformsTech":{"type":"number","format":"double"},"qScoreReplicates":{"type":"number","format":"double"},"qScoreBatchInfo":{"type":"number","format":"double"},"qScorePublicBatchEffect":{"type":"number","format":"double"},"qScorePublicBatchConfound":{"type":"number","format":"double"}}},"QueriedAndFilteredAndPaginatedResponseDataObjectExpressionExperimentValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"},"query":{"type":"string"}}},"FilterArgExpressionExperiment":{"type":"string","description":"Filter results by matching the expression. The exact syntax is described in the attached external documentation. The filter value may be compressed with gzip and encoded with base64.\n\nAvailable properties:\n\n- accession\\.accession `string`\n- accession\\.accessionVersion `string`\n- accession\\.externalDatabase\\.description `string`\n- accession\\.externalDatabase\\.ftpUri `string`\n- accession\\.externalDatabase\\.id `integer`\n- accession\\.externalDatabase\\.lastUpdated `string`\n- accession\\.externalDatabase\\.localInstallDbName `string`\n- accession\\.externalDatabase\\.name `string`\n- accession\\.externalDatabase\\.releaseUrl `object`\n- accession\\.externalDatabase\\.releaseVersion `string`\n- accession\\.externalDatabase\\.type `string` \\(possible values\\: ONTOLOGY\\, SEQUENCE\\, LITERATURE\\, EXPRESSION\\, GENOME\\, OTHER\\, PROTEIN\\)\n- accession\\.externalDatabase\\.webUri `string`\n- accession\\.id `integer`\n- allCharacteristics\\.category `string[]`\n- allCharacteristics\\.categoryUri `string[]`\n- allCharacteristics\\.description `string[]`\n- allCharacteristics\\.evidenceCode `string[]` \\(possible values\\: IC\\, IDA\\, IEA\\, IEP\\, IGI\\, IMP\\, IPI\\, ISS\\, NAS\\, ND\\, RCA\\, TAS\\, NR\\, EXP\\, ISA\\, ISM\\, IGC\\, ISO\\, IIA\\, IBA\\, IBD\\, IKR\\, IRD\\, IMR\\, IED\\, IAGP\\, IPM\\, QTM\\, HDA\\, HEP\\, HGI\\, HMP\\, HTP\\, OTHER\\)\n- allCharacteristics\\.id `integer[]`\n- allCharacteristics\\.name `string[]`\n- allCharacteristics\\.object `string[]` \\(only applicable to statements\\)\n- allCharacteristics\\.objectUri `string[]` \\(will be expanded with ontology inference\\; only applicable to statements\\)\n- allCharacteristics\\.predicate `string[]` \\(only applicable to statements\\)\n- allCharacteristics\\.predicateUri `string[]` \\(will be expanded with ontology inference\\; only applicable to statements\\)\n- allCharacteristics\\.size `integer`\n- allCharacteristics\\.subject `string` \\(only applicable to statements\\)\n- allCharacteristics\\.subjectUri `string` \\(will be expanded with ontology inference\\; only applicable to statements\\)\n- allCharacteristics\\.supportingEvidence `string[]`\n- allCharacteristics\\.value `string[]`\n- allCharacteristics\\.valueUri `string[]` \\(will be expanded with ontology inference\\)\n- batchConfound `string`\n- batchEffect `string` \\(possible values\\: NO\\_BATCH\\_INFO\\, SINGLETON\\_BATCHES\\_FAILURE\\, UNINFORMATIVE\\_HEADERS\\_FAILURE\\, PROBLEMATIC\\_BATCH\\_INFO\\_FAILURE\\, BATCH\\_EFFECT\\_FAILURE\\, BATCH\\_CORRECTED\\_SUCCESS\\, SINGLE\\_BATCH\\_SUCCESS\\, BATCH\\_EFFECT\\_UNDETERMINED\\_FAILURE\\, NO\\_BATCH\\_EFFECT\\_SUCCESS\\)\n- batchEffectStatistics `string`\n- bioAssayCount `integer` \\(alias for bioAssays\\.size\\)\n- bioAssays\\.accession\\.accession `string[]`\n- bioAssays\\.accession\\.accessionVersion `string[]`\n- bioAssays\\.accession\\.id `integer[]`\n- bioAssays\\.arrayDesignUsed\\.advertisedNumberOfDesignElements `integer[]`\n- bioAssays\\.arrayDesignUsed\\.compositeSequences\\.size `integer[]`\n- bioAssays\\.arrayDesignUsed\\.description `string[]`\n- bioAssays\\.arrayDesignUsed\\.externalReferences\\.size `integer[]`\n- bioAssays\\.arrayDesignUsed\\.id `integer[]`\n- bioAssays\\.arrayDesignUsed\\.mergees\\.size `integer[]`\n- bioAssays\\.arrayDesignUsed\\.name `string[]`\n- bioAssays\\.arrayDesignUsed\\.shortName `string[]`\n- bioAssays\\.arrayDesignUsed\\.subsumedArrayDesigns\\.size `integer[]`\n- bioAssays\\.arrayDesignUsed\\.technologyType `string[]` \\(possible values\\: TWOCOLOR\\, DUALMODE\\, ONECOLOR\\, SEQUENCING\\, GENELIST\\, OTHER\\)\n- bioAssays\\.description `string[]`\n- bioAssays\\.fastqHeaders `string[]`\n- bioAssays\\.id `integer[]`\n- bioAssays\\.isOutlier `boolean[]`\n- bioAssays\\.metadata `string[]`\n- bioAssays\\.name `string[]`\n- bioAssays\\.numberOfCells `integer[]`\n- bioAssays\\.numberOfCellsByDesignElements `integer[]`\n- bioAssays\\.numberOfDesignElements `integer[]`\n- bioAssays\\.originalPlatform\\.advertisedNumberOfDesignElements `integer[]`\n- bioAssays\\.originalPlatform\\.compositeSequences\\.size `integer[]`\n- bioAssays\\.originalPlatform\\.description `string[]`\n- bioAssays\\.originalPlatform\\.externalReferences\\.size `integer[]`\n- bioAssays\\.originalPlatform\\.id `integer[]`\n- bioAssays\\.originalPlatform\\.mergees\\.size `integer[]`\n- bioAssays\\.originalPlatform\\.name `string[]`\n- bioAssays\\.originalPlatform\\.shortName `string[]`\n- bioAssays\\.originalPlatform\\.subsumedArrayDesigns\\.size `integer[]`\n- bioAssays\\.originalPlatform\\.technologyType `string[]` \\(possible values\\: TWOCOLOR\\, DUALMODE\\, ONECOLOR\\, SEQUENCING\\, GENELIST\\, OTHER\\)\n- bioAssays\\.processingDate `string[]`\n- bioAssays\\.sampleUsed\\.bioAssaysUsedIn\\.size `integer[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.category `string[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.categoryUri `string[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.description `string[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.evidenceCode `string[]` \\(possible values\\: IC\\, IDA\\, IEA\\, IEP\\, IGI\\, IMP\\, IPI\\, ISS\\, NAS\\, ND\\, RCA\\, TAS\\, NR\\, EXP\\, ISA\\, ISM\\, IGC\\, ISO\\, IIA\\, IBA\\, IBD\\, IKR\\, IRD\\, IMR\\, IED\\, IAGP\\, IPM\\, QTM\\, HDA\\, HEP\\, HGI\\, HMP\\, HTP\\, OTHER\\)\n- bioAssays\\.sampleUsed\\.characteristics\\.id `integer[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.name `string[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.size `integer[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.supportingEvidence `string[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.value `string[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.valueUri `string[]` \\(will be expanded with ontology inference\\)\n- bioAssays\\.sampleUsed\\.description `string[]`\n- bioAssays\\.sampleUsed\\.id `integer[]`\n- bioAssays\\.sampleUsed\\.name `string[]`\n- bioAssays\\.sequencePairedReads `boolean[]`\n- bioAssays\\.sequenceReadCount `integer[]`\n- bioAssays\\.sequenceReadLength `integer[]`\n- bioAssays\\.shortName `string[]`\n- bioAssays\\.size `integer`\n- characteristics\\.category `string[]`\n- characteristics\\.categoryUri `string[]`\n- characteristics\\.description `string[]`\n- characteristics\\.evidenceCode `string[]` \\(possible values\\: IC\\, IDA\\, IEA\\, IEP\\, IGI\\, IMP\\, IPI\\, ISS\\, NAS\\, ND\\, RCA\\, TAS\\, NR\\, EXP\\, ISA\\, ISM\\, IGC\\, ISO\\, IIA\\, IBA\\, IBD\\, IKR\\, IRD\\, IMR\\, IED\\, IAGP\\, IPM\\, QTM\\, HDA\\, HEP\\, HGI\\, HMP\\, HTP\\, OTHER\\)\n- characteristics\\.id `integer[]`\n- characteristics\\.name `string[]`\n- characteristics\\.size `integer`\n- characteristics\\.supportingEvidence `string[]`\n- characteristics\\.value `string[]`\n- characteristics\\.valueUri `string[]` \\(will be expanded with ontology inference\\)\n- curationDetails\\.lastUpdated `string`\n- curationDetails\\.needsAttention `boolean`\n- curationDetails\\.troubled `boolean`\n- description `string`\n- experimentalDesign\\.description `string`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.category `string[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.categoryUri `string[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.description `string[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.evidenceCode `string[]` \\(possible values\\: IC\\, IDA\\, IEA\\, IEP\\, IGI\\, IMP\\, IPI\\, ISS\\, NAS\\, ND\\, RCA\\, TAS\\, NR\\, EXP\\, ISA\\, ISM\\, IGC\\, ISO\\, IIA\\, IBA\\, IBD\\, IKR\\, IRD\\, IMR\\, IED\\, IAGP\\, IPM\\, QTM\\, HDA\\, HEP\\, HGI\\, HMP\\, HTP\\, OTHER\\)\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.id `integer[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.name `string[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.object `string[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.objectUri `string[]` \\(will be expanded with ontology inference\\)\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.predicate `string[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.predicateUri `string[]` \\(will be expanded with ontology inference\\)\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.subject `string`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.subjectUri `string` \\(will be expanded with ontology inference\\)\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.supportingEvidence `string[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.value `string[]` \\(use experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.subject instead\\; alias for experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.subject\\)\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.valueUri `string[]` \\(will be expanded with ontology inference\\; use experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.subjectUri instead\\; alias for experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.subjectUri\\)\n- experimentalDesign\\.experimentalFactors\\.size `integer`\n- experimentalDesign\\.id `integer`\n- experimentalDesign\\.name `string`\n- experimentalDesign\\.normalizationDescription `string`\n- experimentalDesign\\.qualityControlDescription `string`\n- experimentalDesign\\.replicateDescription `string`\n- experimentalDesign\\.types\\.size `integer`\n- geeq\\.publicQualityScore `number`\n- geeq\\.publicSuitabilityScore `number` \\(security\\: GROUP\\_ADMIN\\)\n- id `integer`\n- lastUpdated `string` \\(alias for curationDetails\\.lastUpdated\\)\n- meanVarianceRelation\\.id `integer`\n- metadata `string`\n- name `string`\n- needsAttention `boolean` \\(alias for curationDetails\\.needsAttention\\)\n- numberOfCells `integer`\n- numberOfDataVectors `integer`\n- numberOfSamples `integer`\n- owner\\.description `string`\n- owner\\.email `string`\n- owner\\.id `integer`\n- owner\\.name `string`\n- primaryPublication\\.pubAccession\\.accession `string`\n- primaryPublication\\.pubAccession\\.accessionVersion `string`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.description `string`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.externalDatabases\\.size `integer`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.ftpUri `string`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.id `integer`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.lastUpdated `string`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.localInstallDbName `string`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.name `string`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.releaseUrl `object`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.releaseVersion `string`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.type `string` \\(possible values\\: ONTOLOGY\\, SEQUENCE\\, LITERATURE\\, EXPRESSION\\, GENOME\\, OTHER\\, PROTEIN\\)\n- primaryPublication\\.pubAccession\\.externalDatabase\\.webUri `string`\n- primaryPublication\\.pubAccession\\.id `integer`\n- processedExpressionDataVectors\\.size `integer`\n- quantitationTypes\\.size `integer`\n- rawExpressionDataVectors\\.size `integer`\n- shortName `string`\n- singleCellExpressionDataVectors\\.size `integer`\n- sourceMetadata `string`\n- sourceMetadataSchemaVersion `integer`\n- taxon `integer` \\(alias for taxon\\.id\\)\n- taxon\\.commonName `string`\n- taxon\\.externalDatabase\\.description `string`\n- taxon\\.externalDatabase\\.ftpUri `string`\n- taxon\\.externalDatabase\\.id `integer`\n- taxon\\.externalDatabase\\.lastUpdated `string`\n- taxon\\.externalDatabase\\.localInstallDbName `string`\n- taxon\\.externalDatabase\\.name `string`\n- taxon\\.externalDatabase\\.releaseUrl `object`\n- taxon\\.externalDatabase\\.releaseVersion `string`\n- taxon\\.externalDatabase\\.type `string` \\(possible values\\: ONTOLOGY\\, SEQUENCE\\, LITERATURE\\, EXPRESSION\\, GENOME\\, OTHER\\, PROTEIN\\)\n- taxon\\.externalDatabase\\.webUri `string`\n- taxon\\.id `integer`\n- taxon\\.isGenesUsable `boolean`\n- taxon\\.ncbiId `integer`\n- taxon\\.scientificName `string`\n- taxon\\.secondaryNcbiId `integer`\n- troubled `boolean` \\(alias for curationDetails\\.troubled\\)\n- workflowState `string` \\(possible values\\: Discovery\\, Candidate\\, Preboarded\\, Loaded\\, Curate\\, Process\\, Audit\\, Public\\)\n- workflowStateEnteredAt `string`","externalDocs":{"url":"https://gemma.msl.ubc.ca/resources/apidocs/ubic/gemma/rest/util/args/FilterArg.html"},"x-gemma-filterable-properties":[{"name":"accession.accession","type":"string"},{"name":"accession.accessionVersion","type":"string"},{"name":"accession.externalDatabase.description","type":"string"},{"name":"accession.externalDatabase.ftpUri","type":"string"},{"name":"accession.externalDatabase.id","type":"integer"},{"name":"accession.externalDatabase.lastUpdated","type":"string"},{"name":"accession.externalDatabase.localInstallDbName","type":"string"},{"name":"accession.externalDatabase.name","type":"string"},{"name":"accession.externalDatabase.releaseUrl","type":"object"},{"name":"accession.externalDatabase.releaseVersion","type":"string"},{"name":"accession.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"accession.externalDatabase.webUri","type":"string"},{"name":"accession.id","type":"integer"},{"name":"allCharacteristics.category","type":"string[]"},{"name":"allCharacteristics.categoryUri","type":"string[]"},{"name":"allCharacteristics.description","type":"string[]"},{"name":"allCharacteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"allCharacteristics.id","type":"integer[]"},{"name":"allCharacteristics.name","type":"string[]"},{"name":"allCharacteristics.object","type":"string[]","description":"only applicable to statements"},{"name":"allCharacteristics.objectUri","type":"string[]","description":"will be expanded with ontology inference; only applicable to statements"},{"name":"allCharacteristics.predicate","type":"string[]","description":"only applicable to statements"},{"name":"allCharacteristics.predicateUri","type":"string[]","description":"will be expanded with ontology inference; only applicable to statements"},{"name":"allCharacteristics.size","type":"integer"},{"name":"allCharacteristics.subject","type":"string","description":"only applicable to statements"},{"name":"allCharacteristics.subjectUri","type":"string","description":"will be expanded with ontology inference; only applicable to statements"},{"name":"allCharacteristics.supportingEvidence","type":"string[]"},{"name":"allCharacteristics.value","type":"string[]"},{"name":"allCharacteristics.valueUri","type":"string[]","description":"will be expanded with ontology inference"},{"name":"batchConfound","type":"string"},{"name":"batchEffect","type":"string","allowedValues":[{"value":"NO_BATCH_INFO","label":"NO_BATCH_INFO"},{"value":"SINGLETON_BATCHES_FAILURE","label":"SINGLETON_BATCHES_FAILURE"},{"value":"UNINFORMATIVE_HEADERS_FAILURE","label":"UNINFORMATIVE_HEADERS_FAILURE"},{"value":"PROBLEMATIC_BATCH_INFO_FAILURE","label":"PROBLEMATIC_BATCH_INFO_FAILURE"},{"value":"BATCH_EFFECT_FAILURE","label":"BATCH_EFFECT_FAILURE"},{"value":"BATCH_CORRECTED_SUCCESS","label":"BATCH_CORRECTED_SUCCESS"},{"value":"SINGLE_BATCH_SUCCESS","label":"SINGLE_BATCH_SUCCESS"},{"value":"BATCH_EFFECT_UNDETERMINED_FAILURE","label":"BATCH_EFFECT_UNDETERMINED_FAILURE"},{"value":"NO_BATCH_EFFECT_SUCCESS","label":"NO_BATCH_EFFECT_SUCCESS"}]},{"name":"batchEffectStatistics","type":"string"},{"name":"bioAssayCount","type":"integer","description":"alias for bioAssays.size"},{"name":"bioAssays.accession.accession","type":"string[]"},{"name":"bioAssays.accession.accessionVersion","type":"string[]"},{"name":"bioAssays.accession.id","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.advertisedNumberOfDesignElements","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.compositeSequences.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.description","type":"string[]"},{"name":"bioAssays.arrayDesignUsed.externalReferences.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.id","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.mergees.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.name","type":"string[]"},{"name":"bioAssays.arrayDesignUsed.shortName","type":"string[]"},{"name":"bioAssays.arrayDesignUsed.subsumedArrayDesigns.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.technologyType","type":"string[]","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"bioAssays.description","type":"string[]"},{"name":"bioAssays.fastqHeaders","type":"string[]"},{"name":"bioAssays.id","type":"integer[]"},{"name":"bioAssays.isOutlier","type":"boolean[]"},{"name":"bioAssays.metadata","type":"string[]"},{"name":"bioAssays.name","type":"string[]"},{"name":"bioAssays.numberOfCells","type":"integer[]"},{"name":"bioAssays.numberOfCellsByDesignElements","type":"integer[]"},{"name":"bioAssays.numberOfDesignElements","type":"integer[]"},{"name":"bioAssays.originalPlatform.advertisedNumberOfDesignElements","type":"integer[]"},{"name":"bioAssays.originalPlatform.compositeSequences.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.description","type":"string[]"},{"name":"bioAssays.originalPlatform.externalReferences.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.id","type":"integer[]"},{"name":"bioAssays.originalPlatform.mergees.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.name","type":"string[]"},{"name":"bioAssays.originalPlatform.shortName","type":"string[]"},{"name":"bioAssays.originalPlatform.subsumedArrayDesigns.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.technologyType","type":"string[]","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"bioAssays.processingDate","type":"string[]"},{"name":"bioAssays.sampleUsed.bioAssaysUsedIn.size","type":"integer[]"},{"name":"bioAssays.sampleUsed.characteristics.category","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.categoryUri","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.description","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"bioAssays.sampleUsed.characteristics.id","type":"integer[]"},{"name":"bioAssays.sampleUsed.characteristics.name","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.size","type":"integer[]"},{"name":"bioAssays.sampleUsed.characteristics.supportingEvidence","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.value","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.valueUri","type":"string[]","description":"will be expanded with ontology inference"},{"name":"bioAssays.sampleUsed.description","type":"string[]"},{"name":"bioAssays.sampleUsed.id","type":"integer[]"},{"name":"bioAssays.sampleUsed.name","type":"string[]"},{"name":"bioAssays.sequencePairedReads","type":"boolean[]"},{"name":"bioAssays.sequenceReadCount","type":"integer[]"},{"name":"bioAssays.sequenceReadLength","type":"integer[]"},{"name":"bioAssays.shortName","type":"string[]"},{"name":"bioAssays.size","type":"integer"},{"name":"characteristics.category","type":"string[]"},{"name":"characteristics.categoryUri","type":"string[]"},{"name":"characteristics.description","type":"string[]"},{"name":"characteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"characteristics.id","type":"integer[]"},{"name":"characteristics.name","type":"string[]"},{"name":"characteristics.size","type":"integer"},{"name":"characteristics.supportingEvidence","type":"string[]"},{"name":"characteristics.value","type":"string[]"},{"name":"characteristics.valueUri","type":"string[]","description":"will be expanded with ontology inference"},{"name":"curationDetails.lastUpdated","type":"string"},{"name":"curationDetails.needsAttention","type":"boolean"},{"name":"curationDetails.troubled","type":"boolean"},{"name":"description","type":"string"},{"name":"experimentalDesign.description","type":"string"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.category","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.categoryUri","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.description","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.id","type":"integer[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.name","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.object","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.objectUri","type":"string[]","description":"will be expanded with ontology inference"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.predicate","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.predicateUri","type":"string[]","description":"will be expanded with ontology inference"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.subject","type":"string"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.subjectUri","type":"string","description":"will be expanded with ontology inference"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.supportingEvidence","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.value","type":"string[]","description":"use experimentalDesign.experimentalFactors.factorValues.characteristics.subject instead; alias for experimentalDesign.experimentalFactors.factorValues.characteristics.subject","deprecated":true},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.valueUri","type":"string[]","description":"will be expanded with ontology inference; use experimentalDesign.experimentalFactors.factorValues.characteristics.subjectUri instead; alias for experimentalDesign.experimentalFactors.factorValues.characteristics.subjectUri","deprecated":true},{"name":"experimentalDesign.experimentalFactors.size","type":"integer"},{"name":"experimentalDesign.id","type":"integer"},{"name":"experimentalDesign.name","type":"string"},{"name":"experimentalDesign.normalizationDescription","type":"string"},{"name":"experimentalDesign.qualityControlDescription","type":"string"},{"name":"experimentalDesign.replicateDescription","type":"string"},{"name":"experimentalDesign.types.size","type":"integer"},{"name":"geeq.publicQualityScore","type":"number"},{"name":"geeq.publicSuitabilityScore","type":"number","security":{"basicAuth":["GROUP_ADMIN"],"cookieAuth":["GROUP_ADMIN"]}},{"name":"id","type":"integer"},{"name":"lastUpdated","type":"string","description":"alias for curationDetails.lastUpdated"},{"name":"meanVarianceRelation.id","type":"integer"},{"name":"metadata","type":"string"},{"name":"name","type":"string"},{"name":"needsAttention","type":"boolean","description":"alias for curationDetails.needsAttention"},{"name":"numberOfCells","type":"integer"},{"name":"numberOfDataVectors","type":"integer"},{"name":"numberOfSamples","type":"integer"},{"name":"owner.description","type":"string"},{"name":"owner.email","type":"string"},{"name":"owner.id","type":"integer"},{"name":"owner.name","type":"string"},{"name":"primaryPublication.pubAccession.accession","type":"string"},{"name":"primaryPublication.pubAccession.accessionVersion","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.description","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.externalDatabases.size","type":"integer"},{"name":"primaryPublication.pubAccession.externalDatabase.ftpUri","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.id","type":"integer"},{"name":"primaryPublication.pubAccession.externalDatabase.lastUpdated","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.localInstallDbName","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.name","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.releaseUrl","type":"object"},{"name":"primaryPublication.pubAccession.externalDatabase.releaseVersion","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"primaryPublication.pubAccession.externalDatabase.webUri","type":"string"},{"name":"primaryPublication.pubAccession.id","type":"integer"},{"name":"processedExpressionDataVectors.size","type":"integer"},{"name":"quantitationTypes.size","type":"integer"},{"name":"rawExpressionDataVectors.size","type":"integer"},{"name":"shortName","type":"string"},{"name":"singleCellExpressionDataVectors.size","type":"integer"},{"name":"sourceMetadata","type":"string"},{"name":"sourceMetadataSchemaVersion","type":"integer"},{"name":"taxon","type":"integer","description":"alias for taxon.id"},{"name":"taxon.commonName","type":"string"},{"name":"taxon.externalDatabase.description","type":"string"},{"name":"taxon.externalDatabase.ftpUri","type":"string"},{"name":"taxon.externalDatabase.id","type":"integer"},{"name":"taxon.externalDatabase.lastUpdated","type":"string"},{"name":"taxon.externalDatabase.localInstallDbName","type":"string"},{"name":"taxon.externalDatabase.name","type":"string"},{"name":"taxon.externalDatabase.releaseUrl","type":"object"},{"name":"taxon.externalDatabase.releaseVersion","type":"string"},{"name":"taxon.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"taxon.externalDatabase.webUri","type":"string"},{"name":"taxon.id","type":"integer"},{"name":"taxon.isGenesUsable","type":"boolean"},{"name":"taxon.ncbiId","type":"integer"},{"name":"taxon.scientificName","type":"string"},{"name":"taxon.secondaryNcbiId","type":"integer"},{"name":"troubled","type":"boolean","description":"alias for curationDetails.troubled"},{"name":"workflowState","type":"string","allowedValues":[{"value":"Discovery","label":"Discovery"},{"value":"Candidate","label":"Candidate"},{"value":"Preboarded","label":"Preboarded"},{"value":"Loaded","label":"Loaded"},{"value":"Curate","label":"Curate"},{"value":"Process","label":"Process"},{"value":"Audit","label":"Audit"},{"value":"Public","label":"Public"}]},{"name":"workflowStateEnteredAt","type":"string"}]},"SortArgExpressionExperiment":{"pattern":"^(\\+|-?)(\\w+)$","type":"string","description":"Order results by the given property and direction. The '+' sign indicate ascending order whereas the '-' indicate descending. If no indicator is used, the default order is applied which is generally ascending. Nulls always appear last.\n\nAvailable properties:\n\n- accession\\.accession `string`\n- accession\\.accessionVersion `string`\n- accession\\.externalDatabase\\.description `string`\n- accession\\.externalDatabase\\.ftpUri `string`\n- accession\\.externalDatabase\\.id `integer`\n- accession\\.externalDatabase\\.lastUpdated `string`\n- accession\\.externalDatabase\\.localInstallDbName `string`\n- accession\\.externalDatabase\\.name `string`\n- accession\\.externalDatabase\\.releaseUrl `object`\n- accession\\.externalDatabase\\.releaseVersion `string`\n- accession\\.externalDatabase\\.type `string` \\(possible values\\: ONTOLOGY\\, SEQUENCE\\, LITERATURE\\, EXPRESSION\\, GENOME\\, OTHER\\, PROTEIN\\)\n- accession\\.externalDatabase\\.webUri `string`\n- accession\\.id `integer`\n- allCharacteristics\\.category `string[]`\n- allCharacteristics\\.categoryUri `string[]`\n- allCharacteristics\\.description `string[]`\n- allCharacteristics\\.evidenceCode `string[]` \\(possible values\\: IC\\, IDA\\, IEA\\, IEP\\, IGI\\, IMP\\, IPI\\, ISS\\, NAS\\, ND\\, RCA\\, TAS\\, NR\\, EXP\\, ISA\\, ISM\\, IGC\\, ISO\\, IIA\\, IBA\\, IBD\\, IKR\\, IRD\\, IMR\\, IED\\, IAGP\\, IPM\\, QTM\\, HDA\\, HEP\\, HGI\\, HMP\\, HTP\\, OTHER\\)\n- allCharacteristics\\.id `integer[]`\n- allCharacteristics\\.name `string[]`\n- allCharacteristics\\.object `string[]` \\(only applicable to statements\\)\n- allCharacteristics\\.objectUri `string[]` \\(will be expanded with ontology inference\\; only applicable to statements\\)\n- allCharacteristics\\.predicate `string[]` \\(only applicable to statements\\)\n- allCharacteristics\\.predicateUri `string[]` \\(will be expanded with ontology inference\\; only applicable to statements\\)\n- allCharacteristics\\.size `integer`\n- allCharacteristics\\.subject `string` \\(only applicable to statements\\)\n- allCharacteristics\\.subjectUri `string` \\(will be expanded with ontology inference\\; only applicable to statements\\)\n- allCharacteristics\\.supportingEvidence `string[]`\n- allCharacteristics\\.value `string[]`\n- allCharacteristics\\.valueUri `string[]` \\(will be expanded with ontology inference\\)\n- batchConfound `string`\n- batchEffect `string` \\(possible values\\: NO\\_BATCH\\_INFO\\, SINGLETON\\_BATCHES\\_FAILURE\\, UNINFORMATIVE\\_HEADERS\\_FAILURE\\, PROBLEMATIC\\_BATCH\\_INFO\\_FAILURE\\, BATCH\\_EFFECT\\_FAILURE\\, BATCH\\_CORRECTED\\_SUCCESS\\, SINGLE\\_BATCH\\_SUCCESS\\, BATCH\\_EFFECT\\_UNDETERMINED\\_FAILURE\\, NO\\_BATCH\\_EFFECT\\_SUCCESS\\)\n- batchEffectStatistics `string`\n- bioAssayCount `integer` \\(alias for bioAssays\\.size\\)\n- bioAssays\\.accession\\.accession `string[]`\n- bioAssays\\.accession\\.accessionVersion `string[]`\n- bioAssays\\.accession\\.id `integer[]`\n- bioAssays\\.arrayDesignUsed\\.advertisedNumberOfDesignElements `integer[]`\n- bioAssays\\.arrayDesignUsed\\.compositeSequences\\.size `integer[]`\n- bioAssays\\.arrayDesignUsed\\.description `string[]`\n- bioAssays\\.arrayDesignUsed\\.externalReferences\\.size `integer[]`\n- bioAssays\\.arrayDesignUsed\\.id `integer[]`\n- bioAssays\\.arrayDesignUsed\\.mergees\\.size `integer[]`\n- bioAssays\\.arrayDesignUsed\\.name `string[]`\n- bioAssays\\.arrayDesignUsed\\.shortName `string[]`\n- bioAssays\\.arrayDesignUsed\\.subsumedArrayDesigns\\.size `integer[]`\n- bioAssays\\.arrayDesignUsed\\.technologyType `string[]` \\(possible values\\: TWOCOLOR\\, DUALMODE\\, ONECOLOR\\, SEQUENCING\\, GENELIST\\, OTHER\\)\n- bioAssays\\.description `string[]`\n- bioAssays\\.fastqHeaders `string[]`\n- bioAssays\\.id `integer[]`\n- bioAssays\\.isOutlier `boolean[]`\n- bioAssays\\.metadata `string[]`\n- bioAssays\\.name `string[]`\n- bioAssays\\.numberOfCells `integer[]`\n- bioAssays\\.numberOfCellsByDesignElements `integer[]`\n- bioAssays\\.numberOfDesignElements `integer[]`\n- bioAssays\\.originalPlatform\\.advertisedNumberOfDesignElements `integer[]`\n- bioAssays\\.originalPlatform\\.compositeSequences\\.size `integer[]`\n- bioAssays\\.originalPlatform\\.description `string[]`\n- bioAssays\\.originalPlatform\\.externalReferences\\.size `integer[]`\n- bioAssays\\.originalPlatform\\.id `integer[]`\n- bioAssays\\.originalPlatform\\.mergees\\.size `integer[]`\n- bioAssays\\.originalPlatform\\.name `string[]`\n- bioAssays\\.originalPlatform\\.shortName `string[]`\n- bioAssays\\.originalPlatform\\.subsumedArrayDesigns\\.size `integer[]`\n- bioAssays\\.originalPlatform\\.technologyType `string[]` \\(possible values\\: TWOCOLOR\\, DUALMODE\\, ONECOLOR\\, SEQUENCING\\, GENELIST\\, OTHER\\)\n- bioAssays\\.processingDate `string[]`\n- bioAssays\\.sampleUsed\\.bioAssaysUsedIn\\.size `integer[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.category `string[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.categoryUri `string[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.description `string[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.evidenceCode `string[]` \\(possible values\\: IC\\, IDA\\, IEA\\, IEP\\, IGI\\, IMP\\, IPI\\, ISS\\, NAS\\, ND\\, RCA\\, TAS\\, NR\\, EXP\\, ISA\\, ISM\\, IGC\\, ISO\\, IIA\\, IBA\\, IBD\\, IKR\\, IRD\\, IMR\\, IED\\, IAGP\\, IPM\\, QTM\\, HDA\\, HEP\\, HGI\\, HMP\\, HTP\\, OTHER\\)\n- bioAssays\\.sampleUsed\\.characteristics\\.id `integer[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.name `string[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.size `integer[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.supportingEvidence `string[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.value `string[]`\n- bioAssays\\.sampleUsed\\.characteristics\\.valueUri `string[]` \\(will be expanded with ontology inference\\)\n- bioAssays\\.sampleUsed\\.description `string[]`\n- bioAssays\\.sampleUsed\\.id `integer[]`\n- bioAssays\\.sampleUsed\\.name `string[]`\n- bioAssays\\.sequencePairedReads `boolean[]`\n- bioAssays\\.sequenceReadCount `integer[]`\n- bioAssays\\.sequenceReadLength `integer[]`\n- bioAssays\\.shortName `string[]`\n- bioAssays\\.size `integer`\n- characteristics\\.category `string[]`\n- characteristics\\.categoryUri `string[]`\n- characteristics\\.description `string[]`\n- characteristics\\.evidenceCode `string[]` \\(possible values\\: IC\\, IDA\\, IEA\\, IEP\\, IGI\\, IMP\\, IPI\\, ISS\\, NAS\\, ND\\, RCA\\, TAS\\, NR\\, EXP\\, ISA\\, ISM\\, IGC\\, ISO\\, IIA\\, IBA\\, IBD\\, IKR\\, IRD\\, IMR\\, IED\\, IAGP\\, IPM\\, QTM\\, HDA\\, HEP\\, HGI\\, HMP\\, HTP\\, OTHER\\)\n- characteristics\\.id `integer[]`\n- characteristics\\.name `string[]`\n- characteristics\\.size `integer`\n- characteristics\\.supportingEvidence `string[]`\n- characteristics\\.value `string[]`\n- characteristics\\.valueUri `string[]` \\(will be expanded with ontology inference\\)\n- curationDetails\\.lastUpdated `string`\n- curationDetails\\.needsAttention `boolean`\n- curationDetails\\.troubled `boolean`\n- description `string`\n- experimentalDesign\\.description `string`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.category `string[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.categoryUri `string[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.description `string[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.evidenceCode `string[]` \\(possible values\\: IC\\, IDA\\, IEA\\, IEP\\, IGI\\, IMP\\, IPI\\, ISS\\, NAS\\, ND\\, RCA\\, TAS\\, NR\\, EXP\\, ISA\\, ISM\\, IGC\\, ISO\\, IIA\\, IBA\\, IBD\\, IKR\\, IRD\\, IMR\\, IED\\, IAGP\\, IPM\\, QTM\\, HDA\\, HEP\\, HGI\\, HMP\\, HTP\\, OTHER\\)\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.id `integer[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.name `string[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.object `string[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.objectUri `string[]` \\(will be expanded with ontology inference\\)\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.predicate `string[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.predicateUri `string[]` \\(will be expanded with ontology inference\\)\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.subject `string`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.subjectUri `string` \\(will be expanded with ontology inference\\)\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.supportingEvidence `string[]`\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.value `string[]` \\(use experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.subject instead\\; alias for experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.subject\\)\n- experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.valueUri `string[]` \\(will be expanded with ontology inference\\; use experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.subjectUri instead\\; alias for experimentalDesign\\.experimentalFactors\\.factorValues\\.characteristics\\.subjectUri\\)\n- experimentalDesign\\.experimentalFactors\\.size `integer`\n- experimentalDesign\\.id `integer`\n- experimentalDesign\\.name `string`\n- experimentalDesign\\.normalizationDescription `string`\n- experimentalDesign\\.qualityControlDescription `string`\n- experimentalDesign\\.replicateDescription `string`\n- experimentalDesign\\.types\\.size `integer`\n- geeq\\.publicQualityScore `number`\n- geeq\\.publicSuitabilityScore `number` \\(security\\: GROUP\\_ADMIN\\)\n- id `integer`\n- lastUpdated `string` \\(alias for curationDetails\\.lastUpdated\\)\n- meanVarianceRelation\\.id `integer`\n- metadata `string`\n- name `string`\n- needsAttention `boolean` \\(alias for curationDetails\\.needsAttention\\)\n- numberOfCells `integer`\n- numberOfDataVectors `integer`\n- numberOfSamples `integer`\n- owner\\.description `string`\n- owner\\.email `string`\n- owner\\.id `integer`\n- owner\\.name `string`\n- primaryPublication\\.pubAccession\\.accession `string`\n- primaryPublication\\.pubAccession\\.accessionVersion `string`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.description `string`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.externalDatabases\\.size `integer`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.ftpUri `string`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.id `integer`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.lastUpdated `string`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.localInstallDbName `string`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.name `string`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.releaseUrl `object`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.releaseVersion `string`\n- primaryPublication\\.pubAccession\\.externalDatabase\\.type `string` \\(possible values\\: ONTOLOGY\\, SEQUENCE\\, LITERATURE\\, EXPRESSION\\, GENOME\\, OTHER\\, PROTEIN\\)\n- primaryPublication\\.pubAccession\\.externalDatabase\\.webUri `string`\n- primaryPublication\\.pubAccession\\.id `integer`\n- processedExpressionDataVectors\\.size `integer`\n- quantitationTypes\\.size `integer`\n- rawExpressionDataVectors\\.size `integer`\n- shortName `string`\n- singleCellExpressionDataVectors\\.size `integer`\n- sourceMetadata `string`\n- sourceMetadataSchemaVersion `integer`\n- taxon `integer` \\(alias for taxon\\.id\\)\n- taxon\\.commonName `string`\n- taxon\\.externalDatabase\\.description `string`\n- taxon\\.externalDatabase\\.ftpUri `string`\n- taxon\\.externalDatabase\\.id `integer`\n- taxon\\.externalDatabase\\.lastUpdated `string`\n- taxon\\.externalDatabase\\.localInstallDbName `string`\n- taxon\\.externalDatabase\\.name `string`\n- taxon\\.externalDatabase\\.releaseUrl `object`\n- taxon\\.externalDatabase\\.releaseVersion `string`\n- taxon\\.externalDatabase\\.type `string` \\(possible values\\: ONTOLOGY\\, SEQUENCE\\, LITERATURE\\, EXPRESSION\\, GENOME\\, OTHER\\, PROTEIN\\)\n- taxon\\.externalDatabase\\.webUri `string`\n- taxon\\.id `integer`\n- taxon\\.isGenesUsable `boolean`\n- taxon\\.ncbiId `integer`\n- taxon\\.scientificName `string`\n- taxon\\.secondaryNcbiId `integer`\n- troubled `boolean` \\(alias for curationDetails\\.troubled\\)\n- workflowState `string` \\(possible values\\: Discovery\\, Candidate\\, Preboarded\\, Loaded\\, Curate\\, Process\\, Audit\\, Public\\)\n- workflowStateEnteredAt `string`","x-gemma-filterable-properties":[{"name":"accession.accession","type":"string"},{"name":"accession.accessionVersion","type":"string"},{"name":"accession.externalDatabase.description","type":"string"},{"name":"accession.externalDatabase.ftpUri","type":"string"},{"name":"accession.externalDatabase.id","type":"integer"},{"name":"accession.externalDatabase.lastUpdated","type":"string"},{"name":"accession.externalDatabase.localInstallDbName","type":"string"},{"name":"accession.externalDatabase.name","type":"string"},{"name":"accession.externalDatabase.releaseUrl","type":"object"},{"name":"accession.externalDatabase.releaseVersion","type":"string"},{"name":"accession.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"accession.externalDatabase.webUri","type":"string"},{"name":"accession.id","type":"integer"},{"name":"allCharacteristics.category","type":"string[]"},{"name":"allCharacteristics.categoryUri","type":"string[]"},{"name":"allCharacteristics.description","type":"string[]"},{"name":"allCharacteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"allCharacteristics.id","type":"integer[]"},{"name":"allCharacteristics.name","type":"string[]"},{"name":"allCharacteristics.object","type":"string[]","description":"only applicable to statements"},{"name":"allCharacteristics.objectUri","type":"string[]","description":"will be expanded with ontology inference; only applicable to statements"},{"name":"allCharacteristics.predicate","type":"string[]","description":"only applicable to statements"},{"name":"allCharacteristics.predicateUri","type":"string[]","description":"will be expanded with ontology inference; only applicable to statements"},{"name":"allCharacteristics.size","type":"integer"},{"name":"allCharacteristics.subject","type":"string","description":"only applicable to statements"},{"name":"allCharacteristics.subjectUri","type":"string","description":"will be expanded with ontology inference; only applicable to statements"},{"name":"allCharacteristics.supportingEvidence","type":"string[]"},{"name":"allCharacteristics.value","type":"string[]"},{"name":"allCharacteristics.valueUri","type":"string[]","description":"will be expanded with ontology inference"},{"name":"batchConfound","type":"string"},{"name":"batchEffect","type":"string","allowedValues":[{"value":"NO_BATCH_INFO","label":"NO_BATCH_INFO"},{"value":"SINGLETON_BATCHES_FAILURE","label":"SINGLETON_BATCHES_FAILURE"},{"value":"UNINFORMATIVE_HEADERS_FAILURE","label":"UNINFORMATIVE_HEADERS_FAILURE"},{"value":"PROBLEMATIC_BATCH_INFO_FAILURE","label":"PROBLEMATIC_BATCH_INFO_FAILURE"},{"value":"BATCH_EFFECT_FAILURE","label":"BATCH_EFFECT_FAILURE"},{"value":"BATCH_CORRECTED_SUCCESS","label":"BATCH_CORRECTED_SUCCESS"},{"value":"SINGLE_BATCH_SUCCESS","label":"SINGLE_BATCH_SUCCESS"},{"value":"BATCH_EFFECT_UNDETERMINED_FAILURE","label":"BATCH_EFFECT_UNDETERMINED_FAILURE"},{"value":"NO_BATCH_EFFECT_SUCCESS","label":"NO_BATCH_EFFECT_SUCCESS"}]},{"name":"batchEffectStatistics","type":"string"},{"name":"bioAssayCount","type":"integer","description":"alias for bioAssays.size"},{"name":"bioAssays.accession.accession","type":"string[]"},{"name":"bioAssays.accession.accessionVersion","type":"string[]"},{"name":"bioAssays.accession.id","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.advertisedNumberOfDesignElements","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.compositeSequences.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.description","type":"string[]"},{"name":"bioAssays.arrayDesignUsed.externalReferences.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.id","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.mergees.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.name","type":"string[]"},{"name":"bioAssays.arrayDesignUsed.shortName","type":"string[]"},{"name":"bioAssays.arrayDesignUsed.subsumedArrayDesigns.size","type":"integer[]"},{"name":"bioAssays.arrayDesignUsed.technologyType","type":"string[]","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"bioAssays.description","type":"string[]"},{"name":"bioAssays.fastqHeaders","type":"string[]"},{"name":"bioAssays.id","type":"integer[]"},{"name":"bioAssays.isOutlier","type":"boolean[]"},{"name":"bioAssays.metadata","type":"string[]"},{"name":"bioAssays.name","type":"string[]"},{"name":"bioAssays.numberOfCells","type":"integer[]"},{"name":"bioAssays.numberOfCellsByDesignElements","type":"integer[]"},{"name":"bioAssays.numberOfDesignElements","type":"integer[]"},{"name":"bioAssays.originalPlatform.advertisedNumberOfDesignElements","type":"integer[]"},{"name":"bioAssays.originalPlatform.compositeSequences.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.description","type":"string[]"},{"name":"bioAssays.originalPlatform.externalReferences.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.id","type":"integer[]"},{"name":"bioAssays.originalPlatform.mergees.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.name","type":"string[]"},{"name":"bioAssays.originalPlatform.shortName","type":"string[]"},{"name":"bioAssays.originalPlatform.subsumedArrayDesigns.size","type":"integer[]"},{"name":"bioAssays.originalPlatform.technologyType","type":"string[]","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"bioAssays.processingDate","type":"string[]"},{"name":"bioAssays.sampleUsed.bioAssaysUsedIn.size","type":"integer[]"},{"name":"bioAssays.sampleUsed.characteristics.category","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.categoryUri","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.description","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"bioAssays.sampleUsed.characteristics.id","type":"integer[]"},{"name":"bioAssays.sampleUsed.characteristics.name","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.size","type":"integer[]"},{"name":"bioAssays.sampleUsed.characteristics.supportingEvidence","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.value","type":"string[]"},{"name":"bioAssays.sampleUsed.characteristics.valueUri","type":"string[]","description":"will be expanded with ontology inference"},{"name":"bioAssays.sampleUsed.description","type":"string[]"},{"name":"bioAssays.sampleUsed.id","type":"integer[]"},{"name":"bioAssays.sampleUsed.name","type":"string[]"},{"name":"bioAssays.sequencePairedReads","type":"boolean[]"},{"name":"bioAssays.sequenceReadCount","type":"integer[]"},{"name":"bioAssays.sequenceReadLength","type":"integer[]"},{"name":"bioAssays.shortName","type":"string[]"},{"name":"bioAssays.size","type":"integer"},{"name":"characteristics.category","type":"string[]"},{"name":"characteristics.categoryUri","type":"string[]"},{"name":"characteristics.description","type":"string[]"},{"name":"characteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"characteristics.id","type":"integer[]"},{"name":"characteristics.name","type":"string[]"},{"name":"characteristics.size","type":"integer"},{"name":"characteristics.supportingEvidence","type":"string[]"},{"name":"characteristics.value","type":"string[]"},{"name":"characteristics.valueUri","type":"string[]","description":"will be expanded with ontology inference"},{"name":"curationDetails.lastUpdated","type":"string"},{"name":"curationDetails.needsAttention","type":"boolean"},{"name":"curationDetails.troubled","type":"boolean"},{"name":"description","type":"string"},{"name":"experimentalDesign.description","type":"string"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.category","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.categoryUri","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.description","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.evidenceCode","type":"string[]","allowedValues":[{"value":"IC","label":"IC"},{"value":"IDA","label":"IDA"},{"value":"IEA","label":"IEA"},{"value":"IEP","label":"IEP"},{"value":"IGI","label":"IGI"},{"value":"IMP","label":"IMP"},{"value":"IPI","label":"IPI"},{"value":"ISS","label":"ISS"},{"value":"NAS","label":"NAS"},{"value":"ND","label":"ND"},{"value":"RCA","label":"RCA"},{"value":"TAS","label":"TAS"},{"value":"NR","label":"NR"},{"value":"EXP","label":"EXP"},{"value":"ISA","label":"ISA"},{"value":"ISM","label":"ISM"},{"value":"IGC","label":"IGC"},{"value":"ISO","label":"ISO"},{"value":"IIA","label":"IIA"},{"value":"IBA","label":"IBA"},{"value":"IBD","label":"IBD"},{"value":"IKR","label":"IKR"},{"value":"IRD","label":"IRD"},{"value":"IMR","label":"IMR"},{"value":"IED","label":"IED"},{"value":"IAGP","label":"IAGP"},{"value":"IPM","label":"IPM"},{"value":"QTM","label":"QTM"},{"value":"HDA","label":"HDA"},{"value":"HEP","label":"HEP"},{"value":"HGI","label":"HGI"},{"value":"HMP","label":"HMP"},{"value":"HTP","label":"HTP"},{"value":"OTHER","label":"OTHER"}]},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.id","type":"integer[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.name","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.object","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.objectUri","type":"string[]","description":"will be expanded with ontology inference"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.predicate","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.predicateUri","type":"string[]","description":"will be expanded with ontology inference"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.subject","type":"string"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.subjectUri","type":"string","description":"will be expanded with ontology inference"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.supportingEvidence","type":"string[]"},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.value","type":"string[]","description":"use experimentalDesign.experimentalFactors.factorValues.characteristics.subject instead; alias for experimentalDesign.experimentalFactors.factorValues.characteristics.subject","deprecated":true},{"name":"experimentalDesign.experimentalFactors.factorValues.characteristics.valueUri","type":"string[]","description":"will be expanded with ontology inference; use experimentalDesign.experimentalFactors.factorValues.characteristics.subjectUri instead; alias for experimentalDesign.experimentalFactors.factorValues.characteristics.subjectUri","deprecated":true},{"name":"experimentalDesign.experimentalFactors.size","type":"integer"},{"name":"experimentalDesign.id","type":"integer"},{"name":"experimentalDesign.name","type":"string"},{"name":"experimentalDesign.normalizationDescription","type":"string"},{"name":"experimentalDesign.qualityControlDescription","type":"string"},{"name":"experimentalDesign.replicateDescription","type":"string"},{"name":"experimentalDesign.types.size","type":"integer"},{"name":"geeq.publicQualityScore","type":"number"},{"name":"geeq.publicSuitabilityScore","type":"number","security":{"basicAuth":["GROUP_ADMIN"],"cookieAuth":["GROUP_ADMIN"]}},{"name":"id","type":"integer"},{"name":"lastUpdated","type":"string","description":"alias for curationDetails.lastUpdated"},{"name":"meanVarianceRelation.id","type":"integer"},{"name":"metadata","type":"string"},{"name":"name","type":"string"},{"name":"needsAttention","type":"boolean","description":"alias for curationDetails.needsAttention"},{"name":"numberOfCells","type":"integer"},{"name":"numberOfDataVectors","type":"integer"},{"name":"numberOfSamples","type":"integer"},{"name":"owner.description","type":"string"},{"name":"owner.email","type":"string"},{"name":"owner.id","type":"integer"},{"name":"owner.name","type":"string"},{"name":"primaryPublication.pubAccession.accession","type":"string"},{"name":"primaryPublication.pubAccession.accessionVersion","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.description","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.externalDatabases.size","type":"integer"},{"name":"primaryPublication.pubAccession.externalDatabase.ftpUri","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.id","type":"integer"},{"name":"primaryPublication.pubAccession.externalDatabase.lastUpdated","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.localInstallDbName","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.name","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.releaseUrl","type":"object"},{"name":"primaryPublication.pubAccession.externalDatabase.releaseVersion","type":"string"},{"name":"primaryPublication.pubAccession.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"primaryPublication.pubAccession.externalDatabase.webUri","type":"string"},{"name":"primaryPublication.pubAccession.id","type":"integer"},{"name":"processedExpressionDataVectors.size","type":"integer"},{"name":"quantitationTypes.size","type":"integer"},{"name":"rawExpressionDataVectors.size","type":"integer"},{"name":"shortName","type":"string"},{"name":"singleCellExpressionDataVectors.size","type":"integer"},{"name":"sourceMetadata","type":"string"},{"name":"sourceMetadataSchemaVersion","type":"integer"},{"name":"taxon","type":"integer","description":"alias for taxon.id"},{"name":"taxon.commonName","type":"string"},{"name":"taxon.externalDatabase.description","type":"string"},{"name":"taxon.externalDatabase.ftpUri","type":"string"},{"name":"taxon.externalDatabase.id","type":"integer"},{"name":"taxon.externalDatabase.lastUpdated","type":"string"},{"name":"taxon.externalDatabase.localInstallDbName","type":"string"},{"name":"taxon.externalDatabase.name","type":"string"},{"name":"taxon.externalDatabase.releaseUrl","type":"object"},{"name":"taxon.externalDatabase.releaseVersion","type":"string"},{"name":"taxon.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"taxon.externalDatabase.webUri","type":"string"},{"name":"taxon.id","type":"integer"},{"name":"taxon.isGenesUsable","type":"boolean"},{"name":"taxon.ncbiId","type":"integer"},{"name":"taxon.scientificName","type":"string"},{"name":"taxon.secondaryNcbiId","type":"integer"},{"name":"troubled","type":"boolean","description":"alias for curationDetails.troubled"},{"name":"workflowState","type":"string","allowedValues":[{"value":"Discovery","label":"Discovery"},{"value":"Candidate","label":"Candidate"},{"value":"Preboarded","label":"Preboarded"},{"value":"Loaded","label":"Loaded"},{"value":"Curate","label":"Curate"},{"value":"Process","label":"Process"},{"value":"Audit","label":"Audit"},{"value":"Public","label":"Public"}]},{"name":"workflowStateEnteredAt","type":"string"}]},"LoginRequest":{"type":"object","properties":{"username":{"type":"string","nullable":true},"password":{"type":"string","nullable":true}}},"CompletionValueObject":{"type":"object","properties":{"value":{"type":"string"},"description":{"type":"string","nullable":true}}},"ResponseDataObjectListCompletionValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CompletionValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ColumnMeta":{"type":"object","properties":{"bioAssayId":{"type":"integer","format":"int64","nullable":true},"bioMaterialId":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string","nullable":true},"outlier":{"type":"boolean","nullable":true},"factorValueIds":{"type":"object","additionalProperties":{"type":"integer","format":"int64"},"nullable":true}},"description":"Per-column metadata: BioAssay + BioMaterial IDs, outlier flag, factor-value assignments. Every field is optional — producers omit what isn't applicable."},"FactorEntry":{"type":"object","properties":{"factor":{"$ref":"#/components/schemas/ExperimentalFactorValueObject"},"measurements":{"type":"object","additionalProperties":{"type":"number","format":"double"},"nullable":true}},"description":"Experimental factor + per-sample measurements for continuous factors."},"GeneRef":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"officialSymbol":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"description":"Gene reference attached to a row."},"HeatmapDataValueObject":{"type":"object","properties":{"datasetId":{"type":"integer","format":"int64"},"datasetShortName":{"type":"string"},"matrix":{"$ref":"#/components/schemas/MatrixSection"},"rows":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/RowMeta"}},"columns":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/ColumnMeta"}},"factors":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/FactorEntry"}},"quantitationType":{"$ref":"#/components/schemas/QuantitationTypeValueObject"}},"description":"Raw matrix + metadata payload for client-side heatmap rendering. See /datasets/{id}/heatmap-data."},"MatrixSection":{"type":"object","properties":{"values":{"type":"object","description":"double[][] when encoding=json, or a base64 string when encoding=base64f32. Use the `encoding` field to pick the deserialisation path."},"encoding":{"type":"string","enum":["json","base64f32"]},"rowsCount":{"type":"integer","format":"int32"},"colsCount":{"type":"integer","format":"int32"},"quantitationType":{"$ref":"#/components/schemas/QuantitationTypeValueObject"}},"description":"The matrix section: numeric cells + encoding tag."},"QuantitationTypeValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string"},"generalType":{"type":"string","enum":["QUANTITATIVE","CATEGORICAL","UNKNOWN"]},"type":{"type":"string","enum":["PRESENTABSENT","FAILED","AMOUNT","CONFIDENCEINDICATOR","CORRELATION","COUNT","COORDINATE","ZSCORE","OTHER"]},"representation":{"type":"string","enum":["FLOAT","DOUBLE","INT","LONG","CHAR","BOOLEAN","STRING"]},"scale":{"type":"string","enum":["LINEAR","LN","LOG2","LOG10","LOG1P","LOGBASEUNKNOWN","FOLDCHANGE","UNSCALED","PERCENT1","PERCENT","COUNT","OTHER"]},"isBackground":{"type":"boolean"},"isBackgroundSubtracted":{"type":"boolean"},"isBatchCorrected":{"type":"boolean"},"isNormalized":{"type":"boolean"},"isRatio":{"type":"boolean"},"isRecomputedFromRawData":{"type":"boolean"},"isPreferred":{"type":"boolean"},"isMaskedPreferred":{"type":"boolean","deprecated":true},"vectorType":{"type":"string","nullable":true}}},"ResponseDataObjectHeatmapDataValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/HeatmapDataValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"RowMeta":{"type":"object","properties":{"designElementId":{"type":"integer","format":"int64","nullable":true},"designElementName":{"type":"string","nullable":true},"genes":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/GeneRef"}},"pvalue":{"type":"number","format":"double","nullable":true},"validated":{"type":"boolean","nullable":true},"annotations":{"type":"object","additionalProperties":{"type":"object"},"nullable":true}},"description":"Per-row metadata: probe + gene info + arbitrary gene-shaped annotations (numeric statistic, category, boolean flag)."},"QuantitationTypeArg":{"required":["value"],"oneOf":[{"type":"integer","description":"A quantitation type ID.","format":"int64"},{"type":"string","description":"A quantitation type name."}]},"ResponseDataObjectAnnotationValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AnnotationValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"AnnotationTagInput":{"type":"object","properties":{"category":{"type":"string"},"categoryUri":{"type":"string","nullable":true},"value":{"type":"string"},"valueUri":{"type":"string","nullable":true},"predicate":{"type":"string","nullable":true},"predicateUri":{"type":"string","nullable":true},"object":{"type":"string","nullable":true},"objectUri":{"type":"string","nullable":true},"secondPredicate":{"type":"string","nullable":true},"secondPredicateUri":{"type":"string","nullable":true},"secondObject":{"type":"string","nullable":true},"secondObjectUri":{"type":"string","nullable":true},"supportingEvidence":{"$ref":"#/components/schemas/JsonNode"}}},"BatchOutlierResponse":{"type":"object","properties":{"outlierBioAssayIds":{"type":"array","items":{"type":"integer","format":"int64"}},"markedCount":{"type":"integer","format":"int32"},"unmarkedCount":{"type":"integer","format":"int32"}}},"ResponseDataObjectBatchOutlierResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BatchOutlierResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"BatchOutlierRequest":{"type":"object","properties":{"mark":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}},"unmark":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}}},"nullable":true},"Canonicalization":{"type":"object","properties":{"location":{"type":"string"},"clientRef":{"type":"string","nullable":true},"submittedLabel":{"type":"string","nullable":true},"canonicalLabel":{"type":"string"},"submittedUri":{"type":"string"},"canonicalUri":{"type":"string"}}},"CurationCommitReport":{"type":"object","properties":{"applied":{"type":"boolean"},"idMap":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"changes":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/CurationSectionChange"}},"auditEventIds":{"type":"array","items":{"type":"integer","format":"int64"}},"canonicalizations":{"type":"array","items":{"$ref":"#/components/schemas/Canonicalization"}},"error":{"type":"string"}}},"CurationSectionChange":{"type":"object","properties":{"created":{"type":"integer","format":"int32"},"updated":{"type":"integer","format":"int32"},"deleted":{"type":"integer","format":"int32"},"unchanged":{"type":"integer","format":"int32"}}},"ResponseDataObjectCurationCommitReport":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CurationCommitReport"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"CurationBaseline":{"type":"object","properties":{"lastModified":{"type":"string","nullable":true}},"nullable":true},"CurationBasics":{"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"shortName":{"type":"string","nullable":true}},"nullable":true},"CurationDetailsCommit":{"type":"object","properties":{"troubled":{"type":"boolean","nullable":true},"needsAttention":{"type":"boolean","nullable":true},"curationNote":{"type":"string","nullable":true}},"nullable":true},"CurationDocument":{"type":"object","properties":{"baseline":{"$ref":"#/components/schemas/CurationBaseline"},"basics":{"$ref":"#/components/schemas/CurationBasics"},"publications":{"$ref":"#/components/schemas/CurationPublications"},"design":{"$ref":"#/components/schemas/DesignCommit"},"tags":{"$ref":"#/components/schemas/SectionTagCommit"},"sampleCharacteristics":{"$ref":"#/components/schemas/SectionSampleCharacteristicCommit"},"curationDetails":{"$ref":"#/components/schemas/CurationDetailsCommit"}},"nullable":true},"CurationPublications":{"type":"object","properties":{"primary":{"$ref":"#/components/schemas/PublicationIdentifier"},"otherRelevant":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/PublicationIdentifier"}}},"nullable":true},"DesignCommit":{"type":"object","properties":{"factors":{"$ref":"#/components/schemas/SectionFactorCommit"},"shouldSplitOnFactorId":{"type":"integer","format":"int64","nullable":true},"shouldSplitRationale":{"type":"string","nullable":true}},"nullable":true},"FactorCommit":{"type":"object","properties":{"gemmaId":{"type":"integer","format":"int64","nullable":true},"clientRef":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"category":{"$ref":"#/components/schemas/OntologyTermRef"},"description":{"type":"string","nullable":true},"type":{"type":"string","nullable":true},"factorValues":{"$ref":"#/components/schemas/SectionFactorValueCommit"}}},"FactorValueCommit":{"type":"object","properties":{"gemmaId":{"type":"integer","format":"int64","nullable":true},"clientRef":{"type":"string","nullable":true},"freeTextLabel":{"type":"string","nullable":true},"measurement":{"$ref":"#/components/schemas/Measurement"},"biomaterialShortNames":{"type":"array","nullable":true,"items":{"type":"string"}},"statements":{"$ref":"#/components/schemas/SectionStatementCommit"},"isBaseline":{"type":"boolean","nullable":true}}},"OntologyTermRef":{"type":"object","properties":{"label":{"type":"string","nullable":true},"uri":{"type":"string","nullable":true}},"nullable":true},"PublicationIdentifier":{"type":"object","properties":{"pubMedId":{"type":"string","nullable":true},"doi":{"type":"string","nullable":true}}},"SampleCharacteristicCommit":{"type":"object","properties":{"gemmaId":{"type":"integer","format":"int64","nullable":true},"clientRef":{"type":"string","nullable":true},"bioassayShortName":{"type":"string","nullable":true},"category":{"$ref":"#/components/schemas/OntologyTermRef"},"value":{"$ref":"#/components/schemas/OntologyTermRef"}}},"SectionFactorCommit":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/FactorCommit"}},"deletedIds":{"type":"array","items":{"type":"integer","format":"int64"}}}},"SectionFactorValueCommit":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/FactorValueCommit"}},"deletedIds":{"type":"array","items":{"type":"integer","format":"int64"}}}},"SectionSampleCharacteristicCommit":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SampleCharacteristicCommit"}},"deletedIds":{"type":"array","items":{"type":"integer","format":"int64"}}},"nullable":true},"SectionStatementCommit":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/StatementCommit"}},"deletedIds":{"type":"array","items":{"type":"integer","format":"int64"}}}},"SectionTagCommit":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TagCommit"}},"deletedIds":{"type":"array","items":{"type":"integer","format":"int64"}}},"nullable":true},"StatementCommit":{"type":"object","properties":{"gemmaId":{"type":"integer","format":"int64","nullable":true},"clientRef":{"type":"string","nullable":true},"category":{"$ref":"#/components/schemas/OntologyTermRef"},"subject":{"$ref":"#/components/schemas/OntologyTermRef"},"predicate":{"$ref":"#/components/schemas/OntologyTermRef"},"object":{"$ref":"#/components/schemas/OntologyTermRef"}}},"TagCommit":{"type":"object","properties":{"gemmaId":{"type":"integer","format":"int64","nullable":true},"clientRef":{"type":"string","nullable":true},"category":{"$ref":"#/components/schemas/OntologyTermRef"},"value":{"$ref":"#/components/schemas/OntologyTermRef"},"statements":{"$ref":"#/components/schemas/SectionStatementCommit"}}},"BibliographicReferenceValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"abstractText":{"type":"string"},"authorList":{"type":"string"},"citation":{"$ref":"#/components/schemas/CitationValueObject"},"experiments":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentValueObject"}},"issue":{"type":"string"},"pages":{"type":"string"},"pubAccession":{"type":"string"},"publication":{"type":"string"},"publicationDate":{"type":"string","format":"date-time"},"publisher":{"type":"string"},"title":{"type":"string"},"volume":{"type":"string"},"meshTerms":{"type":"array","items":{"type":"string"}},"chemicalsTerms":{"type":"array","items":{"type":"string"}},"retracted":{"type":"boolean"}}},"CitationValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"citation":{"type":"string"},"pubmedAccession":{"type":"string"},"pubmedURL":{"type":"string"},"retracted":{"type":"boolean"}}},"ResponseDataObjectListBibliographicReferenceValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BibliographicReferenceValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectSetAnnotationValueObject":{"type":"object","properties":{"data":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/AnnotationValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectListAuditEventValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AuditEventValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"CompactAuditEventValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"performer":{"type":"string"},"date":{"type":"string","format":"date-time"},"action":{"type":"string","enum":["C","R","U","D"]},"note":{"type":"string"},"detail":{"type":"string"},"actionName":{"type":"string"},"eventTypeName":{"type":"string"},"collapsedCount":{"type":"integer","description":"Number of consecutive same-(eventType, performer) audit events folded into this entry. 1 for a solo event.","format":"int32"},"lastOccurrence":{"type":"string","description":"Timestamp of the LAST event in the collapsed run. Equals `date` for a solo event.","format":"date-time"}},"description":"Audit event entry with run-collapsing metadata. Wraps the standard AuditEventValueObject."},"ResponseDataObjectListCompactAuditEventValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CompactAuditEventValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"CursorPaginatedResponseDataObjectAuditEventValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AuditEventValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"limit":{"type":"integer","format":"int32"},"nextCursor":{"type":"string"},"prevCursor":{"type":"string"},"totalElements":{"type":"integer","format":"int64"}}},"CursorPaginatedResponseDataObjectCompactAuditEventValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CompactAuditEventValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"limit":{"type":"integer","format":"int32"},"nextCursor":{"type":"string"},"prevCursor":{"type":"string"},"totalElements":{"type":"integer","format":"int64"}}},"CellLevelCharacteristicsValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"characteristics":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"characteristicIds":{"type":"array","items":{"type":"integer","format":"int64"}},"numberOfAssignedCells":{"type":"integer","format":"int32","nullable":true}}},"ResponseDataObjectListCellLevelCharacteristicsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CellLevelCharacteristicsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"CellTypeAssignmentValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"protocol":{"$ref":"#/components/schemas/ProtocolValueObject"},"cellTypes":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"cellTypeIds":{"type":"array","items":{"type":"integer","format":"int64"}},"numberOfAssignedCells":{"type":"integer","format":"int32","nullable":true},"preferred":{"type":"boolean"}}},"ResponseDataObjectCellTypeAssignmentValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CellTypeAssignmentValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"CurationDetailsValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"lastUpdated":{"type":"string","format":"date-time","nullable":true},"troubled":{"type":"boolean"},"lastTroubledEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"needsAttention":{"type":"boolean"},"lastNeedsAttentionEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"curationNote":{"type":"string","nullable":true},"lastNoteUpdateEvent":{"$ref":"#/components/schemas/AuditEventValueObject"}}},"ResponseDataObjectCurationDetailsValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CurationDetailsValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"BioMaterialFactorValueAssignment":{"type":"object","properties":{"bioMaterialId":{"type":"integer","format":"int64"},"bioMaterialName":{"type":"string","nullable":true},"factorValueIds":{"type":"array","items":{"type":"integer","format":"int64"}}}},"ExperimentalDesignValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"replicateDescription":{"type":"string","nullable":true},"qualityControlDescription":{"type":"string","nullable":true},"normalizationDescription":{"type":"string","nullable":true},"experimentalFactors":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentalFactorEntry"}},"bioMaterialAssignments":{"type":"array","items":{"$ref":"#/components/schemas/BioMaterialFactorValueAssignment"}}}},"ExperimentalFactorEntry":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"type":"string","enum":["categorical","continuous"]},"category":{"$ref":"#/components/schemas/CharacteristicValueObject"},"values":{"type":"array","items":{"$ref":"#/components/schemas/FactorValueBasicValueObject"}}}},"ResponseDataObjectExperimentalDesignValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ExperimentalDesignValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectListDifferentialExpressionAnalysisValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DifferentialExpressionAnalysisValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectGeeqValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GeeqValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"PublicGeeqValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"publicQualityScore":{"type":"number","format":"double"},"publicSuitabilityScore":{"type":"number","format":"double"},"noVectors":{"type":"boolean"},"corrMatIssues":{"type":"string","format":"byte"},"replicatesIssues":{"type":"string","format":"byte"},"batchCorrected":{"type":"boolean"},"lastComputed":{"type":"string","format":"date-time","nullable":true},"qscorePublicBatchEffect":{"type":"number","format":"double","writeOnly":true},"qscorePublicBatchConfound":{"type":"number","format":"double","writeOnly":true},"sscorePublication":{"type":"number","format":"double","writeOnly":true},"sscorePlatformAmount":{"type":"number","format":"double","writeOnly":true},"sscorePlatformsTechMulti":{"type":"number","format":"double","writeOnly":true},"sscoreAvgPlatformPopularity":{"type":"number","format":"double","writeOnly":true},"sscoreAvgPlatformSize":{"type":"number","format":"double","writeOnly":true},"sscoreSampleSize":{"type":"number","format":"double","writeOnly":true},"sscoreRawData":{"type":"number","format":"double","writeOnly":true},"sscoreMissingValues":{"type":"number","format":"double","writeOnly":true},"qscoreOutliers":{"type":"number","format":"double","writeOnly":true},"qscoreSampleMeanCorrelation":{"type":"number","format":"double","writeOnly":true},"qscoreSampleMedianCorrelation":{"type":"number","format":"double","writeOnly":true},"qscoreSampleCorrelationVariance":{"type":"number","format":"double","writeOnly":true},"qscorePlatformsTech":{"type":"number","format":"double","writeOnly":true},"qscoreReplicates":{"type":"number","format":"double","writeOnly":true},"qscoreBatchInfo":{"type":"number","format":"double","writeOnly":true},"sScorePublication":{"type":"number","format":"double"},"sScorePlatformAmount":{"type":"number","format":"double"},"sScorePlatformTechMulti":{"type":"number","format":"double"},"sScoreAvgPlatformPopularity":{"type":"number","format":"double"},"sScoreAvgPlatformSize":{"type":"number","format":"double"},"sScoreSampleSize":{"type":"number","format":"double"},"sScoreRawData":{"type":"number","format":"double"},"sScoreMissingValues":{"type":"number","format":"double"},"qScoreOutliers":{"type":"number","format":"double"},"qScoreSampleMeanCorrelation":{"type":"number","format":"double"},"qScoreSampleMedianCorrelation":{"type":"number","format":"double"},"qScoreSampleCorrelationVariance":{"type":"number","format":"double"},"qScorePlatformsTech":{"type":"number","format":"double"},"qScoreReplicates":{"type":"number","format":"double"},"qScoreBatchInfo":{"type":"number","format":"double"},"qScorePublicBatchEffect":{"type":"number","format":"double"},"qScorePublicBatchConfound":{"type":"number","format":"double"}}},"ResponseDataObjectPublicGeeqValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PublicGeeqValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectObject":{"type":"object","properties":{"data":{"type":"object"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"Fit":{"type":"object","properties":{"sortedMeans":{"type":"array","items":{"type":"number","format":"double"}},"fittedVariances":{"type":"array","items":{"type":"number","format":"double"}}},"nullable":true},"MeanVarianceValueObject":{"type":"object","properties":{"designElementIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}},"designElementNames":{"type":"array","nullable":true,"items":{"type":"string"}},"means":{"type":"array","items":{"type":"number","format":"double"}},"variances":{"type":"array","items":{"type":"number","format":"double"}},"fit":{"$ref":"#/components/schemas/Fit"},"source":{"type":"string","nullable":true}}},"ResponseDataObjectMeanVarianceValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MeanVarianceValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"DatasetMetadataFileValueObject":{"type":"object","properties":{"type":{"type":"string"},"displayName":{"type":"string"},"downloadName":{"type":"string"},"contentType":{"type":"string"},"directory":{"type":"boolean"}}},"ResponseDataObjectListDatasetMetadataFileValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DatasetMetadataFileValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"DatasetPermissionsValueObject":{"type":"object","properties":{"isPublic":{"type":"boolean"},"isShared":{"type":"boolean"}}},"ResponseDataObjectDatasetPermissionsValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DatasetPermissionsValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"PipelineStatusValueObject":{"type":"object","properties":{"steps":{"type":"array","items":{"$ref":"#/components/schemas/PipelineStepValueObject"}},"geeq":{"$ref":"#/components/schemas/GeeqValueObject"},"datasetId":{"type":"integer","format":"int64"},"hasBatchInformation":{"type":"boolean"},"hasDea":{"type":"boolean"},"hasCoexpressionAnalysis":{"type":"boolean"},"isTroubled":{"type":"boolean"},"troubleDetails":{"type":"string"},"needsAttention":{"type":"boolean"},"curationNote":{"type":"string","nullable":true},"isPublic":{"type":"boolean"}}},"PipelineStepValueObject":{"type":"object","properties":{"step":{"type":"string"},"status":{"type":"string"},"lastRun":{"type":"string","format":"date-time","nullable":true},"eventType":{"type":"string","nullable":true},"details":{"type":"string","nullable":true}}},"ResponseDataObjectPipelineStatusValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PipelineStatusValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectMapLongPipelineStatusValueObject":{"type":"object","properties":{"data":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/PipelineStatusValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"PipelineStatusBulkRequest":{"type":"object","properties":{"datasetIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}}},"nullable":true},"ResponseDataObjectListArrayDesignValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ArrayDesignValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectSetQuantitationTypeValueObject":{"type":"object","properties":{"data":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/QuantitationTypeValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectSampleCorrelationMatrixValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SampleCorrelationMatrixValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"SampleCorrelationMatrixValueObject":{"type":"object","properties":{"bioAssayIds":{"type":"array","items":{"type":"integer","format":"int64"}},"bioAssayShortNames":{"type":"array","items":{"type":"string"}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}},"actualOutlierBioAssayIds":{"type":"array","items":{"type":"integer","format":"int64"}},"predictedOutlierBioAssayIds":{"type":"array","items":{"type":"integer","format":"int64"}},"filterDescription":{"type":"string","nullable":true},"method":{"type":"string","nullable":true}}},"ResponseDataObjectListBioAssayValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BioAssayValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"CursorPaginatedResponseDataObjectBioAssayValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BioAssayValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"limit":{"type":"integer","format":"int32"},"nextCursor":{"type":"string"},"prevCursor":{"type":"string"},"totalElements":{"type":"integer","format":"int64"}}},"ResponseDataObjectSingleCellDimensionValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SingleCellDimensionValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"SingleCellDimensionValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"cellIds":{"type":"array","items":{"type":"string"}},"numberOfCellIds":{"type":"integer","format":"int32"},"bioAssayIds":{"type":"array","items":{"type":"integer","format":"int64"}},"cellTypeAssignments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CellTypeAssignmentValueObject"}},"cellLevelCharacteristics":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CellLevelCharacteristicsValueObject"}},"numberOfCells":{"type":"integer","description":"Use numberOfCellIds instead.","format":"int32","deprecated":true}}},"ExpressionExperimentSubSetWithGroupsValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"sourceExperimentId":{"type":"integer","format":"int64"},"sourceExperimentShortName":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"numberOfBioAssays":{"type":"integer","format":"int32"},"characteristics":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"bioAssays":{"type":"array","items":{"$ref":"#/components/schemas/BioAssayValueObject"}},"subSetGroupIds":{"type":"array","items":{"type":"integer","format":"int64"}}}},"ResponseDataObjectExpressionExperimentSubSetWithGroupsValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ExpressionExperimentSubSetWithGroupsValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ExpressionExperimentSubSetGroupValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"factors":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentalFactorValueObject"}},"quantitationTypes":{"type":"array","items":{"$ref":"#/components/schemas/QuantitationTypeValueObject"}},"subSets":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentSubsetWithFactorValuesObject"}}}},"ExpressionExperimentSubsetWithFactorValuesObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"sourceExperimentId":{"type":"integer","format":"int64"},"sourceExperimentShortName":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"numberOfBioAssays":{"type":"integer","format":"int32"},"characteristics":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"bioAssays":{"type":"array","items":{"$ref":"#/components/schemas/BioAssayValueObject"}},"factorValues":{"type":"array","items":{"$ref":"#/components/schemas/FactorValueBasicValueObject"}}}},"ResponseDataObjectExpressionExperimentSubSetGroupValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ExpressionExperimentSubSetGroupValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectListExpressionExperimentSubSetGroupValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentSubSetGroupValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectListExpressionExperimentSubSetWithGroupsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentSubSetWithGroupsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectSimpleSVDValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SimpleSVDValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"SimpleSVDValueObject":{"type":"object","properties":{"bioAssayIds":{"type":"array","items":{"type":"integer","format":"int64"}},"bioMaterialIds":{"type":"array","items":{"type":"integer","format":"int64"}},"variances":{"type":"array","items":{"type":"number","format":"double"}},"vmatrix":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}},"PcLoadingsValueObject":{"type":"object","properties":{"pc":{"type":"integer","format":"int32"},"rows":{"type":"array","items":{"$ref":"#/components/schemas/Row"}},"bioAssayScores":{"type":"object","additionalProperties":{"type":"number","format":"double"}}}},"ResponseDataObjectPcLoadingsValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PcLoadingsValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"Row":{"type":"object","properties":{"designElementId":{"type":"integer","format":"int64","nullable":true},"designElementName":{"type":"string","nullable":true},"geneSymbol":{"type":"string","nullable":true},"loading":{"type":"number","format":"double"}}},"ResponseDataObjectListTicketValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TicketValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"TicketEventValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"type":{"type":"string","enum":["OPENED","ASSIGNED","COMMENTED","STATE_CHANGED","RESOLVED","CANCELLED","REOPENED","TARGET_STATUS_CHANGED","COMMENT_EDITED"]},"occurredAt":{"type":"string","format":"date-time"},"actorId":{"type":"integer","format":"int64","nullable":true},"actorName":{"type":"string","nullable":true},"payload":{"type":"string","nullable":true}}},"TicketTargetValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"targetType":{"type":"string","enum":["EXPRESSION_EXPERIMENT","ARRAY_DESIGN","FACTOR_VALUE","GEO_SCRAPE_WATERMARK","BIBLIOGRAPHIC_REFERENCE"]},"targetId":{"type":"integer","format":"int64"},"status":{"type":"string","enum":["NOT_DONE","UNDERWAY","DONE"]},"displayLabel":{"type":"string","nullable":true},"displayName":{"type":"string","nullable":true}}},"TicketValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"title":{"type":"string"},"body":{"type":"string"},"type":{"type":"string","enum":["BATCH_INFO_NEEDED","REALIGNMENT_NEEDED","QUALITY_REVIEW","PRELOAD","CURATION","LITERATURE_SEARCH","GENERIC"]},"state":{"type":"string","enum":["OPEN","IN_PROGRESS","RESOLVED","CANCELLED"]},"priority":{"type":"string","enum":["LOW","NORMAL","HIGH","URGENT"]},"mode":{"type":"string","enum":["MANUAL","AUTO"]},"dueDate":{"type":"string","format":"date-time","nullable":true},"reporterId":{"type":"integer","format":"int64","nullable":true},"reporterName":{"type":"string","nullable":true},"assigneeId":{"type":"integer","format":"int64","nullable":true},"assigneeName":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"externalIssueUrl":{"type":"string","nullable":true},"externalIssueSyncState":{"type":"string","enum":["NONE","PENDING","SYNCED","DRIFTED"]},"targets":{"type":"array","items":{"$ref":"#/components/schemas/TicketTargetValueObject"}},"events":{"type":"array","items":{"$ref":"#/components/schemas/TicketEventValueObject"}}}},"CursorPaginatedResponseDataObjectTicketValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TicketValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"limit":{"type":"integer","format":"int32"},"nextCursor":{"type":"string"},"prevCursor":{"type":"string"},"totalElements":{"type":"integer","format":"int64"}}},"BioSequenceValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"description":{"type":"string"},"fractionRepeats":{"type":"number","format":"double"},"length":{"type":"integer","format":"int64"},"name":{"type":"string"},"sequence":{"type":"string"},"sequenceDatabaseEntry":{"$ref":"#/components/schemas/DatabaseEntryValueObject"},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"},"type":{"type":"string","enum":["AFFY_TARGET","AFFY_PROBE","EST","mRNA","REFSEQ","BAC","WHOLE_GENOME","WHOLE_CHROMOSOME","DNA","OTHER","ORF","AFFY_COLLAPSED","OLIGO","DUMMY"]}}},"CompositeSequenceValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string"},"arrayDesign":{"$ref":"#/components/schemas/ArrayDesignValueObject"},"sequence":{"type":"string","nullable":true},"sequenceLength":{"type":"integer","format":"int64","nullable":true}}},"ExpressionExperimentSetValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"description":{"type":"string"},"expressionExperimentIds":{"type":"array","items":{"type":"integer","format":"int64"}},"isPublic":{"type":"boolean"},"modifiable":{"type":"boolean"},"name":{"type":"string"},"size":{"type":"integer","format":"int32"},"numWithCoexpressionAnalysis":{"type":"integer","format":"int32"},"numWithDifferentialExpressionAnalysis":{"type":"integer","format":"int32"},"taxonId":{"type":"integer","format":"int64"},"taxonName":{"type":"string"},"userCanWrite":{"type":"boolean"},"userOwned":{"type":"boolean"},"isShared":{"type":"boolean"}}},"ExpressionExperimentWithSearchResultValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"lastUpdated":{"type":"string","format":"date-time"},"troubled":{"type":"boolean"},"lastTroubledEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"needsAttention":{"type":"boolean"},"lastNeedsAttentionEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"curationNote":{"type":"string"},"lastNoteUpdateEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"numberOfBioAssays":{"type":"integer","format":"int32"},"description":{"type":"string","nullable":true},"name":{"type":"string"},"accession":{"type":"string","nullable":true},"externalUri":{"type":"string","nullable":true},"externalLabel":{"type":"string","nullable":true},"externalDatabase":{"type":"string","nullable":true},"externalDatabaseUri":{"type":"string","nullable":true},"pubmedId":{"type":"string","nullable":true},"doi":{"type":"string","nullable":true},"batchConfound":{"type":"string"},"batchEffect":{"type":"string","enum":["NO_BATCH_INFO","SINGLETON_BATCHES_FAILURE","UNINFORMATIVE_HEADERS_FAILURE","PROBLEMATIC_BATCH_INFO_FAILURE","BATCH_EFFECT_FAILURE","BATCH_CORRECTED_SUCCESS","SINGLE_BATCH_SUCCESS","BATCH_EFFECT_UNDETERMINED_FAILURE","NO_BATCH_EFFECT_SUCCESS"]},"batchEffectStatistics":{"type":"string","nullable":true},"geeq":{"$ref":"#/components/schemas/GeeqValueObject"},"metadata":{"type":"string"},"shortName":{"type":"string"},"source":{"type":"string"},"isPublic":{"type":"boolean","readOnly":true},"technologyType":{"type":"string"},"characteristics":{"uniqueItems":true,"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"searchResult":{"$ref":"#/components/schemas/SearchResultValueObjectExpressionExperimentValueObject"},"taxonId":{"type":"integer","format":"int64"},"bioAssayCount":{"type":"integer","format":"int32"},"troubleDetails":{"type":"string"},"numberOfArrayDesigns":{"type":"integer","format":"int64"},"numberOfProcessedExpressionVectors":{"type":"integer","format":"int32"},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"}}},"GeneSetValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"name":{"type":"string"},"description":{"type":"string"},"geneIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}},"size":{"type":"integer","format":"int64"},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"}}},"QueriedAndFilteredAndInferredAndPaginatedResponseDataObjectExpressionExperimentWithSearchResultValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentWithSearchResultValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"},"query":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"SearchResultValueObjectExpressionExperimentValueObject":{"type":"object","properties":{"resultId":{"type":"integer","format":"int64"},"resultType":{"$ref":"#/components/schemas/SearchResultType"},"score":{"type":"number","format":"double"},"highlights":{"type":"object","additionalProperties":{"type":"string"}},"matchType":{"type":"string","description":"How the result matched the query (exact_symbol, alias, prefix, official_name, official_name_prefix, exact_identifier); omitted if unclassified.","nullable":true},"resultObject":{"$ref":"#/components/schemas/ExpressionExperimentValueObject"},"resultObjectUrl":{"type":"string","nullable":true},"resultObjectUrlExternal":{"type":"boolean"}},"nullable":true},"QueryArg":{"type":"string","description":"Filter results matching the given full-text query.\n\nThe search query accepts the following syntax:\n\n| | | |\n|--------------|-----------------------------|------------------------------------------------------------------------------------------------------------------------|\n| Conjunction | `alpha AND beta AND gamma` | Results must contain \"alpha\", \"beta\" and \"gamma\". |\n| Disjunction | `alpha OR beta OR gamma` | Results must contain either \"alpha\", \"beta\" or \"gamma\". This is the default when multiple terms are supplied. | \n| Grouping | `(alpha OR beta) AND gamma` | Results must contain one of \"alpha\" or \"beta\" and also \"gamma\". |\n| Exact Search | `\"alpha beta gamma\"` | Results must contain the exact phrase \"alpha beta gamma\". |\n| Field | `shortName:GSE00001` | Results with short name GSE00001.
List of supported fields

ubic.gemma.model.genome.gene.GeneSet

  • description
  • name
  • characteristics.value
  • characteristics.valueUri
  • literatureSources.abstractText
  • literatureSources.authorList
  • literatureSources.fullTextUri
  • literatureSources.name
  • literatureSources.title
  • sourceAccession.accession
  • literatureSources.chemicals.name
  • literatureSources.chemicals.registryNumber
  • literatureSources.keywords.term
  • literatureSources.meshTerms.term
  • literatureSources.pubAccession.accession
  • members.gene.ensemblId
  • members.gene.name
  • members.gene.officialName
  • members.gene.officialSymbol
  • members.gene.previousNcbiGeneId
  • members.gene.accessions.accession
  • members.gene.aliases.alias
  • members.gene.products.name
  • members.gene.products.ncbiGi
  • members.gene.products.accessions.accession

ubic.gemma.model.expression.experiment.ExpressionExperiment

  • description
  • name
  • shortName
  • accession.accession
  • bioAssays.description
  • bioAssays.name
  • characteristics.value
  • characteristics.valueUri
  • experimentalDesign.description
  • experimentalDesign.name
  • otherRelevantPublications.abstractText
  • otherRelevantPublications.authorList
  • otherRelevantPublications.fullTextUri
  • otherRelevantPublications.name
  • otherRelevantPublications.title
  • primaryPublication.abstractText
  • primaryPublication.authorList
  • primaryPublication.fullTextUri
  • primaryPublication.name
  • primaryPublication.title
  • bioAssays.accession.accession
  • bioAssays.sampleUsed.name
  • experimentalDesign.experimentalFactors.description
  • experimentalDesign.experimentalFactors.name
  • otherRelevantPublications.chemicals.name
  • otherRelevantPublications.chemicals.registryNumber
  • otherRelevantPublications.keywords.term
  • otherRelevantPublications.meshTerms.term
  • otherRelevantPublications.pubAccession.accession
  • primaryPublication.chemicals.name
  • primaryPublication.chemicals.registryNumber
  • primaryPublication.keywords.term
  • primaryPublication.meshTerms.term
  • primaryPublication.pubAccession.accession
  • bioAssays.sampleUsed.characteristics.value
  • bioAssays.sampleUsed.characteristics.valueUri
  • experimentalDesign.experimentalFactors.category.category
  • experimentalDesign.experimentalFactors.category.categoryUri
  • experimentalDesign.experimentalFactors.factorValues.characteristics.object
  • experimentalDesign.experimentalFactors.factorValues.characteristics.objectUri
  • experimentalDesign.experimentalFactors.factorValues.characteristics.predicate
  • experimentalDesign.experimentalFactors.factorValues.characteristics.predicateUri
  • experimentalDesign.experimentalFactors.factorValues.characteristics.secondObject
  • experimentalDesign.experimentalFactors.factorValues.characteristics.secondObjectUri
  • experimentalDesign.experimentalFactors.factorValues.characteristics.secondPredicate
  • experimentalDesign.experimentalFactors.factorValues.characteristics.secondPredicateUri
  • experimentalDesign.experimentalFactors.factorValues.characteristics.value
  • experimentalDesign.experimentalFactors.factorValues.characteristics.valueUri

ubic.gemma.model.expression.designElement.CompositeSequence

  • description
  • name
  • biologicalCharacteristic.name
  • biologicalCharacteristic.sequenceDatabaseEntry.accession

ubic.gemma.model.analysis.expression.ExpressionExperimentSet

  • description
  • name

ubic.gemma.model.expression.arrayDesign.ArrayDesign

  • description
  • name
  • shortName
  • alternateNames.name
  • externalReferences.accession

ubic.gemma.model.common.description.BibliographicReference

  • abstractText
  • authorList
  • fullTextUri
  • name
  • title
  • chemicals.name
  • chemicals.registryNumber
  • keywords.term
  • meshTerms.term
  • pubAccession.accession

ubic.gemma.model.genome.Gene

  • ensemblId
  • name
  • officialName
  • officialSymbol
  • previousNcbiGeneId
  • accessions.accession
  • aliases.alias
  • products.name
  • products.ncbiGi
  • products.accessions.accession

ubic.gemma.model.genome.biosequence.BioSequence

  • name
  • sequenceDatabaseEntry.accession
|\n| Prefix | `alpha*` | Results must start with \"alpha\". |\n| Wildcard | `BRCA?` | Results can contain any letter for the `?`. In this example, BRCA1 and BRCA2 would be matched. | \n| Fuzzy | `alpha~` | Results can approximate \"alpha\". In this example, \"aleph\" would be accepted. |\n| Boosting | `alpha^2 beta` | Results mentioning \"alpha\" are ranked higher over those containing only \"beta\". |\n| Require | `+alpha beta` | Results must mention \"alpha\" and optionally \"beta\". |\n| Escape | `\\+alpha` | Results must mention \"+alpha\". Any special character from the search syntax can be escaped by prepending it with \"\\\". | \n","externalDocs":{"url":"https://lucene.apache.org/core/3_6_2/queryparsersyntax.html"},"x-gemma-searchable-properties":{"ubic.gemma.model.genome.gene.GeneSet":["description","name","characteristics.value","characteristics.valueUri","literatureSources.abstractText","literatureSources.authorList","literatureSources.fullTextUri","literatureSources.name","literatureSources.title","sourceAccession.accession","literatureSources.chemicals.name","literatureSources.chemicals.registryNumber","literatureSources.keywords.term","literatureSources.meshTerms.term","literatureSources.pubAccession.accession","members.gene.ensemblId","members.gene.name","members.gene.officialName","members.gene.officialSymbol","members.gene.previousNcbiGeneId","members.gene.accessions.accession","members.gene.aliases.alias","members.gene.products.name","members.gene.products.ncbiGi","members.gene.products.accessions.accession"],"ubic.gemma.model.expression.experiment.ExpressionExperiment":["description","name","shortName","accession.accession","bioAssays.description","bioAssays.name","characteristics.value","characteristics.valueUri","experimentalDesign.description","experimentalDesign.name","otherRelevantPublications.abstractText","otherRelevantPublications.authorList","otherRelevantPublications.fullTextUri","otherRelevantPublications.name","otherRelevantPublications.title","primaryPublication.abstractText","primaryPublication.authorList","primaryPublication.fullTextUri","primaryPublication.name","primaryPublication.title","bioAssays.accession.accession","bioAssays.sampleUsed.name","experimentalDesign.experimentalFactors.description","experimentalDesign.experimentalFactors.name","otherRelevantPublications.chemicals.name","otherRelevantPublications.chemicals.registryNumber","otherRelevantPublications.keywords.term","otherRelevantPublications.meshTerms.term","otherRelevantPublications.pubAccession.accession","primaryPublication.chemicals.name","primaryPublication.chemicals.registryNumber","primaryPublication.keywords.term","primaryPublication.meshTerms.term","primaryPublication.pubAccession.accession","bioAssays.sampleUsed.characteristics.value","bioAssays.sampleUsed.characteristics.valueUri","experimentalDesign.experimentalFactors.category.category","experimentalDesign.experimentalFactors.category.categoryUri","experimentalDesign.experimentalFactors.factorValues.characteristics.object","experimentalDesign.experimentalFactors.factorValues.characteristics.objectUri","experimentalDesign.experimentalFactors.factorValues.characteristics.predicate","experimentalDesign.experimentalFactors.factorValues.characteristics.predicateUri","experimentalDesign.experimentalFactors.factorValues.characteristics.secondObject","experimentalDesign.experimentalFactors.factorValues.characteristics.secondObjectUri","experimentalDesign.experimentalFactors.factorValues.characteristics.secondPredicate","experimentalDesign.experimentalFactors.factorValues.characteristics.secondPredicateUri","experimentalDesign.experimentalFactors.factorValues.characteristics.value","experimentalDesign.experimentalFactors.factorValues.characteristics.valueUri"],"ubic.gemma.model.expression.designElement.CompositeSequence":["description","name","biologicalCharacteristic.name","biologicalCharacteristic.sequenceDatabaseEntry.accession"],"ubic.gemma.model.analysis.expression.ExpressionExperimentSet":["description","name"],"ubic.gemma.model.expression.arrayDesign.ArrayDesign":["description","name","shortName","alternateNames.name","externalReferences.accession"],"ubic.gemma.model.common.description.BibliographicReference":["abstractText","authorList","fullTextUri","name","title","chemicals.name","chemicals.registryNumber","keywords.term","meshTerms.term","pubAccession.accession"],"ubic.gemma.model.genome.Gene":["ensemblId","name","officialName","officialSymbol","previousNcbiGeneId","accessions.accession","aliases.alias","products.name","products.ncbiGi","products.accessions.accession"],"ubic.gemma.model.genome.biosequence.BioSequence":["name","sequenceDatabaseEntry.accession"]}},"AnnotationWithUsageStatisticsValueObject":{"type":"object","properties":{"classUri":{"type":"string"},"className":{"type":"string"},"termUri":{"type":"string"},"termName":{"type":"string"},"evidenceCode":{"type":"string","enum":["IC","IDA","IEA","IEP","IGI","IMP","IPI","ISS","NAS","ND","RCA","TAS","NR","EXP","ISA","ISM","IGC","ISO","IIA","IBA","IBD","IKR","IRD","IMR","IED","IAGP","IPM","QTM","HDA","HEP","HGI","HMP","HTP","OTHER"]},"predicate":{"type":"string","description":"Predicate label of a Statement-backed annotation (e.g. \"has_dose\"). Null on plain Characteristic rows.","nullable":true},"predicateUri":{"type":"string","description":"Predicate URI of a Statement-backed annotation. Null on plain Characteristic rows.","nullable":true},"object":{"type":"string","description":"Object label of a Statement-backed annotation (e.g. \"30%\"). Null on plain Characteristic rows.","nullable":true},"objectUri":{"type":"string","description":"Object URI of a Statement-backed annotation. Null on plain Characteristic rows.","nullable":true},"secondPredicate":{"type":"string","description":"Second predicate label for compound Statement annotations (e.g. \"for\" in \"HFD for 12 weeks\").","nullable":true},"secondPredicateUri":{"type":"string","description":"Second predicate URI for compound Statement annotations.","nullable":true},"secondObject":{"type":"string","description":"Second object label for compound Statement annotations (e.g. \"12 weeks\").","nullable":true},"secondObjectUri":{"type":"string","description":"Second object URI for compound Statement annotations.","nullable":true},"supportingEvidence":{"$ref":"#/components/schemas/JsonNode"},"numberOfExpressionExperiments":{"type":"integer","format":"int64"},"parentTerms":{"uniqueItems":true,"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/OntologyTermValueObject"}}}},"QueriedAndFilteredAndInferredAndLimitedResponseDataObjectAnnotationWithUsageStatisticsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationWithUsageStatisticsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"filter":{"type":"string"},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"limit":{"type":"integer","format":"int32"},"query":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"FilteredAndInferredAndPaginatedResponseDataObjectExpressionExperimentValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"FilteredAndInferredAndCursorPaginatedResponseDataObjectExpressionExperimentValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExpressionExperimentValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"limit":{"type":"integer","format":"int32"},"nextCursor":{"type":"string"},"prevCursor":{"type":"string"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"CategoryWithUsageStatisticsValueObject":{"type":"object","properties":{"classUri":{"type":"string"},"className":{"type":"string"},"numberOfExpressionExperiments":{"type":"integer","format":"int64"}}},"QueriedAndFilteredAndInferredAndLimitedResponseDataObjectCategoryWithUsageStatisticsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CategoryWithUsageStatisticsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"filter":{"type":"string"},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"limit":{"type":"integer","format":"int32"},"query":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"ExperimentExpressionLevelsValueObject":{"type":"object","properties":{"datasetId":{"type":"integer","format":"int64"},"geneExpressionLevels":{"type":"array","items":{"$ref":"#/components/schemas/GeneElementExpressionsValueObject"}}}},"GeneElementExpressionsValueObject":{"type":"object","properties":{"geneOfficialSymbol":{"type":"string"},"geneOfficialName":{"type":"string","description":"Long descriptive gene name. May be null if unknown.","nullable":true},"geneNcbiId":{"type":"integer","format":"int32"},"geneEnsemblId":{"type":"string","description":"Ensembl accession for the gene. May be null if the gene has no Ensembl mapping.","nullable":true},"correctedPvalue":{"type":"number","description":"FDR-corrected p-value for the contrast represented by the result-set. Only set for the differential-expression endpoint.","format":"double","nullable":true},"pvalue":{"type":"number","description":"Uncorrected p-value for the contrast represented by the result-set. Only set for the differential-expression endpoint.","format":"double","nullable":true},"log2FoldChange":{"type":"number","description":"Log2 fold change for the primary contrast on the gene's most-significant probe row. Only set for the differential-expression endpoint.","format":"double","nullable":true},"vectors":{"type":"array","items":{"$ref":"#/components/schemas/VectorElementValueObject"}}}},"ResponseDataObjectListExperimentExpressionLevelsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentExpressionLevelsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"VectorElementValueObject":{"type":"object","properties":{"designElementName":{"type":"string"},"bioAssayExpressionLevels":{"type":"object","additionalProperties":{"type":"number","format":"double"}}}},"DifferentialExpressionAnalysisResultByGeneValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"resultSetId":{"type":"integer","format":"int64"},"probeId":{"type":"integer","format":"int64"},"probeName":{"type":"string"},"genes":{"type":"array","items":{"$ref":"#/components/schemas/GeneValueObject"}},"correctedPvalue":{"type":"number","format":"double","nullable":true},"rank":{"type":"number","format":"double","nullable":true},"contrasts":{"type":"array","items":{"$ref":"#/components/schemas/ContrastResultValueObject"}},"sourceExperimentId":{"type":"integer","format":"int64"},"experimentAnalyzedId":{"type":"integer","format":"int64"},"baseline":{"$ref":"#/components/schemas/FactorValueBasicValueObject"},"secondBaseline":{"$ref":"#/components/schemas/FactorValueBasicValueObject"},"pvalue":{"type":"number","format":"double","nullable":true}}},"QueriedAndFilteredAndInferredAndPaginatedResponseDataObjectDifferentialExpressionAnalysisResultByGeneValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DifferentialExpressionAnalysisResultByGeneValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"},"query":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"GeneArg":{"required":["value"],"oneOf":[{"type":"string","description":"An Ensembl gene identifier which typically starts with 'ENSG'.","externalDocs":{"url":"https://www.ensembl.org/"}},{"type":"string","description":"An NCBI gene identifier.","externalDocs":{"url":"https://www.ncbi.nlm.nih.gov/gene"}},{"type":"string","description":"An official gene symbol approved by HGNC.","externalDocs":{"url":"https://www.genenames.org/"}}]},"QueriedAndFilteredAndInferredAndPaginatedResponseDataObjectExperimentExpressionLevelsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentExpressionLevelsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"},"query":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"QueriedAndFilteredAndInferredAndCursorPaginatedResponseDataObjectExperimentExpressionLevelsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentExpressionLevelsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"limit":{"type":"integer","format":"int32"},"nextCursor":{"type":"string"},"prevCursor":{"type":"string"},"totalElements":{"type":"integer","format":"int64"},"filter":{"type":"string"},"query":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"ArrayDesignWithUsageStatisticsValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"lastUpdated":{"type":"string","format":"date-time","nullable":true},"troubled":{"type":"boolean"},"lastTroubledEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"needsAttention":{"type":"boolean"},"lastNeedsAttentionEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"curationNote":{"type":"string"},"lastNoteUpdateEvent":{"$ref":"#/components/schemas/AuditEventValueObject"},"color":{"type":"string","enum":["TWOCOLOR","DUALMODE","ONECOLOR","SEQUENCING","GENELIST","OTHER"]},"description":{"type":"string"},"isMerged":{"type":"boolean"},"isMergee":{"type":"boolean"},"name":{"type":"string"},"shortName":{"type":"string"},"technologyType":{"type":"string","enum":["TWOCOLOR","DUALMODE","ONECOLOR","SEQUENCING","GENELIST","OTHER"]},"releaseVersion":{"type":"string","nullable":true},"releaseUrl":{"type":"string","format":"url","nullable":true},"externalReferences":{"uniqueItems":true,"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/DatabaseEntryValueObject"}},"numberOfExpressionExperimentsForTechnologyType":{"type":"integer","format":"int64"},"numberOfExpressionExperiments":{"type":"integer","format":"int64"},"taxonID":{"type":"integer","format":"int64"},"troubleDetails":{"type":"string"},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"}}},"QueriedAndFilteredAndInferredAndLimitedResponseDataObjectArrayDesignWithUsageStatisticsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ArrayDesignWithUsageStatisticsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"filter":{"type":"string"},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"limit":{"type":"integer","format":"int32"},"query":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"QueriedAndFilteredAndInferredResponseDataObjectTaxonWithUsageStatisticsValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TaxonWithUsageStatisticsValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"filter":{"type":"string"},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"query":{"type":"string"},"inferredTerms":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}}}},"TaxonWithUsageStatisticsValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"scientificName":{"type":"string"},"commonName":{"type":"string"},"ncbiId":{"type":"integer","format":"int32"},"externalDatabase":{"$ref":"#/components/schemas/ExternalDatabaseValueObject"},"numberOfExpressionExperiments":{"type":"integer","format":"int64"}}},"DatasetImportRequest":{"type":"object","properties":{"accession":{"type":"string","nullable":true},"arrayDesignName":{"type":"string","nullable":true},"loadPlatformOnly":{"type":"boolean","nullable":true},"suppressMatching":{"type":"boolean","nullable":true},"splitByPlatform":{"type":"boolean","nullable":true},"aggressiveQtRemoval":{"type":"boolean","nullable":true},"allowSuperSeriesLoad":{"type":"boolean","nullable":true},"allowArrayExpressDesign":{"type":"boolean","nullable":true},"isArrayExpress":{"type":"boolean","nullable":true},"suppressPostProcessing":{"type":"boolean","nullable":true}},"nullable":true},"ResponseDataObjectBioAssayValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BioAssayValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"SampleOutlierRequest":{"type":"object","properties":{"outlier":{"type":"boolean","nullable":true}},"nullable":true},"FactorValueNeedsAttentionRequest":{"type":"object","properties":{"note":{"type":"string","nullable":true}},"nullable":true},"ResponseDataObjectQuantitationTypeValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/QuantitationTypeValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"QuantitationTypePatchRequest":{"type":"object","properties":{"preferred":{"type":"boolean","nullable":true}},"nullable":true},"AnalysisRef":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string","nullable":true},"subsetFactorValueId":{"type":"integer","description":"Set when the analysis is scoped to a subset factor value (subset-level analysis). Null for whole-experiment analyses.","format":"int64","nullable":true}}},"Blocker":{"type":"object","properties":{"type":{"type":"string","description":"Stable identifier for this blocker kind, e.g. UNKNOWN_FACTOR_VALUE_ID, FACTOR_TYPE_CHANGE_WITH_VALUES, ORPHAN_STATEMENT, ASSIGNMENT_REFERENCES_DELETED_FV."},"message":{"type":"string"},"factorId":{"type":"integer","format":"int64","nullable":true},"factorValueId":{"type":"integer","format":"int64","nullable":true},"bioMaterialId":{"type":"integer","format":"int64","nullable":true},"statementId":{"type":"integer","format":"int64","nullable":true}}},"DesignPreflightReport":{"type":"object","properties":{"blockers":{"type":"array","items":{"$ref":"#/components/schemas/Blocker"}},"summary":{"$ref":"#/components/schemas/Summary"},"factorsToDelete":{"type":"array","items":{"$ref":"#/components/schemas/EntityRef"}},"factorValuesToDelete":{"type":"array","items":{"$ref":"#/components/schemas/EntityRef"}},"differentialExpressionAnalysesToDelete":{"type":"array","items":{"$ref":"#/components/schemas/AnalysisRef"}},"subsetsWithStaleAnchor":{"type":"array","items":{"$ref":"#/components/schemas/SubsetRef"}}}},"EntityRef":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string","nullable":true}}},"ResponseDataObjectDesignPreflightReport":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DesignPreflightReport"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"SubsetRef":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string","nullable":true},"lostFactorValueIds":{"type":"array","description":"FactorValue IDs that this subset currently relies on (transitively, via its biomaterials) that would be deleted by the proposed change.","items":{"type":"integer","description":"FactorValue IDs that this subset currently relies on (transitively, via its biomaterials) that would be deleted by the proposed change.","format":"int64"}}}},"Summary":{"type":"object","properties":{"factorsToDelete":{"type":"integer","format":"int32"},"factorValuesToDelete":{"type":"integer","format":"int32"},"factorsToCreate":{"type":"integer","format":"int32"},"factorValuesToCreate":{"type":"integer","format":"int32"},"differentialExpressionAnalysesToDelete":{"type":"integer","format":"int32"},"subsetsWithStaleAnchor":{"type":"integer","format":"int32"},"biomaterialsWithChangedAssignments":{"type":"integer","format":"int32"}}},"GeeqRecomputeRequest":{"type":"object","properties":{"mode":{"type":"string","nullable":true,"enum":["all","batch","reps","pub"]}},"nullable":true},"ResponseDataObjectExpressionExperimentValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ExpressionExperimentValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"RenameDatasetResponse":{"type":"object","properties":{"experimentId":{"type":"integer","format":"int64"},"shortName":{"type":"string"}}},"ResponseDataObjectRenameDatasetResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RenameDatasetResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"RenameDatasetRequest":{"type":"object","properties":{"shortName":{"type":"string","nullable":true}},"nullable":true},"DifferentialAnalysisRunRequest":{"type":"object","properties":{"factorIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64"}},"includeInteractions":{"type":"boolean","nullable":true},"subsetFactorId":{"type":"integer","format":"int64","nullable":true}},"nullable":true},"PlatformSwitchRequest":{"type":"object","properties":{"targetArrayDesignName":{"type":"string","nullable":true}},"nullable":true},"DatasetSearchHitValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"shortName":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"accession":{"type":"string","nullable":true},"taxon":{"type":"string","nullable":true},"taxonId":{"type":"integer","format":"int64","nullable":true},"score":{"type":"number","format":"double","nullable":true}}},"ResponseDataObjectListDatasetSearchHitValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DatasetSearchHitValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"QuantitationTypePreferredRequest":{"type":"object","properties":{"preferred":{"type":"boolean","nullable":true}},"nullable":true},"AnnotationSetRequest":{"type":"object","properties":{"role":{"type":"string"},"source":{"type":"string","nullable":true},"kind":{"type":"string","nullable":true},"runId":{"type":"string","nullable":true},"createdBy":{"type":"string","nullable":true},"agentVersion":{"type":"string","nullable":true},"model":{"type":"string","nullable":true},"ranAt":{"type":"string","format":"date-time","nullable":true},"payloadJson":{"type":"string","nullable":true},"parentId":{"type":"integer","format":"int64","nullable":true}},"nullable":true},"AnnotationsUpdateRequest":{"type":"object","properties":{"annotations":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/AnnotationTagInput"}}},"nullable":true},"DatasetBasicsResponse":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"experimentId":{"type":"integer","format":"int64"}}},"ResponseDataObjectDatasetBasicsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DatasetBasicsResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"DatasetBasicsUpdateRequest":{"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true}},"nullable":true},"CurationDetailsUpdateRequest":{"type":"object","properties":{"troubled":{"type":"boolean","nullable":true},"needsAttention":{"type":"boolean","nullable":true},"curationNote":{"type":"string","nullable":true},"note":{"type":"string","nullable":true}},"nullable":true},"PermissionsUpdateRequest":{"type":"object","properties":{"isPublic":{"type":"boolean","nullable":true}},"nullable":true},"PublicationsUpdateRequest":{"type":"object","properties":{"primaryPublication":{"$ref":"#/components/schemas/PublicationIdentifier"},"otherRelevantPublications":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/PublicationIdentifier"}}},"nullable":true},"UpsertDraftRequest":{"type":"object","properties":{"payloadJson":{"type":"string"},"parkedElements":{"type":"string","nullable":true},"parentId":{"type":"integer","format":"int64","nullable":true}},"nullable":true},"BioAssaySetValueObject":{"type":"object","properties":{"accession":{"type":"string","nullable":true},"characteristics":{"type":"array","items":{"$ref":"#/components/schemas/CharacteristicValueObject"}},"numberOfBioAssays":{"type":"integer","format":"int32"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"id":{"type":"integer","format":"int64","nullable":true},"isPublic":{"type":"boolean"},"userOwned":{"type":"boolean"},"isShared":{"type":"boolean"},"userCanWrite":{"type":"boolean"}}},"ContrastVO":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"factorValueId":{"type":"integer","format":"int64","nullable":true},"secondFactorValueId":{"type":"integer","format":"int64","nullable":true},"logFoldChange":{"type":"number","format":"double","nullable":true},"pvalue":{"type":"number","format":"double","nullable":true}}},"ContrastsValueObject":{"type":"object","properties":{"resultId":{"type":"integer","format":"int64"},"contrasts":{"type":"array","items":{"$ref":"#/components/schemas/ContrastVO"}}}},"DifferentialExpressionValueObject":{"type":"object","properties":{"contrasts":{"$ref":"#/components/schemas/ContrastsValueObject"},"corrP":{"type":"number","format":"double"},"direction":{"type":"string","enum":["U","D","E"]},"experimentalFactors":{"type":"array","items":{"$ref":"#/components/schemas/ExperimentalFactorValueObject"}},"expressionExperiment":{"$ref":"#/components/schemas/BioAssaySetValueObject"},"fisherContribution":{"type":"boolean"},"gene":{"$ref":"#/components/schemas/GeneValueObject"},"id":{"type":"integer","format":"int64"},"metThreshold":{"type":"boolean"},"p":{"type":"number","format":"double"},"probe":{"type":"string"},"probeId":{"type":"integer","format":"int64"},"resultSetId":{"type":"integer","format":"int64"},"sortKey":{"type":"string"}}},"GeneDifferentialExpressionGroupValueObject":{"type":"object","properties":{"experiment":{"$ref":"#/components/schemas/BioAssaySetValueObject"},"results":{"type":"array","items":{"$ref":"#/components/schemas/DifferentialExpressionValueObject"}}}},"ResponseDataObjectListGeneDifferentialExpressionGroupValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GeneDifferentialExpressionGroupValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"GeneOntologyTermValueObject":{"type":"object","properties":{"goId":{"type":"string"},"label":{"type":"string"},"uri":{"type":"string"},"comment":{"type":"string"},"localName":{"type":"string"},"term":{"type":"string"},"obsolete":{"type":"boolean"}}},"ResponseDataObjectListGeneOntologyTermValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GeneOntologyTermValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectCollectionGeneValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GeneValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"PhysicalLocationValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64","nullable":true},"nucleotide":{"type":"integer","format":"int64"},"nucleotideLength":{"type":"integer","format":"int32"},"strand":{"type":"string"},"bin":{"type":"integer","format":"int32"},"chromosome":{"type":"string"},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"}}},"ResponseDataObjectListPhysicalLocationValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PhysicalLocationValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectGeneValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GeneValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"PaginatedResponseDataObject":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"}}},"CursorPaginatedResponseDataObject":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"limit":{"type":"integer","format":"int32"},"nextCursor":{"type":"string"},"prevCursor":{"type":"string"},"totalElements":{"type":"integer","format":"int64"}}},"ResponseDataObjectListGeneValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GeneValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"GoTermGeneCountValueObject":{"type":"object","properties":{"termUri":{"type":"string"},"geneCount":{"type":"integer","format":"int64"},"termsScanned":{"type":"integer","format":"int32"},"propagate":{"type":"boolean"},"maxTerms":{"type":"integer","format":"int32"}}},"ResponseDataObjectGoTermGeneCountValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GoTermGeneCountValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"PaginatedResponseDataObjectGeneValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GeneValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"}}},"GroupMemberValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"userName":{"type":"string"},"email":{"type":"string","nullable":true},"enabled":{"type":"boolean"}}},"GroupWithMembersValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"memberCount":{"type":"integer","format":"int32"},"authorities":{"type":"array","items":{"type":"string"}},"members":{"type":"array","items":{"$ref":"#/components/schemas/GroupMemberValueObject"}}}},"ResponseDataObjectGroupWithMembersValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GroupWithMembersValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"MemberAddRequest":{"type":"object","properties":{"username":{"type":"string","nullable":true},"userId":{"type":"integer","format":"int64","nullable":true}}},"GroupCreateRequest":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string","nullable":true}}},"GroupValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"memberCount":{"type":"integer","format":"int32"},"authorities":{"type":"array","items":{"type":"string"}}}},"ResponseDataObjectGroupValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GroupValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"GroupSummaryValueObject":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"memberCount":{"type":"integer","format":"int32"}}},"PaginatedResponseDataObjectGroupSummaryValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GroupSummaryValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"}}},"GroupUpdateRequest":{"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true}}},"ResponseDataObjectPipelineJobEvent":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PipelineJobEvent"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"PostEventRequest":{"type":"object","properties":{"kind":{"type":"string"},"payloadJson":{"type":"string"}}},"FilterArgArrayDesign":{"type":"string","description":"Filter results by matching the expression. The exact syntax is described in the attached external documentation. The filter value may be compressed with gzip and encoded with base64.\n\nAvailable properties:\n\n- advertisedNumberOfDesignElements `integer`\n- alternativeTo\\.advertisedNumberOfDesignElements `integer`\n- alternativeTo\\.compositeSequences\\.size `integer`\n- alternativeTo\\.curationDetails\\.id `integer`\n- alternativeTo\\.curationDetails\\.lastUpdated `string`\n- alternativeTo\\.curationDetails\\.needsAttention `boolean`\n- alternativeTo\\.curationDetails\\.troubled `boolean`\n- alternativeTo\\.description `string`\n- alternativeTo\\.designProvider\\.description `string`\n- alternativeTo\\.designProvider\\.email `string`\n- alternativeTo\\.designProvider\\.id `integer`\n- alternativeTo\\.designProvider\\.name `string`\n- alternativeTo\\.externalReferences\\.size `integer`\n- alternativeTo\\.id `integer`\n- alternativeTo\\.mergees\\.size `integer`\n- alternativeTo\\.name `string`\n- alternativeTo\\.primaryTaxon\\.commonName `string`\n- alternativeTo\\.primaryTaxon\\.id `integer`\n- alternativeTo\\.primaryTaxon\\.isGenesUsable `boolean`\n- alternativeTo\\.primaryTaxon\\.ncbiId `integer`\n- alternativeTo\\.primaryTaxon\\.scientificName `string`\n- alternativeTo\\.primaryTaxon\\.secondaryNcbiId `integer`\n- alternativeTo\\.shortName `string`\n- alternativeTo\\.subsumedArrayDesigns\\.size `integer`\n- alternativeTo\\.technologyType `string` \\(possible values\\: TWOCOLOR\\, DUALMODE\\, ONECOLOR\\, SEQUENCING\\, GENELIST\\, OTHER\\)\n- compositeSequences\\.size `integer`\n- curationDetails\\.lastUpdated `string`\n- curationDetails\\.needsAttention `boolean`\n- curationDetails\\.troubled `boolean`\n- description `string`\n- designProvider\\.description `string`\n- designProvider\\.email `string`\n- designProvider\\.id `integer`\n- designProvider\\.name `string`\n- externalReferences\\.accession `string[]`\n- externalReferences\\.accessionVersion `string[]`\n- externalReferences\\.externalDatabase\\.description `string[]`\n- externalReferences\\.externalDatabase\\.externalDatabases\\.size `integer[]`\n- externalReferences\\.externalDatabase\\.ftpUri `string[]`\n- externalReferences\\.externalDatabase\\.id `integer[]`\n- externalReferences\\.externalDatabase\\.lastUpdated `string[]`\n- externalReferences\\.externalDatabase\\.localInstallDbName `string[]`\n- externalReferences\\.externalDatabase\\.name `string[]`\n- externalReferences\\.externalDatabase\\.releaseUrl `object[]`\n- externalReferences\\.externalDatabase\\.releaseVersion `string[]`\n- externalReferences\\.externalDatabase\\.type `string[]` \\(possible values\\: ONTOLOGY\\, SEQUENCE\\, LITERATURE\\, EXPRESSION\\, GENOME\\, OTHER\\, PROTEIN\\)\n- externalReferences\\.externalDatabase\\.webUri `string[]`\n- externalReferences\\.id `integer[]`\n- externalReferences\\.size `integer`\n- externalReferences\\.uri `string[]`\n- id `integer`\n- lastUpdated `string` \\(alias for curationDetails\\.lastUpdated\\)\n- mergedInto\\.advertisedNumberOfDesignElements `integer`\n- mergedInto\\.compositeSequences\\.size `integer`\n- mergedInto\\.curationDetails\\.id `integer`\n- mergedInto\\.curationDetails\\.lastUpdated `string`\n- mergedInto\\.curationDetails\\.needsAttention `boolean`\n- mergedInto\\.curationDetails\\.troubled `boolean`\n- mergedInto\\.description `string`\n- mergedInto\\.designProvider\\.description `string`\n- mergedInto\\.designProvider\\.email `string`\n- mergedInto\\.designProvider\\.id `integer`\n- mergedInto\\.designProvider\\.name `string`\n- mergedInto\\.externalReferences\\.size `integer`\n- mergedInto\\.id `integer`\n- mergedInto\\.mergees\\.size `integer`\n- mergedInto\\.name `string`\n- mergedInto\\.primaryTaxon\\.commonName `string`\n- mergedInto\\.primaryTaxon\\.id `integer`\n- mergedInto\\.primaryTaxon\\.isGenesUsable `boolean`\n- mergedInto\\.primaryTaxon\\.ncbiId `integer`\n- mergedInto\\.primaryTaxon\\.scientificName `string`\n- mergedInto\\.primaryTaxon\\.secondaryNcbiId `integer`\n- mergedInto\\.shortName `string`\n- mergedInto\\.subsumedArrayDesigns\\.size `integer`\n- mergedInto\\.technologyType `string` \\(possible values\\: TWOCOLOR\\, DUALMODE\\, ONECOLOR\\, SEQUENCING\\, GENELIST\\, OTHER\\)\n- mergees\\.size `integer`\n- name `string`\n- needsAttention `boolean` \\(alias for curationDetails\\.needsAttention\\)\n- primaryTaxon\\.commonName `string`\n- primaryTaxon\\.externalDatabase\\.description `string`\n- primaryTaxon\\.externalDatabase\\.ftpUri `string`\n- primaryTaxon\\.externalDatabase\\.id `integer`\n- primaryTaxon\\.externalDatabase\\.lastUpdated `string`\n- primaryTaxon\\.externalDatabase\\.localInstallDbName `string`\n- primaryTaxon\\.externalDatabase\\.name `string`\n- primaryTaxon\\.externalDatabase\\.releaseUrl `object`\n- primaryTaxon\\.externalDatabase\\.releaseVersion `string`\n- primaryTaxon\\.externalDatabase\\.type `string` \\(possible values\\: ONTOLOGY\\, SEQUENCE\\, LITERATURE\\, EXPRESSION\\, GENOME\\, OTHER\\, PROTEIN\\)\n- primaryTaxon\\.externalDatabase\\.webUri `string`\n- primaryTaxon\\.id `integer`\n- primaryTaxon\\.isGenesUsable `boolean`\n- primaryTaxon\\.ncbiId `integer`\n- primaryTaxon\\.scientificName `string`\n- primaryTaxon\\.secondaryNcbiId `integer`\n- shortName `string`\n- subsumedArrayDesigns\\.size `integer`\n- subsumingArrayDesign\\.advertisedNumberOfDesignElements `integer`\n- subsumingArrayDesign\\.compositeSequences\\.size `integer`\n- subsumingArrayDesign\\.curationDetails\\.id `integer`\n- subsumingArrayDesign\\.curationDetails\\.lastUpdated `string`\n- subsumingArrayDesign\\.curationDetails\\.needsAttention `boolean`\n- subsumingArrayDesign\\.curationDetails\\.troubled `boolean`\n- subsumingArrayDesign\\.description `string`\n- subsumingArrayDesign\\.designProvider\\.description `string`\n- subsumingArrayDesign\\.designProvider\\.email `string`\n- subsumingArrayDesign\\.designProvider\\.id `integer`\n- subsumingArrayDesign\\.designProvider\\.name `string`\n- subsumingArrayDesign\\.externalReferences\\.size `integer`\n- subsumingArrayDesign\\.id `integer`\n- subsumingArrayDesign\\.mergees\\.size `integer`\n- subsumingArrayDesign\\.name `string`\n- subsumingArrayDesign\\.primaryTaxon\\.commonName `string`\n- subsumingArrayDesign\\.primaryTaxon\\.id `integer`\n- subsumingArrayDesign\\.primaryTaxon\\.isGenesUsable `boolean`\n- subsumingArrayDesign\\.primaryTaxon\\.ncbiId `integer`\n- subsumingArrayDesign\\.primaryTaxon\\.scientificName `string`\n- subsumingArrayDesign\\.primaryTaxon\\.secondaryNcbiId `integer`\n- subsumingArrayDesign\\.shortName `string`\n- subsumingArrayDesign\\.subsumedArrayDesigns\\.size `integer`\n- subsumingArrayDesign\\.technologyType `string` \\(possible values\\: TWOCOLOR\\, DUALMODE\\, ONECOLOR\\, SEQUENCING\\, GENELIST\\, OTHER\\)\n- taxon `integer` \\(alias for taxon\\.id\\)\n- taxon\\.commonName `string` \\(alias for primaryTaxon\\.commonName\\)\n- taxon\\.externalDatabase\\.description `string` \\(alias for primaryTaxon\\.externalDatabase\\.description\\)\n- taxon\\.externalDatabase\\.externalDatabases\\.size `integer` \\(alias for primaryTaxon\\.externalDatabase\\.externalDatabases\\.size\\)\n- taxon\\.externalDatabase\\.ftpUri `string` \\(alias for primaryTaxon\\.externalDatabase\\.ftpUri\\)\n- taxon\\.externalDatabase\\.id `integer` \\(alias for primaryTaxon\\.externalDatabase\\.id\\)\n- taxon\\.externalDatabase\\.lastUpdated `string` \\(alias for primaryTaxon\\.externalDatabase\\.lastUpdated\\)\n- taxon\\.externalDatabase\\.localInstallDbName `string` \\(alias for primaryTaxon\\.externalDatabase\\.localInstallDbName\\)\n- taxon\\.externalDatabase\\.name `string` \\(alias for primaryTaxon\\.externalDatabase\\.name\\)\n- taxon\\.externalDatabase\\.releaseUrl `object` \\(alias for primaryTaxon\\.externalDatabase\\.releaseUrl\\)\n- taxon\\.externalDatabase\\.releaseVersion `string` \\(alias for primaryTaxon\\.externalDatabase\\.releaseVersion\\)\n- taxon\\.externalDatabase\\.type `string` \\(alias for primaryTaxon\\.externalDatabase\\.type\\, possible values\\: ONTOLOGY\\, SEQUENCE\\, LITERATURE\\, EXPRESSION\\, GENOME\\, OTHER\\, PROTEIN\\)\n- taxon\\.externalDatabase\\.webUri `string` \\(alias for primaryTaxon\\.externalDatabase\\.webUri\\)\n- taxon\\.id `integer` \\(alias for primaryTaxon\\.id\\)\n- taxon\\.isGenesUsable `boolean` \\(alias for primaryTaxon\\.isGenesUsable\\)\n- taxon\\.ncbiId `integer` \\(alias for primaryTaxon\\.ncbiId\\)\n- taxon\\.scientificName `string` \\(alias for primaryTaxon\\.scientificName\\)\n- taxon\\.secondaryNcbiId `integer` \\(alias for primaryTaxon\\.secondaryNcbiId\\)\n- technologyType `string` \\(possible values\\: TWOCOLOR\\, DUALMODE\\, ONECOLOR\\, SEQUENCING\\, GENELIST\\, OTHER\\)\n- troubled `boolean` \\(alias for curationDetails\\.troubled\\)","externalDocs":{"url":"https://gemma.msl.ubc.ca/resources/apidocs/ubic/gemma/rest/util/args/FilterArg.html"},"x-gemma-filterable-properties":[{"name":"advertisedNumberOfDesignElements","type":"integer"},{"name":"alternativeTo.advertisedNumberOfDesignElements","type":"integer"},{"name":"alternativeTo.compositeSequences.size","type":"integer"},{"name":"alternativeTo.curationDetails.id","type":"integer"},{"name":"alternativeTo.curationDetails.lastUpdated","type":"string"},{"name":"alternativeTo.curationDetails.needsAttention","type":"boolean"},{"name":"alternativeTo.curationDetails.troubled","type":"boolean"},{"name":"alternativeTo.description","type":"string"},{"name":"alternativeTo.designProvider.description","type":"string"},{"name":"alternativeTo.designProvider.email","type":"string"},{"name":"alternativeTo.designProvider.id","type":"integer"},{"name":"alternativeTo.designProvider.name","type":"string"},{"name":"alternativeTo.externalReferences.size","type":"integer"},{"name":"alternativeTo.id","type":"integer"},{"name":"alternativeTo.mergees.size","type":"integer"},{"name":"alternativeTo.name","type":"string"},{"name":"alternativeTo.primaryTaxon.commonName","type":"string"},{"name":"alternativeTo.primaryTaxon.id","type":"integer"},{"name":"alternativeTo.primaryTaxon.isGenesUsable","type":"boolean"},{"name":"alternativeTo.primaryTaxon.ncbiId","type":"integer"},{"name":"alternativeTo.primaryTaxon.scientificName","type":"string"},{"name":"alternativeTo.primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"alternativeTo.shortName","type":"string"},{"name":"alternativeTo.subsumedArrayDesigns.size","type":"integer"},{"name":"alternativeTo.technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"compositeSequences.size","type":"integer"},{"name":"curationDetails.lastUpdated","type":"string"},{"name":"curationDetails.needsAttention","type":"boolean"},{"name":"curationDetails.troubled","type":"boolean"},{"name":"description","type":"string"},{"name":"designProvider.description","type":"string"},{"name":"designProvider.email","type":"string"},{"name":"designProvider.id","type":"integer"},{"name":"designProvider.name","type":"string"},{"name":"externalReferences.accession","type":"string[]"},{"name":"externalReferences.accessionVersion","type":"string[]"},{"name":"externalReferences.externalDatabase.description","type":"string[]"},{"name":"externalReferences.externalDatabase.externalDatabases.size","type":"integer[]"},{"name":"externalReferences.externalDatabase.ftpUri","type":"string[]"},{"name":"externalReferences.externalDatabase.id","type":"integer[]"},{"name":"externalReferences.externalDatabase.lastUpdated","type":"string[]"},{"name":"externalReferences.externalDatabase.localInstallDbName","type":"string[]"},{"name":"externalReferences.externalDatabase.name","type":"string[]"},{"name":"externalReferences.externalDatabase.releaseUrl","type":"object[]"},{"name":"externalReferences.externalDatabase.releaseVersion","type":"string[]"},{"name":"externalReferences.externalDatabase.type","type":"string[]","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"externalReferences.externalDatabase.webUri","type":"string[]"},{"name":"externalReferences.id","type":"integer[]"},{"name":"externalReferences.size","type":"integer"},{"name":"externalReferences.uri","type":"string[]"},{"name":"id","type":"integer"},{"name":"lastUpdated","type":"string","description":"alias for curationDetails.lastUpdated"},{"name":"mergedInto.advertisedNumberOfDesignElements","type":"integer"},{"name":"mergedInto.compositeSequences.size","type":"integer"},{"name":"mergedInto.curationDetails.id","type":"integer"},{"name":"mergedInto.curationDetails.lastUpdated","type":"string"},{"name":"mergedInto.curationDetails.needsAttention","type":"boolean"},{"name":"mergedInto.curationDetails.troubled","type":"boolean"},{"name":"mergedInto.description","type":"string"},{"name":"mergedInto.designProvider.description","type":"string"},{"name":"mergedInto.designProvider.email","type":"string"},{"name":"mergedInto.designProvider.id","type":"integer"},{"name":"mergedInto.designProvider.name","type":"string"},{"name":"mergedInto.externalReferences.size","type":"integer"},{"name":"mergedInto.id","type":"integer"},{"name":"mergedInto.mergees.size","type":"integer"},{"name":"mergedInto.name","type":"string"},{"name":"mergedInto.primaryTaxon.commonName","type":"string"},{"name":"mergedInto.primaryTaxon.id","type":"integer"},{"name":"mergedInto.primaryTaxon.isGenesUsable","type":"boolean"},{"name":"mergedInto.primaryTaxon.ncbiId","type":"integer"},{"name":"mergedInto.primaryTaxon.scientificName","type":"string"},{"name":"mergedInto.primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"mergedInto.shortName","type":"string"},{"name":"mergedInto.subsumedArrayDesigns.size","type":"integer"},{"name":"mergedInto.technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"mergees.size","type":"integer"},{"name":"name","type":"string"},{"name":"needsAttention","type":"boolean","description":"alias for curationDetails.needsAttention"},{"name":"primaryTaxon.commonName","type":"string"},{"name":"primaryTaxon.externalDatabase.description","type":"string"},{"name":"primaryTaxon.externalDatabase.ftpUri","type":"string"},{"name":"primaryTaxon.externalDatabase.id","type":"integer"},{"name":"primaryTaxon.externalDatabase.lastUpdated","type":"string"},{"name":"primaryTaxon.externalDatabase.localInstallDbName","type":"string"},{"name":"primaryTaxon.externalDatabase.name","type":"string"},{"name":"primaryTaxon.externalDatabase.releaseUrl","type":"object"},{"name":"primaryTaxon.externalDatabase.releaseVersion","type":"string"},{"name":"primaryTaxon.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"primaryTaxon.externalDatabase.webUri","type":"string"},{"name":"primaryTaxon.id","type":"integer"},{"name":"primaryTaxon.isGenesUsable","type":"boolean"},{"name":"primaryTaxon.ncbiId","type":"integer"},{"name":"primaryTaxon.scientificName","type":"string"},{"name":"primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"shortName","type":"string"},{"name":"subsumedArrayDesigns.size","type":"integer"},{"name":"subsumingArrayDesign.advertisedNumberOfDesignElements","type":"integer"},{"name":"subsumingArrayDesign.compositeSequences.size","type":"integer"},{"name":"subsumingArrayDesign.curationDetails.id","type":"integer"},{"name":"subsumingArrayDesign.curationDetails.lastUpdated","type":"string"},{"name":"subsumingArrayDesign.curationDetails.needsAttention","type":"boolean"},{"name":"subsumingArrayDesign.curationDetails.troubled","type":"boolean"},{"name":"subsumingArrayDesign.description","type":"string"},{"name":"subsumingArrayDesign.designProvider.description","type":"string"},{"name":"subsumingArrayDesign.designProvider.email","type":"string"},{"name":"subsumingArrayDesign.designProvider.id","type":"integer"},{"name":"subsumingArrayDesign.designProvider.name","type":"string"},{"name":"subsumingArrayDesign.externalReferences.size","type":"integer"},{"name":"subsumingArrayDesign.id","type":"integer"},{"name":"subsumingArrayDesign.mergees.size","type":"integer"},{"name":"subsumingArrayDesign.name","type":"string"},{"name":"subsumingArrayDesign.primaryTaxon.commonName","type":"string"},{"name":"subsumingArrayDesign.primaryTaxon.id","type":"integer"},{"name":"subsumingArrayDesign.primaryTaxon.isGenesUsable","type":"boolean"},{"name":"subsumingArrayDesign.primaryTaxon.ncbiId","type":"integer"},{"name":"subsumingArrayDesign.primaryTaxon.scientificName","type":"string"},{"name":"subsumingArrayDesign.primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"subsumingArrayDesign.shortName","type":"string"},{"name":"subsumingArrayDesign.subsumedArrayDesigns.size","type":"integer"},{"name":"subsumingArrayDesign.technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"taxon","type":"integer","description":"alias for taxon.id"},{"name":"taxon.commonName","type":"string","description":"alias for primaryTaxon.commonName"},{"name":"taxon.externalDatabase.description","type":"string","description":"alias for primaryTaxon.externalDatabase.description"},{"name":"taxon.externalDatabase.externalDatabases.size","type":"integer","description":"alias for primaryTaxon.externalDatabase.externalDatabases.size"},{"name":"taxon.externalDatabase.ftpUri","type":"string","description":"alias for primaryTaxon.externalDatabase.ftpUri"},{"name":"taxon.externalDatabase.id","type":"integer","description":"alias for primaryTaxon.externalDatabase.id"},{"name":"taxon.externalDatabase.lastUpdated","type":"string","description":"alias for primaryTaxon.externalDatabase.lastUpdated"},{"name":"taxon.externalDatabase.localInstallDbName","type":"string","description":"alias for primaryTaxon.externalDatabase.localInstallDbName"},{"name":"taxon.externalDatabase.name","type":"string","description":"alias for primaryTaxon.externalDatabase.name"},{"name":"taxon.externalDatabase.releaseUrl","type":"object","description":"alias for primaryTaxon.externalDatabase.releaseUrl"},{"name":"taxon.externalDatabase.releaseVersion","type":"string","description":"alias for primaryTaxon.externalDatabase.releaseVersion"},{"name":"taxon.externalDatabase.type","type":"string","description":"alias for primaryTaxon.externalDatabase.type","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"taxon.externalDatabase.webUri","type":"string","description":"alias for primaryTaxon.externalDatabase.webUri"},{"name":"taxon.id","type":"integer","description":"alias for primaryTaxon.id"},{"name":"taxon.isGenesUsable","type":"boolean","description":"alias for primaryTaxon.isGenesUsable"},{"name":"taxon.ncbiId","type":"integer","description":"alias for primaryTaxon.ncbiId"},{"name":"taxon.scientificName","type":"string","description":"alias for primaryTaxon.scientificName"},{"name":"taxon.secondaryNcbiId","type":"integer","description":"alias for primaryTaxon.secondaryNcbiId"},{"name":"technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"troubled","type":"boolean","description":"alias for curationDetails.troubled"}]},"PlatformArg":{"required":["value"],"oneOf":[{"type":"integer","description":"A platform numerical identifier.","format":"int64"},{"type":"string","description":"A platform short name."}]},"CompositeSequenceArg":{"required":["value"],"oneOf":[{"type":"integer","description":"A composite sequence numerical identifier.","format":"int64"},{"type":"string","description":"A composite sequence name."}]},"ResponseDataObjectCompositeSequenceValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CompositeSequenceValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"SortArgArrayDesign":{"pattern":"^(\\+|-?)(\\w+)$","type":"string","description":"Order results by the given property and direction. The '+' sign indicate ascending order whereas the '-' indicate descending. If no indicator is used, the default order is applied which is generally ascending. Nulls always appear last.\n\nAvailable properties:\n\n- advertisedNumberOfDesignElements `integer`\n- alternativeTo\\.advertisedNumberOfDesignElements `integer`\n- alternativeTo\\.compositeSequences\\.size `integer`\n- alternativeTo\\.curationDetails\\.id `integer`\n- alternativeTo\\.curationDetails\\.lastUpdated `string`\n- alternativeTo\\.curationDetails\\.needsAttention `boolean`\n- alternativeTo\\.curationDetails\\.troubled `boolean`\n- alternativeTo\\.description `string`\n- alternativeTo\\.designProvider\\.description `string`\n- alternativeTo\\.designProvider\\.email `string`\n- alternativeTo\\.designProvider\\.id `integer`\n- alternativeTo\\.designProvider\\.name `string`\n- alternativeTo\\.externalReferences\\.size `integer`\n- alternativeTo\\.id `integer`\n- alternativeTo\\.mergees\\.size `integer`\n- alternativeTo\\.name `string`\n- alternativeTo\\.primaryTaxon\\.commonName `string`\n- alternativeTo\\.primaryTaxon\\.id `integer`\n- alternativeTo\\.primaryTaxon\\.isGenesUsable `boolean`\n- alternativeTo\\.primaryTaxon\\.ncbiId `integer`\n- alternativeTo\\.primaryTaxon\\.scientificName `string`\n- alternativeTo\\.primaryTaxon\\.secondaryNcbiId `integer`\n- alternativeTo\\.shortName `string`\n- alternativeTo\\.subsumedArrayDesigns\\.size `integer`\n- alternativeTo\\.technologyType `string` \\(possible values\\: TWOCOLOR\\, DUALMODE\\, ONECOLOR\\, SEQUENCING\\, GENELIST\\, OTHER\\)\n- compositeSequences\\.size `integer`\n- curationDetails\\.lastUpdated `string`\n- curationDetails\\.needsAttention `boolean`\n- curationDetails\\.troubled `boolean`\n- description `string`\n- designProvider\\.description `string`\n- designProvider\\.email `string`\n- designProvider\\.id `integer`\n- designProvider\\.name `string`\n- externalReferences\\.accession `string[]`\n- externalReferences\\.accessionVersion `string[]`\n- externalReferences\\.externalDatabase\\.description `string[]`\n- externalReferences\\.externalDatabase\\.externalDatabases\\.size `integer[]`\n- externalReferences\\.externalDatabase\\.ftpUri `string[]`\n- externalReferences\\.externalDatabase\\.id `integer[]`\n- externalReferences\\.externalDatabase\\.lastUpdated `string[]`\n- externalReferences\\.externalDatabase\\.localInstallDbName `string[]`\n- externalReferences\\.externalDatabase\\.name `string[]`\n- externalReferences\\.externalDatabase\\.releaseUrl `object[]`\n- externalReferences\\.externalDatabase\\.releaseVersion `string[]`\n- externalReferences\\.externalDatabase\\.type `string[]` \\(possible values\\: ONTOLOGY\\, SEQUENCE\\, LITERATURE\\, EXPRESSION\\, GENOME\\, OTHER\\, PROTEIN\\)\n- externalReferences\\.externalDatabase\\.webUri `string[]`\n- externalReferences\\.id `integer[]`\n- externalReferences\\.size `integer`\n- externalReferences\\.uri `string[]`\n- id `integer`\n- lastUpdated `string` \\(alias for curationDetails\\.lastUpdated\\)\n- mergedInto\\.advertisedNumberOfDesignElements `integer`\n- mergedInto\\.compositeSequences\\.size `integer`\n- mergedInto\\.curationDetails\\.id `integer`\n- mergedInto\\.curationDetails\\.lastUpdated `string`\n- mergedInto\\.curationDetails\\.needsAttention `boolean`\n- mergedInto\\.curationDetails\\.troubled `boolean`\n- mergedInto\\.description `string`\n- mergedInto\\.designProvider\\.description `string`\n- mergedInto\\.designProvider\\.email `string`\n- mergedInto\\.designProvider\\.id `integer`\n- mergedInto\\.designProvider\\.name `string`\n- mergedInto\\.externalReferences\\.size `integer`\n- mergedInto\\.id `integer`\n- mergedInto\\.mergees\\.size `integer`\n- mergedInto\\.name `string`\n- mergedInto\\.primaryTaxon\\.commonName `string`\n- mergedInto\\.primaryTaxon\\.id `integer`\n- mergedInto\\.primaryTaxon\\.isGenesUsable `boolean`\n- mergedInto\\.primaryTaxon\\.ncbiId `integer`\n- mergedInto\\.primaryTaxon\\.scientificName `string`\n- mergedInto\\.primaryTaxon\\.secondaryNcbiId `integer`\n- mergedInto\\.shortName `string`\n- mergedInto\\.subsumedArrayDesigns\\.size `integer`\n- mergedInto\\.technologyType `string` \\(possible values\\: TWOCOLOR\\, DUALMODE\\, ONECOLOR\\, SEQUENCING\\, GENELIST\\, OTHER\\)\n- mergees\\.size `integer`\n- name `string`\n- needsAttention `boolean` \\(alias for curationDetails\\.needsAttention\\)\n- primaryTaxon\\.commonName `string`\n- primaryTaxon\\.externalDatabase\\.description `string`\n- primaryTaxon\\.externalDatabase\\.ftpUri `string`\n- primaryTaxon\\.externalDatabase\\.id `integer`\n- primaryTaxon\\.externalDatabase\\.lastUpdated `string`\n- primaryTaxon\\.externalDatabase\\.localInstallDbName `string`\n- primaryTaxon\\.externalDatabase\\.name `string`\n- primaryTaxon\\.externalDatabase\\.releaseUrl `object`\n- primaryTaxon\\.externalDatabase\\.releaseVersion `string`\n- primaryTaxon\\.externalDatabase\\.type `string` \\(possible values\\: ONTOLOGY\\, SEQUENCE\\, LITERATURE\\, EXPRESSION\\, GENOME\\, OTHER\\, PROTEIN\\)\n- primaryTaxon\\.externalDatabase\\.webUri `string`\n- primaryTaxon\\.id `integer`\n- primaryTaxon\\.isGenesUsable `boolean`\n- primaryTaxon\\.ncbiId `integer`\n- primaryTaxon\\.scientificName `string`\n- primaryTaxon\\.secondaryNcbiId `integer`\n- shortName `string`\n- subsumedArrayDesigns\\.size `integer`\n- subsumingArrayDesign\\.advertisedNumberOfDesignElements `integer`\n- subsumingArrayDesign\\.compositeSequences\\.size `integer`\n- subsumingArrayDesign\\.curationDetails\\.id `integer`\n- subsumingArrayDesign\\.curationDetails\\.lastUpdated `string`\n- subsumingArrayDesign\\.curationDetails\\.needsAttention `boolean`\n- subsumingArrayDesign\\.curationDetails\\.troubled `boolean`\n- subsumingArrayDesign\\.description `string`\n- subsumingArrayDesign\\.designProvider\\.description `string`\n- subsumingArrayDesign\\.designProvider\\.email `string`\n- subsumingArrayDesign\\.designProvider\\.id `integer`\n- subsumingArrayDesign\\.designProvider\\.name `string`\n- subsumingArrayDesign\\.externalReferences\\.size `integer`\n- subsumingArrayDesign\\.id `integer`\n- subsumingArrayDesign\\.mergees\\.size `integer`\n- subsumingArrayDesign\\.name `string`\n- subsumingArrayDesign\\.primaryTaxon\\.commonName `string`\n- subsumingArrayDesign\\.primaryTaxon\\.id `integer`\n- subsumingArrayDesign\\.primaryTaxon\\.isGenesUsable `boolean`\n- subsumingArrayDesign\\.primaryTaxon\\.ncbiId `integer`\n- subsumingArrayDesign\\.primaryTaxon\\.scientificName `string`\n- subsumingArrayDesign\\.primaryTaxon\\.secondaryNcbiId `integer`\n- subsumingArrayDesign\\.shortName `string`\n- subsumingArrayDesign\\.subsumedArrayDesigns\\.size `integer`\n- subsumingArrayDesign\\.technologyType `string` \\(possible values\\: TWOCOLOR\\, DUALMODE\\, ONECOLOR\\, SEQUENCING\\, GENELIST\\, OTHER\\)\n- taxon `integer` \\(alias for taxon\\.id\\)\n- taxon\\.commonName `string` \\(alias for primaryTaxon\\.commonName\\)\n- taxon\\.externalDatabase\\.description `string` \\(alias for primaryTaxon\\.externalDatabase\\.description\\)\n- taxon\\.externalDatabase\\.externalDatabases\\.size `integer` \\(alias for primaryTaxon\\.externalDatabase\\.externalDatabases\\.size\\)\n- taxon\\.externalDatabase\\.ftpUri `string` \\(alias for primaryTaxon\\.externalDatabase\\.ftpUri\\)\n- taxon\\.externalDatabase\\.id `integer` \\(alias for primaryTaxon\\.externalDatabase\\.id\\)\n- taxon\\.externalDatabase\\.lastUpdated `string` \\(alias for primaryTaxon\\.externalDatabase\\.lastUpdated\\)\n- taxon\\.externalDatabase\\.localInstallDbName `string` \\(alias for primaryTaxon\\.externalDatabase\\.localInstallDbName\\)\n- taxon\\.externalDatabase\\.name `string` \\(alias for primaryTaxon\\.externalDatabase\\.name\\)\n- taxon\\.externalDatabase\\.releaseUrl `object` \\(alias for primaryTaxon\\.externalDatabase\\.releaseUrl\\)\n- taxon\\.externalDatabase\\.releaseVersion `string` \\(alias for primaryTaxon\\.externalDatabase\\.releaseVersion\\)\n- taxon\\.externalDatabase\\.type `string` \\(alias for primaryTaxon\\.externalDatabase\\.type\\, possible values\\: ONTOLOGY\\, SEQUENCE\\, LITERATURE\\, EXPRESSION\\, GENOME\\, OTHER\\, PROTEIN\\)\n- taxon\\.externalDatabase\\.webUri `string` \\(alias for primaryTaxon\\.externalDatabase\\.webUri\\)\n- taxon\\.id `integer` \\(alias for primaryTaxon\\.id\\)\n- taxon\\.isGenesUsable `boolean` \\(alias for primaryTaxon\\.isGenesUsable\\)\n- taxon\\.ncbiId `integer` \\(alias for primaryTaxon\\.ncbiId\\)\n- taxon\\.scientificName `string` \\(alias for primaryTaxon\\.scientificName\\)\n- taxon\\.secondaryNcbiId `integer` \\(alias for primaryTaxon\\.secondaryNcbiId\\)\n- technologyType `string` \\(possible values\\: TWOCOLOR\\, DUALMODE\\, ONECOLOR\\, SEQUENCING\\, GENELIST\\, OTHER\\)\n- troubled `boolean` \\(alias for curationDetails\\.troubled\\)","x-gemma-filterable-properties":[{"name":"advertisedNumberOfDesignElements","type":"integer"},{"name":"alternativeTo.advertisedNumberOfDesignElements","type":"integer"},{"name":"alternativeTo.compositeSequences.size","type":"integer"},{"name":"alternativeTo.curationDetails.id","type":"integer"},{"name":"alternativeTo.curationDetails.lastUpdated","type":"string"},{"name":"alternativeTo.curationDetails.needsAttention","type":"boolean"},{"name":"alternativeTo.curationDetails.troubled","type":"boolean"},{"name":"alternativeTo.description","type":"string"},{"name":"alternativeTo.designProvider.description","type":"string"},{"name":"alternativeTo.designProvider.email","type":"string"},{"name":"alternativeTo.designProvider.id","type":"integer"},{"name":"alternativeTo.designProvider.name","type":"string"},{"name":"alternativeTo.externalReferences.size","type":"integer"},{"name":"alternativeTo.id","type":"integer"},{"name":"alternativeTo.mergees.size","type":"integer"},{"name":"alternativeTo.name","type":"string"},{"name":"alternativeTo.primaryTaxon.commonName","type":"string"},{"name":"alternativeTo.primaryTaxon.id","type":"integer"},{"name":"alternativeTo.primaryTaxon.isGenesUsable","type":"boolean"},{"name":"alternativeTo.primaryTaxon.ncbiId","type":"integer"},{"name":"alternativeTo.primaryTaxon.scientificName","type":"string"},{"name":"alternativeTo.primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"alternativeTo.shortName","type":"string"},{"name":"alternativeTo.subsumedArrayDesigns.size","type":"integer"},{"name":"alternativeTo.technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"compositeSequences.size","type":"integer"},{"name":"curationDetails.lastUpdated","type":"string"},{"name":"curationDetails.needsAttention","type":"boolean"},{"name":"curationDetails.troubled","type":"boolean"},{"name":"description","type":"string"},{"name":"designProvider.description","type":"string"},{"name":"designProvider.email","type":"string"},{"name":"designProvider.id","type":"integer"},{"name":"designProvider.name","type":"string"},{"name":"externalReferences.accession","type":"string[]"},{"name":"externalReferences.accessionVersion","type":"string[]"},{"name":"externalReferences.externalDatabase.description","type":"string[]"},{"name":"externalReferences.externalDatabase.externalDatabases.size","type":"integer[]"},{"name":"externalReferences.externalDatabase.ftpUri","type":"string[]"},{"name":"externalReferences.externalDatabase.id","type":"integer[]"},{"name":"externalReferences.externalDatabase.lastUpdated","type":"string[]"},{"name":"externalReferences.externalDatabase.localInstallDbName","type":"string[]"},{"name":"externalReferences.externalDatabase.name","type":"string[]"},{"name":"externalReferences.externalDatabase.releaseUrl","type":"object[]"},{"name":"externalReferences.externalDatabase.releaseVersion","type":"string[]"},{"name":"externalReferences.externalDatabase.type","type":"string[]","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"externalReferences.externalDatabase.webUri","type":"string[]"},{"name":"externalReferences.id","type":"integer[]"},{"name":"externalReferences.size","type":"integer"},{"name":"externalReferences.uri","type":"string[]"},{"name":"id","type":"integer"},{"name":"lastUpdated","type":"string","description":"alias for curationDetails.lastUpdated"},{"name":"mergedInto.advertisedNumberOfDesignElements","type":"integer"},{"name":"mergedInto.compositeSequences.size","type":"integer"},{"name":"mergedInto.curationDetails.id","type":"integer"},{"name":"mergedInto.curationDetails.lastUpdated","type":"string"},{"name":"mergedInto.curationDetails.needsAttention","type":"boolean"},{"name":"mergedInto.curationDetails.troubled","type":"boolean"},{"name":"mergedInto.description","type":"string"},{"name":"mergedInto.designProvider.description","type":"string"},{"name":"mergedInto.designProvider.email","type":"string"},{"name":"mergedInto.designProvider.id","type":"integer"},{"name":"mergedInto.designProvider.name","type":"string"},{"name":"mergedInto.externalReferences.size","type":"integer"},{"name":"mergedInto.id","type":"integer"},{"name":"mergedInto.mergees.size","type":"integer"},{"name":"mergedInto.name","type":"string"},{"name":"mergedInto.primaryTaxon.commonName","type":"string"},{"name":"mergedInto.primaryTaxon.id","type":"integer"},{"name":"mergedInto.primaryTaxon.isGenesUsable","type":"boolean"},{"name":"mergedInto.primaryTaxon.ncbiId","type":"integer"},{"name":"mergedInto.primaryTaxon.scientificName","type":"string"},{"name":"mergedInto.primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"mergedInto.shortName","type":"string"},{"name":"mergedInto.subsumedArrayDesigns.size","type":"integer"},{"name":"mergedInto.technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"mergees.size","type":"integer"},{"name":"name","type":"string"},{"name":"needsAttention","type":"boolean","description":"alias for curationDetails.needsAttention"},{"name":"primaryTaxon.commonName","type":"string"},{"name":"primaryTaxon.externalDatabase.description","type":"string"},{"name":"primaryTaxon.externalDatabase.ftpUri","type":"string"},{"name":"primaryTaxon.externalDatabase.id","type":"integer"},{"name":"primaryTaxon.externalDatabase.lastUpdated","type":"string"},{"name":"primaryTaxon.externalDatabase.localInstallDbName","type":"string"},{"name":"primaryTaxon.externalDatabase.name","type":"string"},{"name":"primaryTaxon.externalDatabase.releaseUrl","type":"object"},{"name":"primaryTaxon.externalDatabase.releaseVersion","type":"string"},{"name":"primaryTaxon.externalDatabase.type","type":"string","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"primaryTaxon.externalDatabase.webUri","type":"string"},{"name":"primaryTaxon.id","type":"integer"},{"name":"primaryTaxon.isGenesUsable","type":"boolean"},{"name":"primaryTaxon.ncbiId","type":"integer"},{"name":"primaryTaxon.scientificName","type":"string"},{"name":"primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"shortName","type":"string"},{"name":"subsumedArrayDesigns.size","type":"integer"},{"name":"subsumingArrayDesign.advertisedNumberOfDesignElements","type":"integer"},{"name":"subsumingArrayDesign.compositeSequences.size","type":"integer"},{"name":"subsumingArrayDesign.curationDetails.id","type":"integer"},{"name":"subsumingArrayDesign.curationDetails.lastUpdated","type":"string"},{"name":"subsumingArrayDesign.curationDetails.needsAttention","type":"boolean"},{"name":"subsumingArrayDesign.curationDetails.troubled","type":"boolean"},{"name":"subsumingArrayDesign.description","type":"string"},{"name":"subsumingArrayDesign.designProvider.description","type":"string"},{"name":"subsumingArrayDesign.designProvider.email","type":"string"},{"name":"subsumingArrayDesign.designProvider.id","type":"integer"},{"name":"subsumingArrayDesign.designProvider.name","type":"string"},{"name":"subsumingArrayDesign.externalReferences.size","type":"integer"},{"name":"subsumingArrayDesign.id","type":"integer"},{"name":"subsumingArrayDesign.mergees.size","type":"integer"},{"name":"subsumingArrayDesign.name","type":"string"},{"name":"subsumingArrayDesign.primaryTaxon.commonName","type":"string"},{"name":"subsumingArrayDesign.primaryTaxon.id","type":"integer"},{"name":"subsumingArrayDesign.primaryTaxon.isGenesUsable","type":"boolean"},{"name":"subsumingArrayDesign.primaryTaxon.ncbiId","type":"integer"},{"name":"subsumingArrayDesign.primaryTaxon.scientificName","type":"string"},{"name":"subsumingArrayDesign.primaryTaxon.secondaryNcbiId","type":"integer"},{"name":"subsumingArrayDesign.shortName","type":"string"},{"name":"subsumingArrayDesign.subsumedArrayDesigns.size","type":"integer"},{"name":"subsumingArrayDesign.technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"taxon","type":"integer","description":"alias for taxon.id"},{"name":"taxon.commonName","type":"string","description":"alias for primaryTaxon.commonName"},{"name":"taxon.externalDatabase.description","type":"string","description":"alias for primaryTaxon.externalDatabase.description"},{"name":"taxon.externalDatabase.externalDatabases.size","type":"integer","description":"alias for primaryTaxon.externalDatabase.externalDatabases.size"},{"name":"taxon.externalDatabase.ftpUri","type":"string","description":"alias for primaryTaxon.externalDatabase.ftpUri"},{"name":"taxon.externalDatabase.id","type":"integer","description":"alias for primaryTaxon.externalDatabase.id"},{"name":"taxon.externalDatabase.lastUpdated","type":"string","description":"alias for primaryTaxon.externalDatabase.lastUpdated"},{"name":"taxon.externalDatabase.localInstallDbName","type":"string","description":"alias for primaryTaxon.externalDatabase.localInstallDbName"},{"name":"taxon.externalDatabase.name","type":"string","description":"alias for primaryTaxon.externalDatabase.name"},{"name":"taxon.externalDatabase.releaseUrl","type":"object","description":"alias for primaryTaxon.externalDatabase.releaseUrl"},{"name":"taxon.externalDatabase.releaseVersion","type":"string","description":"alias for primaryTaxon.externalDatabase.releaseVersion"},{"name":"taxon.externalDatabase.type","type":"string","description":"alias for primaryTaxon.externalDatabase.type","allowedValues":[{"value":"ONTOLOGY","label":"Ontology"},{"value":"SEQUENCE","label":"Sequence"},{"value":"LITERATURE","label":"Literature"},{"value":"EXPRESSION","label":"Expression"},{"value":"GENOME","label":"Genome"},{"value":"OTHER","label":"Other"},{"value":"PROTEIN","label":"Protein"}]},{"name":"taxon.externalDatabase.webUri","type":"string","description":"alias for primaryTaxon.externalDatabase.webUri"},{"name":"taxon.id","type":"integer","description":"alias for primaryTaxon.id"},{"name":"taxon.isGenesUsable","type":"boolean","description":"alias for primaryTaxon.isGenesUsable"},{"name":"taxon.ncbiId","type":"integer","description":"alias for primaryTaxon.ncbiId"},{"name":"taxon.scientificName","type":"string","description":"alias for primaryTaxon.scientificName"},{"name":"taxon.secondaryNcbiId","type":"integer","description":"alias for primaryTaxon.secondaryNcbiId"},{"name":"technologyType","type":"string","allowedValues":[{"value":"TWOCOLOR","label":"Two Color"},{"value":"DUALMODE","label":"Dual Mode"},{"value":"ONECOLOR","label":"One Color"},{"value":"SEQUENCING","label":"Sequencing"},{"value":"GENELIST","label":"Gene List"},{"value":"OTHER","label":"Other"}]},{"name":"troubled","type":"boolean","description":"alias for curationDetails.troubled"}]},"AttachAnnotationSetRequest":{"type":"object","properties":{"runId":{"type":"string"},"agentVersion":{"type":"string","nullable":true},"model":{"type":"string","nullable":true},"ranAt":{"type":"string","format":"date-time","nullable":true},"payloadJson":{"type":"string","nullable":true},"kind":{"type":"string","nullable":true},"role":{"type":"string","nullable":true},"source":{"type":"string","nullable":true},"createdBy":{"type":"string","nullable":true}},"nullable":true},"CreatePreboardedRequest":{"type":"object","properties":{"accession":{"type":"string"},"source":{"type":"string","nullable":true},"identifyingMetadata":{"type":"string","nullable":true}},"nullable":true},"AnnotationSetSnapshotResponse":{"type":"object","properties":{"model":{"type":"string","nullable":true},"annotationSetId":{"type":"integer","format":"int64"},"preboardedId":{"type":"integer","format":"int64"},"role":{"type":"string"},"kind":{"type":"string","nullable":true},"runId":{"type":"string"},"agentVersion":{"type":"string","nullable":true},"ranAt":{"type":"string","format":"date-time","nullable":true},"payloadJson":{"type":"string","nullable":true}},"nullable":true},"PreboardedResponse":{"type":"object","properties":{"accession":{"type":"string"},"source":{"type":"string"},"state":{"type":"string"},"preboardedId":{"type":"integer","format":"int64"},"identifyingMetadata":{"type":"string","nullable":true},"enteredCurrentStateAt":{"type":"string","format":"date-time","nullable":true},"proposalCount":{"type":"integer","format":"int64"},"latestAnnotationSet":{"$ref":"#/components/schemas/AnnotationSetSnapshotResponse"},"auditTrailUrl":{"type":"string"}}},"PromoteRequest":{"type":"object","properties":{"eeId":{"type":"integer","format":"int64"},"applyLatestProposal":{"type":"boolean","nullable":true}},"nullable":true},"ChangePasswordRequest":{"type":"object","properties":{"currentPassword":{"type":"string"},"newPassword":{"type":"string"}}},"ApiInfoValueObject":{"type":"object","properties":{"welcome":{"type":"string"},"version":{"type":"string"},"documentationUrl":{"type":"string","format":"uri"},"specificationUrl":{"type":"string","format":"uri"},"externalDatabases":{"type":"array","items":{"$ref":"#/components/schemas/ExternalDatabaseValueObject"}},"buildInfo":{"$ref":"#/components/schemas/BuildInfoValueObject"},"docs":{"type":"string","format":"uri"}}},"ResponseDataObjectApiInfoValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ApiInfoValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"SearchResultValueObjectObject":{"type":"object","properties":{"resultId":{"type":"integer","format":"int64"},"resultType":{"$ref":"#/components/schemas/SearchResultType"},"score":{"type":"number","format":"double"},"highlights":{"type":"object","additionalProperties":{"type":"string"}},"matchType":{"type":"string","description":"How the result matched the query (exact_symbol, alias, prefix, official_name, official_name_prefix, exact_identifier); omitted if unclassified.","nullable":true},"resultObject":{"type":"object","oneOf":[{"$ref":"#/components/schemas/ArrayDesignValueObject"},{"$ref":"#/components/schemas/BibliographicReferenceValueObject"},{"$ref":"#/components/schemas/BioSequenceValueObject"},{"$ref":"#/components/schemas/CompositeSequenceValueObject"},{"$ref":"#/components/schemas/ExpressionExperimentValueObject"},{"$ref":"#/components/schemas/ExpressionExperimentSetValueObject"},{"$ref":"#/components/schemas/GeneValueObject"},{"$ref":"#/components/schemas/GeneSetValueObject"},{"$ref":"#/components/schemas/CharacteristicValueObject"}]},"resultObjectUrl":{"type":"string","nullable":true},"resultObjectUrlExternal":{"type":"boolean"}}},"SearchResultsResponseDataObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SearchResultValueObjectObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"searchSettings":{"$ref":"#/components/schemas/SearchSettingsValueObject"}}},"SearchSettingsValueObject":{"type":"object","properties":{"query":{"type":"string"},"resultTypes":{"type":"array","items":{"$ref":"#/components/schemas/SearchResultType"}},"taxon":{"$ref":"#/components/schemas/TaxonValueObject"},"platform":{"$ref":"#/components/schemas/ArrayDesignValueObject"},"maxResults":{"type":"integer","format":"int32","nullable":true}}},"SearchResultType":{"type":"array","items":{"type":"string","enum":["ubic.gemma.model.analysis.expression.ExpressionExperimentSet","ubic.gemma.model.genome.gene.GeneSet","ubic.gemma.model.blacklist.BlacklistedEntity","ubic.gemma.model.expression.arrayDesign.ArrayDesign","ubic.gemma.model.expression.designElement.CompositeSequence","ubic.gemma.model.genome.Gene","ubic.gemma.model.genome.biosequence.BioSequence","ubic.gemma.model.expression.experiment.ExpressionExperiment","ubic.gemma.model.common.description.BibliographicReference"]}},"AccessionSourceStat":{"type":"object","properties":{"source":{"type":"string"},"count":{"type":"integer","format":"int64"}}},"CategoryStat":{"type":"object","properties":{"key":{"type":"string"},"category":{"type":"string"},"categoryUri":{"type":"string"},"numberOfExpressionExperiments":{"type":"integer","format":"int64"},"numberOfDistinctTerms":{"type":"integer","format":"int64"}}},"FactorValueCategoryStat":{"type":"object","properties":{"category":{"type":"string"},"categoryUri":{"type":"string"},"numberOfDistinctFactorValues":{"type":"integer","format":"int64"},"numberOfExpressionExperiments":{"type":"integer","format":"int64"}}},"HomeStats":{"type":"object","properties":{"generatedAt":{"type":"string","format":"date-time"},"datasetCount":{"type":"integer","format":"int64"},"platformCount":{"type":"integer","format":"int64"},"distinctAccessionCount":{"type":"integer","format":"int64"},"sampleCount":{"type":"integer","format":"int64"},"geneCount":{"type":"integer","format":"int64"},"byTaxon":{"type":"array","items":{"$ref":"#/components/schemas/TaxonStat"}},"datasetsByAccessionSource":{"type":"array","items":{"$ref":"#/components/schemas/AccessionSourceStat"}},"byPlatformType":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"singleCellCount":{"type":"integer","format":"int64"},"deaResultSetCount":{"type":"integer","format":"int64"},"drugCount":{"type":"integer","format":"int64"},"geneManipulatedCount":{"type":"integer","format":"int64"},"geneManipulatedExperimentCount":{"type":"integer","format":"int64"},"totalCells":{"type":"integer","format":"int64"},"samplesByTech":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"factorValuesByCategory":{"type":"array","items":{"$ref":"#/components/schemas/FactorValueCategoryStat"}},"treatmentSubcategories":{"type":"array","items":{"$ref":"#/components/schemas/TreatmentBucketStat"}},"topPerturbedGenes":{"type":"array","items":{"$ref":"#/components/schemas/PerturbedGeneStat"}},"ontologyTermCount":{"type":"integer","format":"int64"},"byAnnotationCategory":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"categoryDistribution":{"type":"array","items":{"$ref":"#/components/schemas/CategoryStat"}},"recentExperiments":{"type":"array","items":{"$ref":"#/components/schemas/RecentExperiment"}}}},"PerturbedGeneStat":{"type":"object","properties":{"geneSymbol":{"type":"string"},"taxon":{"type":"string"},"numberOfExpressionExperiments":{"type":"integer","format":"int64"}}},"RecentExperiment":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"shortName":{"type":"string"},"name":{"type":"string"},"taxon":{"type":"string"},"lastUpdated":{"type":"string","format":"date-time"}}},"ResponseDataObjectHomeStats":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/HomeStats"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"TaxonStat":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"commonName":{"type":"string"},"scientificName":{"type":"string"},"count":{"type":"integer","format":"int64"}}},"TermStat":{"type":"object","properties":{"uri":{"type":"string"},"label":{"type":"string"},"count":{"type":"integer","format":"int64"}}},"TreatmentBucketStat":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"group":{"type":"string"},"count":{"type":"integer","format":"int64"},"termCount":{"type":"integer","format":"int64"},"topTerms":{"type":"array","items":{"$ref":"#/components/schemas/TermStat"}},"subBuckets":{"type":"array","items":{"$ref":"#/components/schemas/TreatmentBucketStat"}}}},"ResponseDataObjectTaskStatusValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TaskStatusValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectListTaxonValueObject":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TaxonValueObject"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"CreateTicketRequest":{"type":"object","properties":{"type":{"type":"string","enum":["BATCH_INFO_NEEDED","REALIGNMENT_NEEDED","QUALITY_REVIEW","PRELOAD","CURATION","LITERATURE_SEARCH","GENERIC"]},"title":{"type":"string"},"targets":{"type":"array","items":{"$ref":"#/components/schemas/TicketTargetRequest"}},"priority":{"type":"string","nullable":true,"enum":["LOW","NORMAL","HIGH","URGENT"]},"dueDate":{"type":"string","format":"date-time","nullable":true},"assigneeId":{"type":"integer","format":"int64","nullable":true},"body":{"type":"string","nullable":true},"mode":{"type":"string","nullable":true,"enum":["MANUAL","AUTO"]}}},"TicketTargetRequest":{"type":"object","properties":{"targetType":{"type":"string","enum":["EXPRESSION_EXPERIMENT","ARRAY_DESIGN","FACTOR_VALUE","GEO_SCRAPE_WATERMARK","BIBLIOGRAPHIC_REFERENCE"]},"targetId":{"type":"integer","format":"int64"},"status":{"type":"string","nullable":true,"enum":["NOT_DONE","UNDERWAY","DONE"]}}},"MyQueueResponse":{"type":"object","properties":{"assigneeContactId":{"type":"integer","format":"int64"},"openLimit":{"type":"integer","format":"int32"},"resolvedWithinDays":{"type":"integer","format":"int32"},"openCount":{"type":"integer","format":"int32"},"recentlyResolvedCount":{"type":"integer","format":"int32"},"open":{"type":"array","items":{"$ref":"#/components/schemas/TicketValueObject"}},"recentlyResolved":{"type":"array","items":{"$ref":"#/components/schemas/TicketValueObject"}}}},"ResponseDataObjectMyQueueResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MyQueueResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"MyQueueSummaryResponse":{"type":"object","properties":{"assigneeContactId":{"type":"integer","format":"int64"},"openCount":{"type":"integer","format":"int64"},"totalCount":{"type":"integer","format":"int64"},"oldestOpenAgeDays":{"type":"integer","format":"int64","nullable":true}}},"ResponseDataObjectMyQueueSummaryResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MyQueueSummaryResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"OpenTicketSummaryResponse":{"type":"object","properties":{"totalOpen":{"type":"integer","format":"int64"},"byType":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}}}},"ResponseDataObjectOpenTicketSummaryResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OpenTicketSummaryResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"ResponseDataObjectTicketValueObject":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TicketValueObject"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"UpdateTicketRequest":{"type":"object","properties":{"state":{"type":"string","nullable":true,"enum":["OPEN","IN_PROGRESS","RESOLVED","CANCELLED"]},"reason":{"type":"string","nullable":true},"comment":{"type":"string","nullable":true},"priority":{"type":"string","nullable":true,"enum":["LOW","NORMAL","HIGH","URGENT"]},"assigneeId":{"type":"integer","format":"int64","nullable":true},"assigneeIdSet":{"type":"boolean"},"dueDate":{"type":"string","format":"date-time","nullable":true},"dueDateSet":{"type":"boolean"},"title":{"type":"string","nullable":true},"body":{"type":"string","nullable":true},"bodySet":{"type":"boolean"},"mode":{"type":"string","nullable":true,"enum":["MANUAL","AUTO"]}}},"UpdateTargetStatusRequest":{"type":"object","properties":{"status":{"type":"string","description":"Desired status for this target.","example":"DONE","enum":["NOT_DONE","UNDERWAY","DONE"]}}},"AdvanceWorkflowRequest":{"type":"object","properties":{"targetState":{"type":"string"},"reason":{"type":"string","nullable":true},"ticketId":{"type":"integer","format":"int64","nullable":true}},"nullable":true},"ResponseDataObjectWorkflowStateResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WorkflowStateResponse"},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}}}},"WorkflowHistoryEntry":{"type":"object","properties":{"enteredAt":{"type":"string","format":"date-time","nullable":true},"actor":{"type":"string","nullable":true},"note":{"type":"string","nullable":true}}},"WorkflowStateResponse":{"type":"object","properties":{"history":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowHistoryEntry"}},"datasetId":{"type":"integer","format":"int64"},"datasetType":{"type":"string"},"currentState":{"type":"string"},"enteredCurrentStateAt":{"type":"string","format":"date-time","nullable":true}}},"PaginatedResponseDataObjectWorkflowQueueEntryResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowQueueEntryResponse"}},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/WellComposedWarning"}},"groupBy":{"type":"array","items":{"type":"string"}},"sort":{"$ref":"#/components/schemas/SortValueObject"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"}}},"WorkflowQueueEntryResponse":{"type":"object","properties":{"datasetId":{"type":"integer","format":"int64"},"datasetType":{"type":"string"},"accession":{"type":"string","nullable":true},"enteredCurrentStateAt":{"type":"string","format":"date-time","nullable":true},"currentAssignee":{"type":"string","nullable":true},"ticketCountOpen":{"type":"integer","format":"int32"}}},"ComponentValueObject":{"type":"object","properties":{"status":{"type":"string"},"details":{"type":"object","additionalProperties":{"type":"object"}}}},"HealthValueObject":{"type":"object","properties":{"status":{"type":"string"},"components":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ComponentValueObject"}}}},"BuildBlock":{"type":"object","properties":{"version":{"type":"string","nullable":true},"timestamp":{"type":"string","nullable":true},"gitHash":{"type":"string","nullable":true}}},"InfoValueObject":{"type":"object","properties":{"build":{"$ref":"#/components/schemas/BuildBlock"},"java":{"$ref":"#/components/schemas/JavaBlock"},"os":{"$ref":"#/components/schemas/OsBlock"},"uptime":{"$ref":"#/components/schemas/UptimeBlock"}}},"JavaBlock":{"type":"object","properties":{"version":{"type":"string"},"vendor":{"type":"string"},"vm":{"type":"string"}}},"OsBlock":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"arch":{"type":"string"}}},"UptimeBlock":{"type":"object","properties":{"startTimeMillis":{"type":"integer","format":"int64"},"uptimeMillis":{"type":"integer","format":"int64"}}}},"securitySchemes":{"basicAuth":{"type":"http","description":"Authenticate with your Gemma username and password","scheme":"basic"},"cookieAuth":{"type":"apiKey","description":"Authenticate with your current Gemma session.","name":"JSESSIONID","in":"cookie"}}}} \ No newline at end of file From 497bf2e91ba5840b13cf0ce6701290216b97a11c Mon Sep 17 00:00:00 2001 From: OganM Date: Thu, 13 Aug 2026 18:14:35 -0700 Subject: [PATCH 3/9] platform annotations enpdoint replaces the convenience function for the same purpose --- R/convenience.R | 148 +---------------------------------------- inst/script/registry.R | 37 ++++++++++- 2 files changed, 38 insertions(+), 147 deletions(-) diff --git a/R/convenience.R b/R/convenience.R index 4ee154a8..4b207864 100644 --- a/R/convenience.R +++ b/R/convenience.R @@ -19,151 +19,9 @@ set_gemma_user <- function(username = NULL, password = NULL) { } } -#' Retrieve Platform Annotations by Gemma -#' -#' Gets Gemma's platform annotations including mappings of microarray probes to genes. -#' -#' @param platform A platform numerical identifiers or platform short name. -#' @param annotType Which GO terms should the output include -#' @param file Where to save the annotation file to, or empty to just load into memory -#' @param overwrite Whether or not to overwrite an existing file -#' @inheritParams memoise -#' @param unzip Whether or not to unzip the file (if @param file is not empty) -#' -#' @return A table of annotations -#' \itemize{ -#' \item \code{ElementName}: Probeset names provided by the platform. -#' Gene symbols for generic annotations typicall used for RNA-seq experiments. -#' \item \code{GeneSymbols}: Genes that were found to be aligned to -#' the probe sequence. Note that it is possible for probes to be -#' non-specific. Alignment to multiple genes are indicated with gene -#' symbols separated by "|"s -#' \item \code{GeneNames}: Name of the gene -#' \item \code{GOTerms}: GO Terms associated with the genes. \code{annotType} -#' argument can be used to choose which terms should be included. -#' \item \code{GemmaIDs} and \code{NCBIids}: respective IDs for the genes. -#' } -#' @keywords platform -#' @export -#' @examples -#' head(get_platform_annotations("GPL96")) -#' head(get_platform_annotations('Generic_human_ncbiIds')) -get_platform_annotations <- function(platform, - annotType = c("noParents","allParents","bioProcess"), - file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE), - memoised = getOption("gemma.memoise", FALSE), - unzip = FALSE){ - - if (memoised){ - if (!is.na(file)){ - warning("Saving to files is not supported with memoisation.") - } - if ("character" %in% class(gemmaCache()) && gemmaCache() == - "cache_in_memory") { - return(mem_in_memory_cache("get_platform_annotations", - platform = platform, - annotType = annotType, - file = NA, - overwrite = overwrite, - memoised = FALSE, - unzip = unzip - )) - } else{ - out <- memget_platform_annotations( - platform = platform, - annotType = annotType, - file = NA, - overwrite = overwrite, - memoised = FALSE, - unzip = unzip - ) - return(out) - } - - } - - if (!is.numeric(platform)) { - platforms <- get_platforms_by_ids(platform) - if (!isTRUE(nrow(platforms) == 1)) { - stop(platform, " is not a valid single platform.") - } - platform <- platforms[, "platform.ID"] - } - - annotType <- match.arg(annotType) - - - is.tmp = is.null(file) || is.na(file) || unzip - - if (is.tmp) { - file_path <- tempfile(fileext = ".gz") - } else{ - file_path <- file - } - - doReadFile <- function(file_path) { - tmp <- gzfile(file_path) - ret <- tmp %>% - readLines() %>% - .[which(!startsWith(., "#"))[1]:length(.)] %>% - # Strip comments - paste0(collapse = "\n") %>% - { - fread(text = .) - } - close(tmp) - - if (unzip && !is.na(file)) { - utils::write.table(ret, file, - sep = "\t", quote = FALSE, row.names = FALSE) - } - - if (is.tmp || unzip) { - unlink(file_path) - } - - ret - } - - if(!(is.null(file) || is.na(file)) && (file.exists(file) && !overwrite)){ - warning(file, " exists. Not overwriting.") - } else { - response <- httr::GET(glue::glue( - paste0(dirname(dirname(gemmaPath())), - "/arrays/downloadAnnotationFile.html?id={platform}&fileType={annotType}")), - httr::write_disk(file_path,overwrite = overwrite),handle = httr::handle("")) - if (response$status_code!=200){ - warning(glue::glue("Unable to access annotation file for {platform}. Can get more information about the platform at https://gemma.msl.ubc.ca/arrays/showArrayDesign.html?id={platform}")) - return(NULL) - } - } - - frame <- doReadFile(file_path) - - # currently Gemma includes files mixed with ElementName and ProbeName - # we just return ElementName - - names(frame)[names(frame) == 'ProbeName'] = 'ElementName' - - return(frame) -} - -#' Memoise get_platform_annotations -#' -#' @noRd -memget_platform_annotations <- function(platform, - annotType = c("bioProcess", "noParents", "allParents"), - file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE), - memoised = getOption("gemma.memoise", FALSE), - unzip = FALSE) { - mem_call <- memoise::memoise(get_platform_annotations, cache = gemmaCache()) - mem_call( - platform = platform, annotType = annotType, memoised = FALSE, file = file, - overwrite = overwrite, unzip=unzip - ) -} +# get_platform_annotations is now generated from inst/script/registry.R, using +# the platforms/{platform}/annotations REST endpoint instead of the +# arrays/downloadAnnotationFile.html page of the web interface. #' Make simplified design frames diff --git a/inst/script/registry.R b/inst/script/registry.R index f7b29610..eae579f5 100644 --- a/inst/script/registry.R +++ b/inst/script/registry.R @@ -946,8 +946,41 @@ registerEndpoint('genes/{(genes)}/', # platforms/count ----- # unimplemented -# platforms/{platform}/annotations ----- -# unimplemented +# platforms/{platform}/annotations, get_platform_annotations ----- +# replaces the hand written convenience function that used to download the +# annotation file from the web interface (arrays/downloadAnnotationFile.html). +# note that the REST endpoint has no equivalent of the old annotType argument; +# the file it serves corresponds to the old "noParents" flavour. + +#' get_platform_annotations +#' +#' Gets Gemma's platform annotations including mappings of microarray probes to genes. +#' +#' @section title_override: +#' Retrieve Platform Annotations by Gemma +#' +#' @param platform A platform numerical identifier or a platform short name +#' @inherit processAnnotationFile return +#' +#' @examples +#' head(get_platform_annotations("GPL96")) +#' head(get_platform_annotations("Generic_human_ncbiIds")) +NULL + +registerEndpoint("platforms/{platform}/annotations", + "get_platform_annotations", + open_api_name = 'get_platform_annotations', + keyword = "platform", + isFile = TRUE, + header = "text/tab-separated-values", + defaults = list( + platform = bquote() + ), + validators = alist( + platform = validateSingleID + ), + preprocessor = quote(processAnnotationFile) +) # platform/{platform}/datasets, get_platform_datasets ---- From 5bd6502d666b0fbc8917ef2304962c9307c88166 Mon Sep 17 00:00:00 2001 From: OganM Date: Thu, 13 Aug 2026 18:14:53 -0700 Subject: [PATCH 4/9] fix link in docs --- R/convenience.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/convenience.R b/R/convenience.R index 4b207864..40728300 100644 --- a/R/convenience.R +++ b/R/convenience.R @@ -475,7 +475,7 @@ get_dataset_object <- function(datasets, #' #' Retrieves the differential expression result set(s) associated with the dataset. #' To get more information about the contrasts in individual resultSets and -#' annotation terms associated them, use [get_dataset_differential_expression_analyses()] +#' annotation terms associated them, use \code{\link{get_dataset_differential_expression_analyses}} #' #' In Gemma each result set corresponds to #' the estimated effects associated with a single factor in the design, and each can have multiple contrasts (for each level compared to baseline). From f558c6bfb9f44a81d8559eef50fc6ca53a1e35cc Mon Sep 17 00:00:00 2001 From: OganM Date: Thu, 13 Aug 2026 18:15:07 -0700 Subject: [PATCH 5/9] annotation file processor --- R/processors.R | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/R/processors.R b/R/processors.R index 5a38a325..c98b6834 100644 --- a/R/processors.R +++ b/R/processors.R @@ -585,6 +585,37 @@ processFile <- function(content) { return(ret) } +#' Processes a platform annotation file +#' +#' @param content The content from an `http_get` request +#' +#' @return A table of annotations +#' \itemize{ +#' \item \code{ElementName}: Probeset names provided by the platform. +#' Gene symbols for generic annotations typically used for RNA-seq experiments. +#' \item \code{GeneSymbols}: Genes that were found to be aligned to +#' the probe sequence. Note that it is possible for probes to be +#' non-specific. Alignment to multiple genes are indicated with gene +#' symbols separated by "|"s +#' \item \code{GeneNames}: Name of the gene +#' \item \code{GOTerms}: GO Terms associated with the genes. +#' \item \code{GemmaIDs} and \code{NCBIids}: respective IDs for the genes. +#' } +#' +#' @keywords internal +processAnnotationFile <- function(content) { + attr <- attributes(content) + attributes(content) <- NULL + ret <- read_gzipped_tsv(content) + + # older annotation files use ProbeName instead of ElementName. we always + # return ElementName + names(ret)[names(ret) == "ProbeName"] <- "ElementName" + + attributes(ret) <- c(attributes(ret), attr) + return(ret) +} + #' Processes JSON as a vector of samples #' #' @param d The JSON to process From fe39a18e7d5bd1e678365e2811b1bd232af18645 Mon Sep 17 00:00:00 2001 From: OganM Date: Thu, 13 Aug 2026 18:15:21 -0700 Subject: [PATCH 6/9] fill in missing documentation elements --- inst/script/registry.R | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/inst/script/registry.R b/inst/script/registry.R index eae579f5..936c43aa 100644 --- a/inst/script/registry.R +++ b/inst/script/registry.R @@ -463,7 +463,14 @@ registerEndpoint('datasets/{datasets}/expressions/genes/{genes}?keepNonSpecific= # /datasets/{datasets}/expressions/taxa/{taxon}/genes/{genes} --------- -# currently unimplemented +#' .get_dataset_expression_for_genes_in_taxon +#' @param datasets A comma-delimited list of dataset IDs or short names. +#' @param genes A comma-delimited list of NCBI IDs, Ensembl IDs or gene symbols. +#' @param keepNonSpecific logical. \code{FALSE} by default. If \code{TRUE}, results from probesets that are not specific to the gene will also be returned. +#' @param consolidate An option for gene expression level consolidation. If empty, +#' will return every probe for the genes. "pickmax" to +#' pick the probe with the highest expression, "pickvar" to pick the prove with +#' the highest variance and "average" for returning the average expression registerEndpoint('datasets/{datasets}/expressions/taxa/{taxon}/genes/{genes}?keepNonSpecific={keepNonSpecific}&consolidate={consolidate}', '.get_dataset_expression_for_genes_in_taxon', open_api_name = 'get_datasets_expression_levels_for_genes_in_taxon', keyword = 'dataset', @@ -721,6 +728,7 @@ registerEndpoint("datasets/{datasets}?&offset={offset}&limit={limit}&sort={sort} #' .get_gene_differential_expression_values #' #' @inherit processDifferentialExpressionAnalysisResultByGeneValueObject_tsv return +#' @param threshold number #' #' @examples #' # get all differential expression results for ENO2 @@ -781,8 +789,10 @@ registerEndpoint("datasets/analyses/differential/results/genes/{gene}?&query={qu # /datasets/analyses/differential/results/taxa/{taxon}/genes/{gene} ---- -# unimplemented along with other taxon specific endpoints +#' .get_gene_differential_expression_values_in_taxon +#' +#' @param threshold number registerEndpoint("datasets/analyses/differential/results/taxa/{taxon}/genes/{gene}?&query={query}&filter={filter}&threshold={threshold}", ".get_gene_differential_expression_values_in_taxon", open_api_name = "get_datasets_differential_expression_analysis_results_for_gene_in_taxon", @@ -1281,6 +1291,13 @@ doFinalize() #' generic_params +#' +#' @param platform A platform numerical identifier or a platform short name +#' @param gene An ensembl gene identifier which typically starts with ensg or an ncbi gene identifier or an official gene symbol approved by hgnc +#' @param taxon A numerical taxon identifier or an ncbi taxon identifier or a taxon identifier that matches either its scientific or common name +#' @param dataset A numerical dataset identifier or a dataset short name +#' @param offset The offset of the first retrieved result +#' @param resultSet An expression analysis result set numerical identifier. #' @param query The search query. Queries can include plain text or ontology #' terms They also support conjunctions ("alpha AND beta"), disjunctions ("alpha OR beta") #' grouping ("(alpha OR beta) AND gamma"), prefixing ("alpha*"), wildcard characters From 48ca1adcf24e6e048830908ae38cf825fb7631c9 Mon Sep 17 00:00:00 2001 From: OganM Date: Thu, 13 Aug 2026 18:15:59 -0700 Subject: [PATCH 7/9] regen code --- R/allEndpoints.R | 762 ++++++++++-------- man/dot-getResultSets.Rd | 4 +- man/dot-get_dataset_expression_for_genes.Rd | 4 +- ...t_dataset_expression_for_genes_in_taxon.Rd | 15 +- ...get_gene_differential_expression_values.Rd | 4 +- ...differential_expression_values_in_taxon.Rd | 4 +- man/get_dataset_annotations.Rd | 4 +- ...ataset_differential_expression_analyses.Rd | 4 +- man/get_dataset_platforms.Rd | 4 +- man/get_dataset_processed_expression.Rd | 4 +- man/get_dataset_publications.Rd | 4 +- man/get_dataset_quantitation_types.Rd | 4 +- man/get_dataset_raw_expression.Rd | 4 +- man/get_dataset_samples.Rd | 4 +- man/get_dataset_subset_groups.Rd | 4 +- man/get_dataset_subset_samples.Rd | 4 +- man/get_datasets.Rd | 6 +- man/get_datasets_by_ids.Rd | 6 +- man/get_differential_expression_values.Rd | 2 +- man/get_gene_go_terms.Rd | 4 +- man/get_gene_locations.Rd | 4 +- man/get_gene_probes.Rd | 6 +- man/get_genes.Rd | 4 +- man/get_platform_annotations.Rd | 33 +- man/get_platform_datasets.Rd | 6 +- man/get_platform_element_genes.Rd | 6 +- man/get_platforms_by_ids.Rd | 6 +- man/get_result_sets.Rd | 4 +- man/get_taxa_by_ids.Rd | 4 +- man/processAnnotationFile.Rd | 29 + man/search_annotations.Rd | 4 +- man/search_gemma.Rd | 4 +- man/subset_factorValues.Rd | 2 + 33 files changed, 556 insertions(+), 407 deletions(-) create mode 100644 man/processAnnotationFile.Rd diff --git a/R/allEndpoints.R b/R/allEndpoints.R index 196cb0a6..77198429 100644 --- a/R/allEndpoints.R +++ b/R/allEndpoints.R @@ -1,17 +1,17 @@ -#' Retrieve a single analysis result set by its identifier +#' .getResultSets #' #' #' #' @param resultSet An expression analysis result set numerical identifier. -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -88,7 +88,7 @@ mem.getResultSets <- function(resultSet = NA_character_, raw = getOption( ) } -#' Retrieve all result sets matching the provided criteria +#' get_result_sets #' #' Returns queried result set #' @@ -107,22 +107,22 @@ mem.getResultSets <- function(resultSet = NA_character_, raw = getOption( #' function to get a list of all available parameters. These properties can be #' combined using "and" "or" clauses and may contain common operators such as "=", "<" or "in". #' (e.g. "taxon.commonName = human", "taxon.commonName in (human,mouse), "id < 1000") -#' @param offset The offset of the first retrieved result. +#' @param offset The offset of the first retrieved result #' @param limit Defaults to 20. Limits the result to specified amount #' of objects. Has a maximum value of 100. Use together with \code{offset} and #' the \code{totalElements} \link[base:attributes]{attribute} in the output to #' compile all data if needed. #' @param sort Order results by the given property and direction. The '+' sign #' indicate ascending order whereas the '-' indicate descending. -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -137,13 +137,14 @@ mem.getResultSets <- function(resultSet = NA_character_, raw = getOption( #' # get all contrasts comparing disease states. use filter_properties to see avaialble options #' get_result_sets(filter = "baselineGroup.characteristics.value = disease") get_result_sets <- function( - datasets = NA_character_, resultSets = NA_character_, - filter = NA_character_, offset = 0, limit = 20, sort = "+id", - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + datasets = NA_character_, resultSets = NA_character_, + filter = NA_character_, offset = 0, limit = 20, sort = "+id", + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { in_data <- TRUE compressibles <- "filter" open_api_name <- "get_result_sets" @@ -193,13 +194,14 @@ get_result_sets <- function( #' #' @noRd memget_result_sets <- function( - datasets = NA_character_, resultSets = NA_character_, - filter = NA_character_, offset = 0, limit = 20, sort = "+id", - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + datasets = NA_character_, resultSets = NA_character_, + filter = NA_character_, offset = 0, limit = 20, sort = "+id", + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { mem_call <- memoise::memoise(get_result_sets, cache = gemmaCache()) mem_call( datasets = datasets, resultSets = resultSets, filter = filter, @@ -214,15 +216,15 @@ memget_result_sets <- function( #' \href{https://www.w3.org/TR/2012/REC-owl2-syntax-20121211/#Subclass_Axioms}{subClassOf} and \href{http://purl.obolibrary.org/obo/BFO_0000051}{has_part} #' #' @param uri Term URI -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -315,15 +317,15 @@ memget_annotation_children <- function(uri, raw = getOption("gemma.raw", FALSE), #' \href{https://www.w3.org/TR/2012/REC-owl2-syntax-20121211/#Subclass_Axioms}{subClassOf} and \href{http://purl.obolibrary.org/obo/BFO_0000051}{has_part} #' #' @param uri Term URI -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -410,7 +412,7 @@ memget_annotation_parents <- function(uri, raw = getOption("gemma.raw", FALSE), ) } -#' Search for annotation tags +#' search_annotations #' #' #' @@ -418,15 +420,15 @@ memget_annotation_parents <- function(uri, raw = getOption("gemma.raw", FALSE), #' terms They also support conjunctions ("alpha AND beta"), disjunctions ("alpha OR beta") #' grouping ("(alpha OR beta) AND gamma"), prefixing ("alpha*"), wildcard characters #' ("BRCA?") and fuzzy matches ("alpha~"). -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -499,20 +501,20 @@ memsearch_annotations <- function(query, raw = getOption("gemma.raw", FALSE), me ) } -#' Retrieve all publications associated with a dataset +#' get_dataset_publications #' #' #' #' @param dataset A numerical dataset identifier or a dataset short name -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -585,20 +587,20 @@ memget_dataset_publications <- function(dataset, raw = getOption("gemma.raw", FA ) } -#' Retrieve the annotations of a dataset +#' get_dataset_annotations #' #' #' #' @param dataset A numerical dataset identifier or a dataset short name -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -679,20 +681,20 @@ memget_dataset_annotations <- function(dataset, raw = getOption("gemma.raw", FAL ) } -#' Retrieve annotations and surface level stats for a dataset's differential analyses +#' get_dataset_differential_expression_analyses #' #' #' #' @param dataset A numerical dataset identifier or a dataset short name -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -776,20 +778,20 @@ memget_dataset_differential_expression_analyses <- function(dataset, raw = getOp ) } -#' Retrieve the platforms of a dataset +#' get_dataset_platforms #' #' #' #' @param dataset A numerical dataset identifier or a dataset short name -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -870,20 +872,20 @@ memget_dataset_platforms <- function(dataset, raw = getOption("gemma.raw", FALSE ) } -#' Retrieve processed expression data of a dataset +#' get_dataset_processed_expression #' #' #' #' @param dataset A numerical dataset identifier or a dataset short name -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -959,7 +961,7 @@ memget_dataset_processed_expression <- function(dataset, raw = getOption("gemma. ) } -#' Retrieve the expression data matrix of a set of datasets and genes +#' .get_dataset_expression_for_genes #' #' #' @@ -971,15 +973,15 @@ memget_dataset_processed_expression <- function(dataset, raw = getOption("gemma. #' will return every probe for the genes. "pickmax" to #' pick the probe with the highest expression, "pickvar" to pick the prove with #' the highest variance and "average" for returning the average expression -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -990,12 +992,13 @@ memget_dataset_processed_expression <- function(dataset, raw = getOption("gemma. #' @examples #' get_dataset_expression_for_genes("GSE2018", genes = c(10225, 2841)) .get_dataset_expression_for_genes <- function( - datasets, genes, keepNonSpecific = FALSE, consolidate = NA_character_, - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + datasets, genes, keepNonSpecific = FALSE, consolidate = NA_character_, + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { in_data <- TRUE compressibles <- NULL open_api_name <- "get_datasets_expression_levels_for_genes" @@ -1077,12 +1080,13 @@ memget_dataset_processed_expression <- function(dataset, raw = getOption("gemma. #' #' @noRd mem.get_dataset_expression_for_genes <- function( - datasets, genes, keepNonSpecific = FALSE, consolidate = NA_character_, - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + datasets, genes, keepNonSpecific = FALSE, consolidate = NA_character_, + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { mem_call <- memoise::memoise(.get_dataset_expression_for_genes, cache = gemmaCache() ) @@ -1093,24 +1097,27 @@ mem.get_dataset_expression_for_genes <- function( ) } -#' Retrieve the expression data matrix of a set of datasets and genes +#' .get_dataset_expression_for_genes_in_taxon #' #' #' -#' @param datasets A comma-delimited list of dataset IDs or short names. The value may be compressed with gzip and encoded with base64. -#' @param genes A comma-delimited list of NCBI IDs, Ensembl IDs or gene symbols. The value may be compressed with gzip and encoded with base64. -#' @param keepNonSpecific boolean -#' @param consolidate An option for gene expression level consolidation. +#' @param datasets A comma-delimited list of dataset IDs or short names. +#' @param genes A comma-delimited list of NCBI IDs, Ensembl IDs or gene symbols. +#' @param keepNonSpecific logical. \code{FALSE} by default. If \code{TRUE}, results from probesets that are not specific to the gene will also be returned. +#' @param consolidate An option for gene expression level consolidation. If empty, +#' will return every probe for the genes. "pickmax" to +#' pick the probe with the highest expression, "pickvar" to pick the prove with +#' the highest variance and "average" for returning the average expression #' @param taxon A numerical taxon identifier or an ncbi taxon identifier or a taxon identifier that matches either its scientific or common name -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -1120,12 +1127,13 @@ mem.get_dataset_expression_for_genes <- function( #' #' @examples .get_dataset_expression_for_genes_in_taxon <- function( - datasets, genes, keepNonSpecific = FALSE, consolidate = NA_character_, - taxon, raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + datasets, genes, keepNonSpecific = FALSE, consolidate = NA_character_, + taxon, raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { in_data <- TRUE compressibles <- NULL open_api_name <- "get_datasets_expression_levels_for_genes_in_taxon" @@ -1232,12 +1240,13 @@ mem.get_dataset_expression_for_genes <- function( #' #' @noRd mem.get_dataset_expression_for_genes_in_taxon <- function( - datasets, genes, keepNonSpecific = FALSE, consolidate = NA_character_, - taxon, raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + datasets, genes, keepNonSpecific = FALSE, consolidate = NA_character_, + taxon, raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { mem_call <- memoise::memoise(.get_dataset_expression_for_genes_in_taxon, cache = gemmaCache() ) @@ -1248,20 +1257,20 @@ mem.get_dataset_expression_for_genes_in_taxon <- function( ) } -#' Retrieve quantitation types of a dataset +#' get_dataset_quantitation_types #' #' #' #' @param dataset A numerical dataset identifier or a dataset short name -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -1336,7 +1345,7 @@ memget_dataset_quantitation_types <- function(dataset, raw = getOption("gemma.ra ) } -#' Retrieve raw expression data of a dataset +#' get_dataset_raw_expression #' #' #' @@ -1344,15 +1353,15 @@ memget_dataset_quantitation_types <- function(dataset, raw = getOption("gemma.ra #' @param quantitationType Quantitation type id. These can be acquired #' using \code{\link{get_dataset_quantitation_types}} function. This endpoint can #' only return non-processed quantitation types. -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -1436,7 +1445,7 @@ memget_dataset_raw_expression <- function(dataset, quantitationType, raw = getOp ) } -#' Retrieve the samples of a dataset +#' get_dataset_samples #' #' #' @@ -1448,15 +1457,15 @@ memget_dataset_raw_expression <- function(dataset, quantitationType, raw = getOp #' @param quantitationType If provided, returns the samples based on a given #' quantitation type. Using \code{useProcessedQuantitationType} instead should cover #' most use cases. -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -1469,12 +1478,13 @@ memget_dataset_raw_expression <- function(dataset, quantitationType, raw = getOp #' @examples #' head(get_dataset_samples("GSE2018")) get_dataset_samples <- function( - dataset, useProcessedQuantitationType = TRUE, quantitationType = NA_character_, - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + dataset, useProcessedQuantitationType = TRUE, quantitationType = NA_character_, + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { in_data <- TRUE compressibles <- NULL open_api_name <- "get_dataset_samples" @@ -1540,12 +1550,13 @@ get_dataset_samples <- function( #' #' @noRd memget_dataset_samples <- function( - dataset, useProcessedQuantitationType = TRUE, quantitationType = NA_character_, - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + dataset, useProcessedQuantitationType = TRUE, quantitationType = NA_character_, + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { mem_call <- memoise::memoise(get_dataset_samples, cache = gemmaCache()) mem_call( dataset = dataset, useProcessedQuantitationType = useProcessedQuantitationType, @@ -1554,20 +1565,20 @@ memget_dataset_samples <- function( ) } -#' Obtain all the subset groups of a dataset +#' get_dataset_subset_groups #' #' #' #' @param dataset A numerical dataset identifier or a dataset short name -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -1647,21 +1658,21 @@ memget_dataset_subset_groups <- function(dataset, raw = getOption("gemma.raw", F ) } -#' Obtain the samples of a specific subset of a dataset +#' get_dataset_subset_samples #' #' #' #' @param dataset A numerical dataset identifier or a dataset short name #' @param subset integer ID of the subset (eg. as returned by \code{\link{get_dataset_subset_groups}}). -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -1671,14 +1682,15 @@ memget_dataset_subset_groups <- function(dataset, raw = getOption("gemma.raw", F #' #' @examples get_dataset_subset_samples <- function( - dataset, subset, raw = getOption("gemma.raw", FALSE), - memoised = getOption("gemma.memoised", FALSE), file = getOption( - "gemma.file", - NA_character_ - ), overwrite = getOption( - "gemma.overwrite", - FALSE - )) { + dataset, subset, raw = getOption("gemma.raw", FALSE), + memoised = getOption("gemma.memoised", FALSE), file = getOption( + "gemma.file", + NA_character_ + ), overwrite = getOption( + "gemma.overwrite", + FALSE + ) +) { in_data <- TRUE compressibles <- NULL open_api_name <- "get_dataset_sub_set_samples" @@ -1741,14 +1753,15 @@ get_dataset_subset_samples <- function( #' #' @noRd memget_dataset_subset_samples <- function( - dataset, subset, raw = getOption("gemma.raw", FALSE), - memoised = getOption("gemma.memoised", FALSE), file = getOption( - "gemma.file", - NA_character_ - ), overwrite = getOption( - "gemma.overwrite", - FALSE - )) { + dataset, subset, raw = getOption("gemma.raw", FALSE), + memoised = getOption("gemma.memoised", FALSE), file = getOption( + "gemma.file", + NA_character_ + ), overwrite = getOption( + "gemma.overwrite", + FALSE + ) +) { mem_call <- memoise::memoise(get_dataset_subset_samples, cache = gemmaCache() ) @@ -1758,7 +1771,7 @@ memget_dataset_subset_samples <- function( ) } -#' Retrieve all datasets +#' get_datasets #' #' #' @@ -1776,22 +1789,22 @@ memget_dataset_subset_samples <- function( #' @param uris A vector of ontology term URIs. Providing multiple terms will #' return results containing any of the terms and their children. These are #' appended to the filter and equivalent to filtering for \code{allCharacteristics.valueUri} -#' @param offset The offset of the first retrieved result. +#' @param offset The offset of the first retrieved result #' @param limit Defaults to 20. Limits the result to specified amount #' of objects. Has a maximum value of 100. Use together with \code{offset} and #' the \code{totalElements} \link[base:attributes]{attribute} in the output to #' compile all data if needed. #' @param sort Order results by the given property and direction. The '+' sign #' indicate ascending order whereas the '-' indicate descending. -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -1808,13 +1821,14 @@ memget_dataset_subset_samples <- function( #' get_datasets(filter = "taxon.commonName in (mouse,human) and allCharacteristics.valueUri = http://purl.obolibrary.org/obo/UBERON_0002048") #' get_datasets(query = "lung") get_datasets <- function( - query = NA_character_, filter = NA_character_, taxa = NA_character_, - uris = NA_character_, offset = 0L, limit = 20L, sort = "+id", - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + query = NA_character_, filter = NA_character_, taxa = NA_character_, + uris = NA_character_, offset = 0L, limit = 20L, sort = "+id", + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { in_data <- TRUE compressibles <- "filter" open_api_name <- "get_datasets" @@ -1864,13 +1878,14 @@ get_datasets <- function( #' #' @noRd memget_datasets <- function( - query = NA_character_, filter = NA_character_, taxa = NA_character_, - uris = NA_character_, offset = 0L, limit = 20L, sort = "+id", - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + query = NA_character_, filter = NA_character_, taxa = NA_character_, + uris = NA_character_, offset = 0L, limit = 20L, sort = "+id", + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { mem_call <- memoise::memoise(get_datasets, cache = gemmaCache()) mem_call( query = query, filter = filter, taxa = taxa, uris = uris, @@ -1879,7 +1894,7 @@ memget_datasets <- function( ) } -#' Retrieve datasets by their identifiers +#' get_datasets_by_ids #' #' #' @@ -1895,22 +1910,22 @@ memget_datasets <- function( #' @param uris A vector of ontology term URIs. Providing multiple terms will #' return results containing any of the terms and their children. These are #' appended to the filter and equivalent to filtering for \code{allCharacteristics.valueUri} -#' @param offset The offset of the first retrieved result. +#' @param offset The offset of the first retrieved result #' @param limit Defaults to 20. Limits the result to specified amount #' of objects. Has a maximum value of 100. Use together with \code{offset} and #' the \code{totalElements} \link[base:attributes]{attribute} in the output to #' compile all data if needed. #' @param sort Order results by the given property and direction. The '+' sign #' indicate ascending order whereas the '-' indicate descending. -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -1924,13 +1939,14 @@ memget_datasets <- function( #' get_datasets_by_ids("GSE2018") #' get_datasets_by_ids(c("GSE2018", "GSE2872")) get_datasets_by_ids <- function( - datasets = NA_character_, filter = NA_character_, taxa = NA_character_, - uris = NA_character_, offset = 0L, limit = 20L, sort = "+id", - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + datasets = NA_character_, filter = NA_character_, taxa = NA_character_, + uris = NA_character_, offset = 0L, limit = 20L, sort = "+id", + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { in_data <- TRUE compressibles <- "filter" open_api_name <- "get_datasets_by_ids" @@ -1980,13 +1996,14 @@ get_datasets_by_ids <- function( #' #' @noRd memget_datasets_by_ids <- function( - datasets = NA_character_, filter = NA_character_, taxa = NA_character_, - uris = NA_character_, offset = 0L, limit = 20L, sort = "+id", - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + datasets = NA_character_, filter = NA_character_, taxa = NA_character_, + uris = NA_character_, offset = 0L, limit = 20L, sort = "+id", + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { mem_call <- memoise::memoise(get_datasets_by_ids, cache = gemmaCache()) mem_call( datasets = datasets, filter = filter, taxa = taxa, @@ -1995,7 +2012,7 @@ memget_datasets_by_ids <- function( ) } -#' Retrieve the differential expression results for a given gene among datasets matching the provided query and filter +#' .get_gene_differential_expression_values #' #' #' @@ -2015,15 +2032,15 @@ memget_datasets_by_ids <- function( #' combined using "and" "or" clauses and may contain common operators such as "=", "<" or "in". #' (e.g. "taxon.commonName = human", "taxon.commonName in (human,mouse), "id < 1000") #' @param threshold number -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -2036,13 +2053,14 @@ memget_datasets_by_ids <- function( #' # from datasets marked with the ontology term for brain #' head(get_gene_differential_expression_values(2026, uris = "http://purl.obolibrary.org/obo/UBERON_0000955")) .get_gene_differential_expression_values <- function( - gene, query = NA_character_, taxa = NA_character_, - uris = NA_character_, filter = NA_character_, threshold = 1, - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + gene, query = NA_character_, taxa = NA_character_, + uris = NA_character_, filter = NA_character_, threshold = 1, + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { in_data <- TRUE compressibles <- "filter" open_api_name <- "get_datasets_differential_expression_analysis_results_for_gene" @@ -2090,13 +2108,14 @@ memget_datasets_by_ids <- function( #' #' @noRd mem.get_gene_differential_expression_values <- function( - gene, query = NA_character_, taxa = NA_character_, - uris = NA_character_, filter = NA_character_, threshold = 1, - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + gene, query = NA_character_, taxa = NA_character_, + uris = NA_character_, filter = NA_character_, threshold = 1, + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { mem_call <- memoise::memoise(.get_gene_differential_expression_values, cache = gemmaCache() ) @@ -2107,7 +2126,7 @@ mem.get_gene_differential_expression_values <- function( ) } -#' Retrieve the differential expression results for a given gene and taxa among datasets matching the provided query and filter +#' .get_gene_differential_expression_values_in_taxon #' #' #' @@ -2125,15 +2144,15 @@ mem.get_gene_differential_expression_values <- function( #' combined using "and" "or" clauses and may contain common operators such as "=", "<" or "in". #' (e.g. "taxon.commonName = human", "taxon.commonName in (human,mouse), "id < 1000") #' @param threshold number -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -2143,13 +2162,14 @@ mem.get_gene_differential_expression_values <- function( #' #' @examples .get_gene_differential_expression_values_in_taxon <- function( - gene, query = NA_character_, taxon = NA_character_, - uris = NA_character_, filter = NA_character_, threshold = 1, - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + gene, query = NA_character_, taxon = NA_character_, + uris = NA_character_, filter = NA_character_, threshold = 1, + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { in_data <- TRUE compressibles <- "filter" open_api_name <- "get_datasets_differential_expression_analysis_results_for_gene_in_taxon" @@ -2197,13 +2217,14 @@ mem.get_gene_differential_expression_values <- function( #' #' @noRd mem.get_gene_differential_expression_values_in_taxon <- function( - gene, query = NA_character_, taxon = NA_character_, - uris = NA_character_, filter = NA_character_, threshold = 1, - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + gene, query = NA_character_, taxon = NA_character_, + uris = NA_character_, filter = NA_character_, threshold = 1, + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { mem_call <- memoise::memoise(.get_gene_differential_expression_values_in_taxon, cache = gemmaCache() ) @@ -2214,20 +2235,20 @@ mem.get_gene_differential_expression_values_in_taxon <- function( ) } -#' Retrieve the GO terms associated to a gene +#' get_gene_go_terms #' #' #' #' @param gene An ensembl gene identifier which typically starts with ensg or an ncbi gene identifier or an official gene symbol approved by hgnc -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -2300,20 +2321,20 @@ memget_gene_go_terms <- function(gene, raw = getOption("gemma.raw", FALSE), memo ) } -#' Retrieve the physical locations of a given gene +#' get_gene_locations #' #' #' #' @param gene An ensembl gene identifier which typically starts with ensg or an ncbi gene identifier or an official gene symbol approved by hgnc -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -2387,25 +2408,25 @@ memget_gene_locations <- function(gene, raw = getOption("gemma.raw", FALSE), mem ) } -#' Retrieve the probes associated to a genes across all platforms +#' get_gene_probes #' #' #' #' @param gene An ensembl gene identifier which typically starts with ensg or an ncbi gene identifier or an official gene symbol approved by hgnc -#' @param offset The offset of the first retrieved result. +#' @param offset The offset of the first retrieved result #' @param limit Defaults to 20. Limits the result to specified amount #' of objects. Has a maximum value of 100. Use together with \code{offset} and #' the \code{totalElements} \link[base:attributes]{attribute} in the output to #' compile all data if needed. -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -2489,20 +2510,20 @@ memget_gene_probes <- function(gene, offset = 0L, limit = 20L, raw = getOption( ) } -#' Retrieve all genes +#' get_genes #' #' #' #' @param genes A vector of NCBI IDs, Ensembl IDs or gene symbols. -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -2576,25 +2597,112 @@ memget_genes <- function(genes, raw = getOption("gemma.raw", FALSE), memoised = ) } -#' Retrieve all experiments using a given platform +#' Retrieve Platform Annotations by Gemma +#' +#' Gets Gemma's platform annotations including mappings of microarray probes to genes. +#' +#' @param platform A platform numerical identifier or a platform short name +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable +#' parsing. Raw results usually contain additional fields and flags that are +#' omitted in the parsed results. +#' @param memoised Whether or not to save to cache for future calls with the +#' same inputs and use the result saved in cache if a result is already saved. +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always +#' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the +#' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. +#' @param overwrite Whether or not to overwrite if a file exists at the specified +#' filename. +#' +#' @inherit processAnnotationFile return +#' @export +#' +#' @keywords platform +#' +#' @examples +#' head(get_platform_annotations("GPL96")) +#' head(get_platform_annotations("Generic_human_ncbiIds")) +get_platform_annotations <- function(platform, raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), overwrite = getOption( + "gemma.overwrite", + FALSE + )) { + in_data <- TRUE + compressibles <- NULL + open_api_name <- "get_platform_annotations" + internal <- FALSE + keyword <- "platform" + header <- "text/tab-separated-values" + isFile <- TRUE + fname <- "get_platform_annotations" + preprocessor <- processAnnotationFile + validators <- list(platform = validateSingleID) + endpoint <- "platforms/{encode(platform)}/annotations" + if (memoised) { + if (!is.na(file)) { + warning("Saving to files is not supported with memoisation.") + } + if ("character" %in% class(gemmaCache()) && gemmaCache() == + "cache_in_memory") { + return(mem_in_memory_cache("get_platform_annotations", + platform = platform, raw = raw, memoised = FALSE, + file = file, overwrite = overwrite + )) + } else { + out <- memget_platform_annotations( + platform = platform, + raw = raw, memoised = FALSE, file = file, overwrite = overwrite + ) + return(out) + } + } + .body( + fname = fname, validators = validators, endpoint = endpoint, + envWhere = environment(), isFile = isFile, header = header, + raw = raw, overwrite = overwrite, file = file, attributes = TRUE, + in_data = in_data, open_api_name = open_api_name, .call = match.call() + ) +} + +#' Memoise get_platform_annotations +#' +#' @noRd +memget_platform_annotations <- function(platform, raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), overwrite = getOption( + "gemma.overwrite", + FALSE + )) { + mem_call <- memoise::memoise(get_platform_annotations, cache = gemmaCache()) + mem_call( + platform = platform, raw = raw, memoised = FALSE, + file = file, overwrite = overwrite + ) +} + +#' get_platform_datasets #' #' #' #' @param platform A platform numerical identifier or a platform short name -#' @param offset The offset of the first retrieved result. +#' @param offset The offset of the first retrieved result #' @param limit Defaults to 20. Limits the result to specified amount #' of objects. Has a maximum value of 100. Use together with \code{offset} and #' the \code{totalElements} \link[base:attributes]{attribute} in the output to #' compile all data if needed. -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -2677,26 +2785,26 @@ memget_platform_datasets <- function(platform, offset = 0L, limit = 20L, raw = g ) } -#' Retrieve the genes associated to a probe in a given platform +#' get_platform_element_genes #' #' #' #' @param platform A platform numerical identifier or a platform short name #' @param probe A probe name or it's numerical identifier -#' @param offset The offset of the first retrieved result. +#' @param offset The offset of the first retrieved result #' @param limit Defaults to 20. Limits the result to specified amount #' of objects. Has a maximum value of 100. Use together with \code{offset} and #' the \code{totalElements} \link[base:attributes]{attribute} in the output to #' compile all data if needed. -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -2783,7 +2891,7 @@ memget_platform_element_genes <- function(platform, probe, offset = 0L, limit = ) } -#' Retrieve all platforms matching a set of platform identifiers +#' get_platforms_by_ids #' #' #' @@ -2796,22 +2904,22 @@ memget_platform_element_genes <- function(platform, probe, offset = 0L, limit = #' @param taxa A vector of taxon common names (e.g. human, mouse, rat). Providing multiple #' species will return results for all species. These are appended #' to the filter and equivalent to filtering for \code{taxon.commonName} property -#' @param offset The offset of the first retrieved result. +#' @param offset The offset of the first retrieved result #' @param limit Defaults to 20. Limits the result to specified amount #' of objects. Has a maximum value of 100. Use together with \code{offset} and #' the \code{totalElements} \link[base:attributes]{attribute} in the output to #' compile all data if needed. #' @param sort Order results by the given property and direction. The '+' sign #' indicate ascending order whereas the '-' indicate descending. -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -2825,13 +2933,14 @@ memget_platform_element_genes <- function(platform, probe, offset = 0L, limit = #' get_platforms_by_ids("GPL1355") #' get_platforms_by_ids(c("GPL1355", "GPL96")) get_platforms_by_ids <- function( - platforms = NA_character_, filter = NA_character_, - taxa = NA_character_, offset = 0L, limit = 20L, sort = "+id", - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + platforms = NA_character_, filter = NA_character_, + taxa = NA_character_, offset = 0L, limit = 20L, sort = "+id", + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { in_data <- TRUE compressibles <- "filter" open_api_name <- "get_platforms_by_ids" @@ -2880,13 +2989,14 @@ get_platforms_by_ids <- function( #' #' @noRd memget_platforms_by_ids <- function( - platforms = NA_character_, filter = NA_character_, - taxa = NA_character_, offset = 0L, limit = 20L, sort = "+id", - raw = getOption("gemma.raw", FALSE), memoised = getOption( - "gemma.memoised", - FALSE - ), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE)) { + platforms = NA_character_, filter = NA_character_, + taxa = NA_character_, offset = 0L, limit = 20L, sort = "+id", + raw = getOption("gemma.raw", FALSE), memoised = getOption( + "gemma.memoised", + FALSE + ), file = getOption("gemma.file", NA_character_), + overwrite = getOption("gemma.overwrite", FALSE) +) { mem_call <- memoise::memoise(get_platforms_by_ids, cache = gemmaCache()) mem_call( platforms = platforms, filter = filter, taxa = taxa, @@ -2895,7 +3005,7 @@ memget_platforms_by_ids <- function( ) } -#' Search everything in Gemma +#' search_gemma #' #' #' @@ -2909,15 +3019,15 @@ memget_platforms_by_ids <- function( #' Limits the number of returned results. Note #' that this function does not support pagination. #' @param resultType The kind of results that should be included in the output. Can be experiment, gene, platform or a long object type name, documented in the API documentation. -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. @@ -2932,15 +3042,16 @@ memget_platforms_by_ids <- function( #' @examples #' search_gemma("bipolar") search_gemma <- function( - query, taxon = NA_character_, platform = NA_character_, - limit = 100, resultType = "experiment", raw = getOption( - "gemma.raw", - FALSE - ), memoised = getOption("gemma.memoised", FALSE), - file = getOption("gemma.file", NA_character_), overwrite = getOption( - "gemma.overwrite", - FALSE - )) { + query, taxon = NA_character_, platform = NA_character_, + limit = 100, resultType = "experiment", raw = getOption( + "gemma.raw", + FALSE + ), memoised = getOption("gemma.memoised", FALSE), + file = getOption("gemma.file", NA_character_), overwrite = getOption( + "gemma.overwrite", + FALSE + ) +) { in_data <- TRUE compressibles <- NULL open_api_name <- "search" @@ -2989,15 +3100,16 @@ search_gemma <- function( #' #' @noRd memsearch_gemma <- function( - query, taxon = NA_character_, platform = NA_character_, - limit = 100, resultType = "experiment", raw = getOption( - "gemma.raw", - FALSE - ), memoised = getOption("gemma.memoised", FALSE), - file = getOption("gemma.file", NA_character_), overwrite = getOption( - "gemma.overwrite", - FALSE - )) { + query, taxon = NA_character_, platform = NA_character_, + limit = 100, resultType = "experiment", raw = getOption( + "gemma.raw", + FALSE + ), memoised = getOption("gemma.memoised", FALSE), + file = getOption("gemma.file", NA_character_), overwrite = getOption( + "gemma.overwrite", + FALSE + ) +) { mem_call <- memoise::memoise(search_gemma, cache = gemmaCache()) mem_call( query = query, taxon = taxon, platform = platform, @@ -3006,38 +3118,40 @@ memsearch_gemma <- function( ) } -#' Retrieve taxa by their identifiers +#' get_taxa_by_ids #' #' #' #' @param taxa Limits the result to entities with given identifiers. #' A vector of identifiers. #' Identifiers can be the any of the following: -#' - taxon ID -#' - scientific name -#' - common name +#' \itemize{ +#' \item taxon ID +#' \item scientific name +#' \item common name #' Retrieval by ID is more efficient. #' Do not combine different identifiers in one query. #' For convenience, below is a list of officially supported taxa #' \tabular{rllr}{ -#' \strong{ID} \tab \strong{Comm.name} \tab \strong{Scient.name} \tab \strong{NcbiID}\cr -#' 1 \tab human \tab Homo sapiens \tab 9606 \cr -#' 2 \tab mouse \tab Mus musculus \tab 10090 \cr -#' 3 \tab rat \tab Rattus norvegicus \tab 10116 \cr -#' 11 \tab yeast \tab Saccharomyces cerevisiae \tab 4932 \cr -#' 12 \tab zebrafish \tab Danio rerio \tab 7955 \cr -#' 13 \tab fly \tab Drosophila melanogaster \tab 7227 \cr -#' 14 \tab worm \tab Caenorhabditis elegans \tab 6239 +#' \strong{ID} \tab \strong{Comm.name} \tab \strong{Scient.name} \tab \strong{NcbiID}\cr +#' 1 \tab human \tab Homo sapiens \tab 9606 \cr +#' 2 \tab mouse \tab Mus musculus \tab 10090 \cr +#' 3 \tab rat \tab Rattus norvegicus \tab 10116 \cr +#' 11 \tab yeast \tab Saccharomyces cerevisiae \tab 4932 \cr +#' 12 \tab zebrafish \tab Danio rerio \tab 7955 \cr +#' 13 \tab fly \tab Drosophila melanogaster \tab 7227 \cr +#' 14 \tab worm \tab Caenorhabditis elegans \tab 6239 +#' } #' } -#' @param raw `TRUE` to receive results as-is from Gemma, or `FALSE` to enable +#' @param raw \code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable #' parsing. Raw results usually contain additional fields and flags that are #' omitted in the parsed results. #' @param memoised Whether or not to save to cache for future calls with the #' same inputs and use the result saved in cache if a result is already saved. -#' Doing `options(gemma.memoised = TRUE)` will ensure that the cache is always +#' Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always #' used. Use \code{\link{forget_gemma_memoised}} to clear the cache. -#' @param file The name of a file to save the results to, or `NULL` to not write -#' results to a file. If `raw == TRUE`, the output will be the raw endpoint from the +#' @param file The name of a file to save the results to, or \code{NULL} to not write +#' results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the #' API, likely a JSON or a gzip file. Otherwise, it will be a RDS file. #' @param overwrite Whether or not to overwrite if a file exists at the specified #' filename. diff --git a/man/dot-getResultSets.Rd b/man/dot-getResultSets.Rd index 122d0106..4f06d5f2 100644 --- a/man/dot-getResultSets.Rd +++ b/man/dot-getResultSets.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{.getResultSets} \alias{.getResultSets} -\title{Retrieve a single analysis result set by its identifier} +\title{.getResultSets} \usage{ .getResultSets( resultSet = NA_character_, @@ -35,7 +35,7 @@ filename.} Varies } \description{ -Retrieve a single analysis result set by its identifier +.getResultSets } \examples{ # gemma.R:::.getResultSets(523099) diff --git a/man/dot-get_dataset_expression_for_genes.Rd b/man/dot-get_dataset_expression_for_genes.Rd index 82d4b27c..4733a576 100644 --- a/man/dot-get_dataset_expression_for_genes.Rd +++ b/man/dot-get_dataset_expression_for_genes.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{.get_dataset_expression_for_genes} \alias{.get_dataset_expression_for_genes} -\title{Retrieve the expression data matrix of a set of datasets and genes} +\title{.get_dataset_expression_for_genes} \usage{ .get_dataset_expression_for_genes( datasets, @@ -48,7 +48,7 @@ filename.} A list of data frames } \description{ -Retrieve the expression data matrix of a set of datasets and genes +.get_dataset_expression_for_genes } \examples{ get_dataset_expression_for_genes("GSE2018", genes = c(10225, 2841)) diff --git a/man/dot-get_dataset_expression_for_genes_in_taxon.Rd b/man/dot-get_dataset_expression_for_genes_in_taxon.Rd index 6241cc28..e4adf51a 100644 --- a/man/dot-get_dataset_expression_for_genes_in_taxon.Rd +++ b/man/dot-get_dataset_expression_for_genes_in_taxon.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{.get_dataset_expression_for_genes_in_taxon} \alias{.get_dataset_expression_for_genes_in_taxon} -\title{Retrieve the expression data matrix of a set of datasets and genes} +\title{.get_dataset_expression_for_genes_in_taxon} \usage{ .get_dataset_expression_for_genes_in_taxon( datasets, @@ -17,13 +17,16 @@ ) } \arguments{ -\item{datasets}{A comma-delimited list of dataset IDs or short names. The value may be compressed with gzip and encoded with base64.} +\item{datasets}{A comma-delimited list of dataset IDs or short names.} -\item{genes}{A comma-delimited list of NCBI IDs, Ensembl IDs or gene symbols. The value may be compressed with gzip and encoded with base64.} +\item{genes}{A comma-delimited list of NCBI IDs, Ensembl IDs or gene symbols.} -\item{keepNonSpecific}{boolean} +\item{keepNonSpecific}{logical. \code{FALSE} by default. If \code{TRUE}, results from probesets that are not specific to the gene will also be returned.} -\item{consolidate}{An option for gene expression level consolidation.} +\item{consolidate}{An option for gene expression level consolidation. If empty, +will return every probe for the genes. "pickmax" to +pick the probe with the highest expression, "pickvar" to pick the prove with +the highest variance and "average" for returning the average expression} \item{taxon}{A numerical taxon identifier or an ncbi taxon identifier or a taxon identifier that matches either its scientific or common name} @@ -47,6 +50,6 @@ filename.} Varies } \description{ -Retrieve the expression data matrix of a set of datasets and genes +.get_dataset_expression_for_genes_in_taxon } \keyword{internal} diff --git a/man/dot-get_gene_differential_expression_values.Rd b/man/dot-get_gene_differential_expression_values.Rd index 796c867e..8aa81e5f 100644 --- a/man/dot-get_gene_differential_expression_values.Rd +++ b/man/dot-get_gene_differential_expression_values.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{.get_gene_differential_expression_values} \alias{.get_gene_differential_expression_values} -\title{Retrieve the differential expression results for a given gene among datasets matching the provided query and filter} +\title{.get_gene_differential_expression_values} \usage{ .get_gene_differential_expression_values( gene, @@ -75,7 +75,7 @@ they uniquely represent a given contrast. } } \description{ -Retrieve the differential expression results for a given gene among datasets matching the provided query and filter +.get_gene_differential_expression_values } \examples{ # get all differential expression results for ENO2 diff --git a/man/dot-get_gene_differential_expression_values_in_taxon.Rd b/man/dot-get_gene_differential_expression_values_in_taxon.Rd index d6b138df..46e191f4 100644 --- a/man/dot-get_gene_differential_expression_values_in_taxon.Rd +++ b/man/dot-get_gene_differential_expression_values_in_taxon.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{.get_gene_differential_expression_values_in_taxon} \alias{.get_gene_differential_expression_values_in_taxon} -\title{Retrieve the differential expression results for a given gene and taxa among datasets matching the provided query and filter} +\title{.get_gene_differential_expression_values_in_taxon} \usage{ .get_gene_differential_expression_values_in_taxon( gene, @@ -58,6 +58,6 @@ filename.} Varies } \description{ -Retrieve the differential expression results for a given gene and taxa among datasets matching the provided query and filter +.get_gene_differential_expression_values_in_taxon } \keyword{internal} diff --git a/man/get_dataset_annotations.Rd b/man/get_dataset_annotations.Rd index a5d35548..8798b860 100644 --- a/man/get_dataset_annotations.Rd +++ b/man/get_dataset_annotations.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_dataset_annotations} \alias{get_dataset_annotations} -\title{Retrieve the annotations of a dataset} +\title{get_dataset_annotations} \usage{ get_dataset_annotations( dataset, @@ -47,7 +47,7 @@ The fields of the output data.table are: } } \description{ -Retrieve the annotations of a dataset +get_dataset_annotations } \examples{ get_dataset_annotations("GSE2018") diff --git a/man/get_dataset_differential_expression_analyses.Rd b/man/get_dataset_differential_expression_analyses.Rd index 806941e5..f8692f7c 100644 --- a/man/get_dataset_differential_expression_analyses.Rd +++ b/man/get_dataset_differential_expression_analyses.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_dataset_differential_expression_analyses} \alias{get_dataset_differential_expression_analyses} -\title{Retrieve annotations and surface level stats for a dataset's differential analyses} +\title{get_dataset_differential_expression_analyses} \usage{ get_dataset_differential_expression_analyses( dataset, @@ -57,7 +57,7 @@ they uniquely represent a given contrast. } } \description{ -Retrieve annotations and surface level stats for a dataset's differential analyses +get_dataset_differential_expression_analyses } \examples{ result <- get_dataset_differential_expression_analyses("GSE2872") diff --git a/man/get_dataset_platforms.Rd b/man/get_dataset_platforms.Rd index 22d776ec..9d5a4a39 100644 --- a/man/get_dataset_platforms.Rd +++ b/man/get_dataset_platforms.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_dataset_platforms} \alias{get_dataset_platforms} -\title{Retrieve the platforms of a dataset} +\title{get_dataset_platforms} \usage{ get_dataset_platforms( dataset, @@ -53,7 +53,7 @@ The fields of the output data.table are: } } \description{ -Retrieve the platforms of a dataset +get_dataset_platforms } \examples{ get_dataset_platforms("GSE2018") diff --git a/man/get_dataset_processed_expression.Rd b/man/get_dataset_processed_expression.Rd index 51008af2..ec1d1beb 100644 --- a/man/get_dataset_processed_expression.Rd +++ b/man/get_dataset_processed_expression.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_dataset_processed_expression} \alias{get_dataset_processed_expression} -\title{Retrieve processed expression data of a dataset} +\title{get_dataset_processed_expression} \usage{ get_dataset_processed_expression( dataset, @@ -36,7 +36,7 @@ If raw is FALSE (default), a data table of the expression matrix for the queried dataset. If raw is TRUE, returns the binary file in raw form. } \description{ -Retrieve processed expression data of a dataset +get_dataset_processed_expression } \examples{ get_dataset_processed_expression("GSE2018") diff --git a/man/get_dataset_publications.Rd b/man/get_dataset_publications.Rd index 76e431bd..f1534a5e 100644 --- a/man/get_dataset_publications.Rd +++ b/man/get_dataset_publications.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_dataset_publications} \alias{get_dataset_publications} -\title{Retrieve all publications associated with a dataset} +\title{get_dataset_publications} \usage{ get_dataset_publications( dataset, @@ -44,7 +44,7 @@ The fields of the output data.table are: } } \description{ -Retrieve all publications associated with a dataset +get_dataset_publications } \examples{ get_dataset_publications(1) diff --git a/man/get_dataset_quantitation_types.Rd b/man/get_dataset_quantitation_types.Rd index 183fc443..aa835a43 100644 --- a/man/get_dataset_quantitation_types.Rd +++ b/man/get_dataset_quantitation_types.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_dataset_quantitation_types} \alias{get_dataset_quantitation_types} -\title{Retrieve quantitation types of a dataset} +\title{get_dataset_quantitation_types} \usage{ get_dataset_quantitation_types( dataset, @@ -54,7 +54,7 @@ recomputing raw data files Gemma had access to. } } \description{ -Retrieve quantitation types of a dataset +get_dataset_quantitation_types } \examples{ get_dataset_quantitation_types("GSE59918") diff --git a/man/get_dataset_raw_expression.Rd b/man/get_dataset_raw_expression.Rd index aa1ba640..87285b0a 100644 --- a/man/get_dataset_raw_expression.Rd +++ b/man/get_dataset_raw_expression.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_dataset_raw_expression} \alias{get_dataset_raw_expression} -\title{Retrieve raw expression data of a dataset} +\title{get_dataset_raw_expression} \usage{ get_dataset_raw_expression( dataset, @@ -41,7 +41,7 @@ If raw is FALSE (default), a data table of the expression matrix for the queried dataset. If raw is TRUE, returns the binary file in raw form. } \description{ -Retrieve raw expression data of a dataset +get_dataset_raw_expression } \examples{ q_types <- get_dataset_quantitation_types("GSE59918") diff --git a/man/get_dataset_samples.Rd b/man/get_dataset_samples.Rd index 67d27b5e..d5e67842 100644 --- a/man/get_dataset_samples.Rd +++ b/man/get_dataset_samples.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_dataset_samples} \alias{get_dataset_samples} -\title{Retrieve the samples of a dataset} +\title{get_dataset_samples} \usage{ get_dataset_samples( dataset, @@ -59,7 +59,7 @@ The fields of the output data.table are: } } \description{ -Retrieve the samples of a dataset +get_dataset_samples } \examples{ head(get_dataset_samples("GSE2018")) diff --git a/man/get_dataset_subset_groups.Rd b/man/get_dataset_subset_groups.Rd index afca5428..e903e2a7 100644 --- a/man/get_dataset_subset_groups.Rd +++ b/man/get_dataset_subset_groups.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_dataset_subset_groups} \alias{get_dataset_subset_groups} -\title{Obtain all the subset groups of a dataset} +\title{get_dataset_subset_groups} \usage{ get_dataset_subset_groups( dataset, @@ -35,6 +35,6 @@ filename.} Varies } \description{ -Obtain all the subset groups of a dataset +get_dataset_subset_groups } \keyword{internal} diff --git a/man/get_dataset_subset_samples.Rd b/man/get_dataset_subset_samples.Rd index f18dae73..26399c02 100644 --- a/man/get_dataset_subset_samples.Rd +++ b/man/get_dataset_subset_samples.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_dataset_subset_samples} \alias{get_dataset_subset_samples} -\title{Obtain the samples of a specific subset of a dataset} +\title{get_dataset_subset_samples} \usage{ get_dataset_subset_samples( dataset, @@ -38,6 +38,6 @@ filename.} Varies } \description{ -Obtain the samples of a specific subset of a dataset +get_dataset_subset_samples } \keyword{internal} diff --git a/man/get_datasets.Rd b/man/get_datasets.Rd index 97eb5de8..a833d131 100644 --- a/man/get_datasets.Rd +++ b/man/get_datasets.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_datasets} \alias{get_datasets} -\title{Retrieve all datasets} +\title{get_datasets} \usage{ get_datasets( query = NA_character_, @@ -37,7 +37,7 @@ to the filter and equivalent to filtering for \code{taxon.commonName} property} return results containing any of the terms and their children. These are appended to the filter and equivalent to filtering for \code{allCharacteristics.valueUri}} -\item{offset}{The offset of the first retrieved result.} +\item{offset}{The offset of the first retrieved result} \item{limit}{Defaults to 20. Limits the result to specified amount of objects. Has a maximum value of 100. Use together with \code{offset} and @@ -95,7 +95,7 @@ The fields of the output data.table are: } } \description{ -Retrieve all datasets +get_datasets } \examples{ get_datasets() diff --git a/man/get_datasets_by_ids.Rd b/man/get_datasets_by_ids.Rd index 0d953055..3bf402d2 100644 --- a/man/get_datasets_by_ids.Rd +++ b/man/get_datasets_by_ids.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_datasets_by_ids} \alias{get_datasets_by_ids} -\title{Retrieve datasets by their identifiers} +\title{get_datasets_by_ids} \usage{ get_datasets_by_ids( datasets = NA_character_, @@ -35,7 +35,7 @@ to the filter and equivalent to filtering for \code{taxon.commonName} property} return results containing any of the terms and their children. These are appended to the filter and equivalent to filtering for \code{allCharacteristics.valueUri}} -\item{offset}{The offset of the first retrieved result.} +\item{offset}{The offset of the first retrieved result} \item{limit}{Defaults to 20. Limits the result to specified amount of objects. Has a maximum value of 100. Use together with \code{offset} and @@ -93,7 +93,7 @@ The fields of the output data.table are: } } \description{ -Retrieve datasets by their identifiers +get_datasets_by_ids } \examples{ get_datasets_by_ids("GSE2018") diff --git a/man/get_differential_expression_values.Rd b/man/get_differential_expression_values.Rd index 597b4619..ae6ad981 100644 --- a/man/get_differential_expression_values.Rd +++ b/man/get_differential_expression_values.Rd @@ -39,7 +39,7 @@ values per result set. \description{ Retrieves the differential expression result set(s) associated with the dataset. To get more information about the contrasts in individual resultSets and -annotation terms associated them, use \code{\link[=get_dataset_differential_expression_analyses]{get_dataset_differential_expression_analyses()}} +annotation terms associated them, use \code{\link{get_dataset_differential_expression_analyses}} } \details{ In Gemma each result set corresponds to diff --git a/man/get_gene_go_terms.Rd b/man/get_gene_go_terms.Rd index 9d59ec78..085ad1c7 100644 --- a/man/get_gene_go_terms.Rd +++ b/man/get_gene_go_terms.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_gene_go_terms} \alias{get_gene_go_terms} -\title{Retrieve the GO terms associated to a gene} +\title{get_gene_go_terms} \usage{ get_gene_go_terms( gene, @@ -45,7 +45,7 @@ The fields of the output data.table are: } } \description{ -Retrieve the GO terms associated to a gene +get_gene_go_terms } \examples{ get_gene_go_terms(3091) diff --git a/man/get_gene_locations.Rd b/man/get_gene_locations.Rd index f3e0af37..07523b74 100644 --- a/man/get_gene_locations.Rd +++ b/man/get_gene_locations.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_gene_locations} \alias{get_gene_locations} -\title{Retrieve the physical locations of a given gene} +\title{get_gene_locations} \usage{ get_gene_locations( gene, @@ -50,7 +50,7 @@ The fields of the output data.table are: } } \description{ -Retrieve the physical locations of a given gene +get_gene_locations } \examples{ get_gene_locations("DYRK1A") diff --git a/man/get_gene_probes.Rd b/man/get_gene_probes.Rd index 17dba3a8..91b3232f 100644 --- a/man/get_gene_probes.Rd +++ b/man/get_gene_probes.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_gene_probes} \alias{get_gene_probes} -\title{Retrieve the probes associated to a genes across all platforms} +\title{get_gene_probes} \usage{ get_gene_probes( gene, @@ -17,7 +17,7 @@ get_gene_probes( \arguments{ \item{gene}{An ensembl gene identifier which typically starts with ensg or an ncbi gene identifier or an official gene symbol approved by hgnc} -\item{offset}{The offset of the first retrieved result.} +\item{offset}{The offset of the first retrieved result} \item{limit}{Defaults to 20. Limits the result to specified amount of objects. Has a maximum value of 100. Use together with \code{offset} and @@ -65,7 +65,7 @@ The fields of the output data.table are: } } \description{ -Retrieve the probes associated to a genes across all platforms +get_gene_probes } \examples{ get_gene_probes(1859) diff --git a/man/get_genes.Rd b/man/get_genes.Rd index 0d534ebf..9f51bad8 100644 --- a/man/get_genes.Rd +++ b/man/get_genes.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_genes} \alias{get_genes} -\title{Retrieve all genes} +\title{get_genes} \usage{ get_genes( genes, @@ -53,7 +53,7 @@ The fields of the output data.table are: } } \description{ -Retrieve all genes +get_genes } \examples{ get_genes("DYRK1A") diff --git a/man/get_platform_annotations.Rd b/man/get_platform_annotations.Rd index 7e78fb6e..89b768c0 100644 --- a/man/get_platform_annotations.Rd +++ b/man/get_platform_annotations.Rd @@ -1,46 +1,47 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/convenience.R +% Please edit documentation in R/allEndpoints.R \name{get_platform_annotations} \alias{get_platform_annotations} \title{Retrieve Platform Annotations by Gemma} \usage{ get_platform_annotations( platform, - annotType = c("noParents", "allParents", "bioProcess"), + raw = getOption("gemma.raw", FALSE), + memoised = getOption("gemma.memoised", FALSE), file = getOption("gemma.file", NA_character_), - overwrite = getOption("gemma.overwrite", FALSE), - memoised = getOption("gemma.memoise", FALSE), - unzip = FALSE + overwrite = getOption("gemma.overwrite", FALSE) ) } \arguments{ -\item{platform}{A platform numerical identifiers or platform short name.} +\item{platform}{A platform numerical identifier or a platform short name} -\item{annotType}{Which GO terms should the output include} - -\item{file}{Where to save the annotation file to, or empty to just load into memory} - -\item{overwrite}{Whether or not to overwrite an existing file} +\item{raw}{\code{TRUE} to receive results as-is from Gemma, or \code{FALSE} to enable +parsing. Raw results usually contain additional fields and flags that are +omitted in the parsed results.} \item{memoised}{Whether or not to save to cache for future calls with the same inputs and use the result saved in cache if a result is already saved. Doing \code{options(gemma.memoised = TRUE)} will ensure that the cache is always used. Use \code{\link{forget_gemma_memoised}} to clear the cache.} -\item{unzip}{Whether or not to unzip the file (if @param file is not empty)} +\item{file}{The name of a file to save the results to, or \code{NULL} to not write +results to a file. If \code{raw == TRUE}, the output will be the raw endpoint from the +API, likely a JSON or a gzip file. Otherwise, it will be a RDS file.} + +\item{overwrite}{Whether or not to overwrite if a file exists at the specified +filename.} } \value{ A table of annotations \itemize{ \item \code{ElementName}: Probeset names provided by the platform. -Gene symbols for generic annotations typicall used for RNA-seq experiments. +Gene symbols for generic annotations typically used for RNA-seq experiments. \item \code{GeneSymbols}: Genes that were found to be aligned to the probe sequence. Note that it is possible for probes to be non-specific. Alignment to multiple genes are indicated with gene symbols separated by "|"s \item \code{GeneNames}: Name of the gene -\item \code{GOTerms}: GO Terms associated with the genes. \code{annotType} -argument can be used to choose which terms should be included. +\item \code{GOTerms}: GO Terms associated with the genes. \item \code{GemmaIDs} and \code{NCBIids}: respective IDs for the genes. } } @@ -49,6 +50,6 @@ Gets Gemma's platform annotations including mappings of microarray probes to gen } \examples{ head(get_platform_annotations("GPL96")) -head(get_platform_annotations('Generic_human_ncbiIds')) +head(get_platform_annotations("Generic_human_ncbiIds")) } \keyword{platform} diff --git a/man/get_platform_datasets.Rd b/man/get_platform_datasets.Rd index 74154c7c..571209fc 100644 --- a/man/get_platform_datasets.Rd +++ b/man/get_platform_datasets.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_platform_datasets} \alias{get_platform_datasets} -\title{Retrieve all experiments using a given platform} +\title{get_platform_datasets} \usage{ get_platform_datasets( platform, @@ -17,7 +17,7 @@ get_platform_datasets( \arguments{ \item{platform}{A platform numerical identifier or a platform short name} -\item{offset}{The offset of the first retrieved result.} +\item{offset}{The offset of the first retrieved result} \item{limit}{Defaults to 20. Limits the result to specified amount of objects. Has a maximum value of 100. Use together with \code{offset} and @@ -72,7 +72,7 @@ The fields of the output data.table are: } } \description{ -Retrieve all experiments using a given platform +get_platform_datasets } \examples{ head(get_platform_datasets("GPL1355")) diff --git a/man/get_platform_element_genes.Rd b/man/get_platform_element_genes.Rd index 33e6e23f..25cfe057 100644 --- a/man/get_platform_element_genes.Rd +++ b/man/get_platform_element_genes.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_platform_element_genes} \alias{get_platform_element_genes} -\title{Retrieve the genes associated to a probe in a given platform} +\title{get_platform_element_genes} \usage{ get_platform_element_genes( platform, @@ -20,7 +20,7 @@ get_platform_element_genes( \item{probe}{A probe name or it's numerical identifier} -\item{offset}{The offset of the first retrieved result.} +\item{offset}{The offset of the first retrieved result} \item{limit}{Defaults to 20. Limits the result to specified amount of objects. Has a maximum value of 100. Use together with \code{offset} and @@ -65,7 +65,7 @@ The fields of the output data.table are: } } \description{ -Retrieve the genes associated to a probe in a given platform +get_platform_element_genes } \examples{ get_platform_element_genes("GPL1355", "AFFX_Rat_beta-actin_M_at") diff --git a/man/get_platforms_by_ids.Rd b/man/get_platforms_by_ids.Rd index 83b7a222..db34d0eb 100644 --- a/man/get_platforms_by_ids.Rd +++ b/man/get_platforms_by_ids.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_platforms_by_ids} \alias{get_platforms_by_ids} -\title{Retrieve all platforms matching a set of platform identifiers} +\title{get_platforms_by_ids} \usage{ get_platforms_by_ids( platforms = NA_character_, @@ -30,7 +30,7 @@ combined using "and" "or" clauses and may contain common operators such as "=", species will return results for all species. These are appended to the filter and equivalent to filtering for \code{taxon.commonName} property} -\item{offset}{The offset of the first retrieved result.} +\item{offset}{The offset of the first retrieved result} \item{limit}{Defaults to 20. Limits the result to specified amount of objects. Has a maximum value of 100. Use together with \code{offset} and @@ -78,7 +78,7 @@ The fields of the output data.table are: } } \description{ -Retrieve all platforms matching a set of platform identifiers +get_platforms_by_ids } \examples{ get_platforms_by_ids("GPL1355") diff --git a/man/get_result_sets.Rd b/man/get_result_sets.Rd index e3d837e1..ca53b6b4 100644 --- a/man/get_result_sets.Rd +++ b/man/get_result_sets.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_result_sets} \alias{get_result_sets} -\title{Retrieve all result sets matching the provided criteria} +\title{get_result_sets} \usage{ get_result_sets( datasets = NA_character_, @@ -31,7 +31,7 @@ function to get a list of all available parameters. These properties can be combined using "and" "or" clauses and may contain common operators such as "=", "<" or "in". (e.g. "taxon.commonName = human", "taxon.commonName in (human,mouse), "id < 1000")} -\item{offset}{The offset of the first retrieved result.} +\item{offset}{The offset of the first retrieved result} \item{limit}{Defaults to 20. Limits the result to specified amount of objects. Has a maximum value of 100. Use together with \code{offset} and diff --git a/man/get_taxa_by_ids.Rd b/man/get_taxa_by_ids.Rd index 4ca3f0e0..f3c64bff 100644 --- a/man/get_taxa_by_ids.Rd +++ b/man/get_taxa_by_ids.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{get_taxa_by_ids} \alias{get_taxa_by_ids} -\title{Retrieve taxa by their identifiers} +\title{get_taxa_by_ids} \usage{ get_taxa_by_ids( taxa, @@ -55,7 +55,7 @@ filename.} A data table with the queried taxa's details. } \description{ -Retrieve taxa by their identifiers +get_taxa_by_ids } \examples{ gemma.R:::get_taxa_by_ids(c("mouse", "human")) diff --git a/man/processAnnotationFile.Rd b/man/processAnnotationFile.Rd new file mode 100644 index 00000000..68d4b075 --- /dev/null +++ b/man/processAnnotationFile.Rd @@ -0,0 +1,29 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/processors.R +\name{processAnnotationFile} +\alias{processAnnotationFile} +\title{Processes a platform annotation file} +\usage{ +processAnnotationFile(content) +} +\arguments{ +\item{content}{The content from an \code{http_get} request} +} +\value{ +A table of annotations +\itemize{ +\item \code{ElementName}: Probeset names provided by the platform. +Gene symbols for generic annotations typically used for RNA-seq experiments. +\item \code{GeneSymbols}: Genes that were found to be aligned to +the probe sequence. Note that it is possible for probes to be +non-specific. Alignment to multiple genes are indicated with gene +symbols separated by "|"s +\item \code{GeneNames}: Name of the gene +\item \code{GOTerms}: GO Terms associated with the genes. +\item \code{GemmaIDs} and \code{NCBIids}: respective IDs for the genes. +} +} +\description{ +Processes a platform annotation file +} +\keyword{internal} diff --git a/man/search_annotations.Rd b/man/search_annotations.Rd index bd8a9abc..bfef41ea 100644 --- a/man/search_annotations.Rd +++ b/man/search_annotations.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{search_annotations} \alias{search_annotations} -\title{Search for annotation tags} +\title{search_annotations} \usage{ search_annotations( query, @@ -48,7 +48,7 @@ The fields of the output data.table are: } } \description{ -Search for annotation tags +search_annotations } \examples{ search_annotations("traumatic") diff --git a/man/search_gemma.Rd b/man/search_gemma.Rd index 257f8cbd..2610b163 100644 --- a/man/search_gemma.Rd +++ b/man/search_gemma.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/allEndpoints.R \name{search_gemma} \alias{search_gemma} -\title{Search everything in Gemma} +\title{search_gemma} \usage{ search_gemma( query, @@ -54,7 +54,7 @@ a data.table containing the search results. If it is any other type, a list of results. A list with additional details about the search if \code{raw = TRUE} } \description{ -Search everything in Gemma +search_gemma } \examples{ search_gemma("bipolar") diff --git a/man/subset_factorValues.Rd b/man/subset_factorValues.Rd index 5a53ab74..966cdc2b 100644 --- a/man/subset_factorValues.Rd +++ b/man/subset_factorValues.Rd @@ -14,6 +14,8 @@ subset_factorValues( } \arguments{ \item{factorValue}{unimplemented} + +\item{differential_expressions}{} } \value{ a boolean vector, samples representing the resultSet and/or the contrast From 859145eb062df32474e45c2711f8304405536c00 Mon Sep 17 00:00:00 2001 From: Paul Pavlidis Date: Mon, 31 Aug 2026 11:25:39 -0700 Subject: [PATCH 8/9] read the renamed annotation fields Gemma 2.0 serves Gemma 2.0 renamed four fields on the annotation value object (Gemma b5c6747f68, live on gemma2.msl.ubc.ca): className -> category termName -> value classUri -> categoryUri termUri -> valueUri There are no aliases: gemma.msl.ubc.ca (1.32.x) serves only the old spelling, gemma2.msl.ubc.ca only the new one. Verified by fetching /datasets/1/annotations from both. The result reads BOTH. gemmaPath() still defaults to https://gemma.msl.ubc.ca/rest/v2/ and tests/testthat.R pins setGemmaPath('prod'), so a Gemma 2 server is reached only by setting options(gemma.API=...); a hard switch would blank the columns against the default target and take the suite with it. accessRenamedField() picks the spelling the payload actually carries, per field, per response, and can be deleted when gemma.R drops Gemma 1.x. Released gemma.R is unaffected -- it targets Gemma 1.0, which still serves the old names. The package's own columns do not move: class.name, class.URI, term.name and term.URI keep their names and only change which wire field they read. Whether gemma.R adopts category/value is a separate decision for a major version. processAnnotations, behind get_dataset_annotations, is the only reader affected. processSearchAnnotations (search_annotations, get_annotation_children, get_annotation_parents) and processCharacteristicValueObject (sample.characteristics) already read category/value on both servers. Also documented: on a FactorValue row the term field is now the term's label instead of a composed sentence. GSE2018's disease factor value reads "acute disease related to solid organ transplantation" on Gemma 1.0 and "disease related to solid organ transplantation" on Gemma 2.0. Across 13 datasets every row that differs is a FactorValue; the ExperimentTag and BioMaterial rows are identical on both servers. --- R/processors.R | 17 +++++++++---- R/subProcessors.R | 31 ++++++++++++++++++++++++ man/accessRenamedField.Rd | 34 ++++++++++++++++++++++++++ man/get_dataset_annotations.Rd | 7 ++++++ man/processAnnotations.Rd | 7 ++++++ tests/testthat/testDatasetEndpoints.R | 21 ++++++++++++---- tests/testthat/testProcessors.R | 35 +++++++++++++++++++++++++++ 7 files changed, 142 insertions(+), 10 deletions(-) create mode 100644 man/accessRenamedField.Rd diff --git a/R/processors.R b/R/processors.R index c98b6834..0dec8bc7 100644 --- a/R/processors.R +++ b/R/processors.R @@ -550,16 +550,23 @@ processDatasetResultSets <- function(d) { #' \item \code{object.class}: Class of object that the term originated from. #' } #' -#' +#' Against Gemma 2.0, \code{term.name} on a row originating from a factor value +#' is the label of the annotated term. Older Gemma versions returned a composed +#' sentence there instead (e.g. "wild type genotype has background APP/PS1" +#' rather than "wild type genotype"). Rows originating from plain tags, subset +#' tags and sample characteristics are unaffected; they carry the term label on +#' either version. #' #' @keywords internal processAnnotations <- function(d) { data.table( - class.name = accessField(d,"className",NA_character_), - class.URI = accessField(d,"classUri",NA_character_), - term.name = accessField(d,"termName",NA_character_), - term.URI = accessField(d,"termUri",NA_character_), + # Gemma 2.0 renamed these; accessRenamedField reads the old spelling + # from Gemma 1.x servers. See accessRenamedField. + class.name = accessRenamedField(d,"category","className",NA_character_), + class.URI = accessRenamedField(d,"categoryUri","classUri",NA_character_), + term.name = accessRenamedField(d,"value","termName",NA_character_), + term.URI = accessRenamedField(d,"valueUri","termUri",NA_character_), object.class = accessField(d,'objectClass',NA_character_) ) } diff --git a/R/subProcessors.R b/R/subProcessors.R index ab9c1ebb..d2613b89 100644 --- a/R/subProcessors.R +++ b/R/subProcessors.R @@ -71,6 +71,37 @@ accessField <- function(d, field, natype = NA){ return(field) } +#' Access a field that Gemma has renamed +#' +#' Reads \code{field}, falling back to \code{legacy} when no element of the +#' payload carries \code{field}. Gemma 2.0 renamed the annotation fields +#' \code{className}/\code{classUri}/\code{termName}/\code{termUri} to +#' \code{category}/\code{categoryUri}/\code{value}/\code{valueUri} with no +#' aliases, while \code{gemmaPath} still defaults to a Gemma 1.x server, so both +#' spellings have to be readable. The two spellings are mutually exclusive on a +#' given server, so the choice is made once per payload rather than per element. +#' +#' Drop this helper and read \code{field} directly once gemma.R no longer +#' supports Gemma 1.x. +#' +#' @param d Input data list +#' @param field Field name used by current Gemma versions +#' @param legacy Field name used by older Gemma versions +#' @param natype What to fill in when neither field is available +#' @return A vector of elements +#' @keywords internal +accessRenamedField <- function(d, field, legacy, natype = NA){ + hasField <- vapply(d, function(e){ + is.list(e) && field %in% names(e) + }, logical(1)) + + if(any(hasField)){ + accessField(d, field, natype) + } else{ + accessField(d, legacy, natype) + } +} + #' Avoid NULLS as data.table columns #' #' @param x A value that might be null diff --git a/man/accessRenamedField.Rd b/man/accessRenamedField.Rd new file mode 100644 index 00000000..19af214a --- /dev/null +++ b/man/accessRenamedField.Rd @@ -0,0 +1,34 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/subProcessors.R +\name{accessRenamedField} +\alias{accessRenamedField} +\title{Access a field that Gemma has renamed} +\usage{ +accessRenamedField(d, field, legacy, natype = NA) +} +\arguments{ +\item{d}{Input data list} + +\item{field}{Field name used by current Gemma versions} + +\item{legacy}{Field name used by older Gemma versions} + +\item{natype}{What to fill in when neither field is available} +} +\value{ +A vector of elements +} +\description{ +Reads \code{field}, falling back to \code{legacy} when no element of the +payload carries \code{field}. Gemma 2.0 renamed the annotation fields +\code{className}/\code{classUri}/\code{termName}/\code{termUri} to +\code{category}/\code{categoryUri}/\code{value}/\code{valueUri} with no +aliases, while \code{gemmaPath} still defaults to a Gemma 1.x server, so both +spellings have to be readable. The two spellings are mutually exclusive on a +given server, so the choice is made once per payload rather than per element. +} +\details{ +Drop this helper and read \code{field} directly once gemma.R no longer +supports Gemma 1.x. +} +\keyword{internal} diff --git a/man/get_dataset_annotations.Rd b/man/get_dataset_annotations.Rd index 8798b860..c1e259aa 100644 --- a/man/get_dataset_annotations.Rd +++ b/man/get_dataset_annotations.Rd @@ -45,6 +45,13 @@ The fields of the output data.table are: \item \code{term.URI}: URI for the annotation term \item \code{object.class}: Class of object that the term originated from. } + +Against Gemma 2.0, \code{term.name} on a row originating from a factor value +is the label of the annotated term. Older Gemma versions returned a composed +sentence there instead (e.g. "wild type genotype has background APP/PS1" +rather than "wild type genotype"). Rows originating from plain tags, subset +tags and sample characteristics are unaffected; they carry the term label on +either version. } \description{ get_dataset_annotations diff --git a/man/processAnnotations.Rd b/man/processAnnotations.Rd index deead7c2..0bcdcd48 100644 --- a/man/processAnnotations.Rd +++ b/man/processAnnotations.Rd @@ -23,6 +23,13 @@ The fields of the output data.table are: \item \code{term.URI}: URI for the annotation term \item \code{object.class}: Class of object that the term originated from. } + +Against Gemma 2.0, \code{term.name} on a row originating from a factor value +is the label of the annotated term. Older Gemma versions returned a composed +sentence there instead (e.g. "wild type genotype has background APP/PS1" +rather than "wild type genotype"). Rows originating from plain tags, subset +tags and sample characteristics are unaffected; they carry the term label on +either version. } \description{ Processes JSON as annotations diff --git a/tests/testthat/testDatasetEndpoints.R b/tests/testthat/testDatasetEndpoints.R index 30d02bf9..992856a9 100644 --- a/tests/testthat/testDatasetEndpoints.R +++ b/tests/testthat/testDatasetEndpoints.R @@ -62,11 +62,22 @@ test_that("datasetAnnotations queries work", { raw <- get_dataset_annotations(1, raw = TRUE) %>% jsonlite:::simplify() expect_type(dat, "list") expect_type(raw, "list") - expect_true(all(dat$class.name %in% raw$className)) - expect_true(all(dat$class.URI %in% raw$classUri)) - expect_true(all(dat$term.name %in% raw$termName)) - expect_true(all(dat$term.URI %in% raw$termUri)) - + # Gemma 2.0 serves category/categoryUri/value/valueUri where Gemma 1.x + # served className/classUri/termName/termUri. Read whichever spelling this + # server used so the test passes against both. + rawField <- function(field, legacy){ + if(!is.null(raw[[field]])) raw[[field]] else raw[[legacy]] + } + expect_true(all(dat$class.name %in% rawField("category", "className"))) + expect_true(all(dat$class.URI %in% rawField("categoryUri", "classUri"))) + expect_true(all(dat$term.name %in% rawField("value", "termName"))) + expect_true(all(dat$term.URI %in% rawField("valueUri", "termUri"))) + + # the columns must actually be populated: reading a field the server does + # not serve yields an all-NA column rather than an error + expect_gt(nrow(dat), 0) + expect_false(all(is.na(dat$class.name))) + expect_false(all(is.na(dat$term.name))) }) diff --git a/tests/testthat/testProcessors.R b/tests/testthat/testProcessors.R index 26609918..1818f9c8 100644 --- a/tests/testthat/testProcessors.R +++ b/tests/testthat/testProcessors.R @@ -19,3 +19,38 @@ test_that('processor file writing',{ }) + +test_that('processAnnotations reads both Gemma 1.x and Gemma 2.0 field names',{ + # Gemma 2.0 renamed className/classUri/termName/termUri to + # category/categoryUri/value/valueUri with no aliases, and gemma.R still + # points at a Gemma 1.x server by default, so both have to parse. + # The row below is the first of GSE2018's annotations, in each spelling. + legacy <- list(list(className = 'organism part', + classUri = 'http://www.ebi.ac.uk/efo/EFO_0000635', + termName = 'lung', + termUri = 'http://purl.obolibrary.org/obo/UBERON_0002048', + objectClass = 'ExperimentTag')) + + current <- list(list(category = 'organism part', + categoryUri = 'http://www.ebi.ac.uk/efo/EFO_0000635', + value = 'lung', + valueUri = 'http://purl.obolibrary.org/obo/UBERON_0002048', + objectClass = 'ExperimentTag')) + + for (payload in list(legacy, current)){ + out <- gemma.R:::processAnnotations(payload) + expect_s3_class(out, 'data.table') + expect_equal(out$class.name, 'organism part') + expect_equal(out$class.URI, 'http://www.ebi.ac.uk/efo/EFO_0000635') + expect_equal(out$term.name, 'lung') + expect_equal(out$term.URI, 'http://purl.obolibrary.org/obo/UBERON_0002048') + expect_equal(out$object.class, 'ExperimentTag') + } + + # both spellings produce identical output + expect_equal(gemma.R:::processAnnotations(legacy), + gemma.R:::processAnnotations(current)) + + # an empty response still yields the columns, as elsewhere in the package + expect_equal(nrow(gemma.R:::processAnnotations(list())), 0) +}) From f56e770500dd0588bb93dc10ef263b7d7d7c8a22 Mon Sep 17 00:00:00 2001 From: ogan Mancarci Date: Wed, 16 Sep 2026 20:40:08 -0700 Subject: [PATCH 9/9] tolerate 503 responses with retryAfters and continue retrying without the usual 3 times limit --- R/body.R | 46 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/R/body.R b/R/body.R index 35739f43..b4398180 100644 --- a/R/body.R +++ b/R/body.R @@ -116,11 +116,25 @@ setGemmaPath <- function(path){ ## Uncomment for debugging # print(response$url) - # if 429. wait a bit and re-try. + # if 429, 500 or 503. wait a bit and re-try. a 503 that tells us when to come + # back is server-directed, so it doesn't count towards the retry limit i <- 0 - while(i<3 && (is.null(response$status_code) || response$status_code %in% c(429,500))){ - i <- i + 1 - Sys.sleep(5) + while(is.null(response$status_code) || response$status_code %in% c(429,500,503)){ + directed <- if(isTRUE(response$status_code == 503)) retryAfter(response) else NULL + if(is.null(directed)){ + if(i >= 3) break + i <- i + 1 + } + wait <- if(is.null(directed)) 5 else directed + if(!is.null(directed)){ + message('High traffic in Gemma. Retrying in ', wait, ' seconds.') + } else{ + message('No valid response from Gemma', + if(is.null(response$status_code)) '' else paste0(' (',response$status_code ,')'), + '. Retrying in ', + wait, ' seconds.') + } + Sys.sleep(wait) response <- eval(requestExpr) } @@ -209,6 +223,30 @@ setGemmaPath <- function(path){ } } +#' Seconds the server asked us to wait before re-trying +#' +#' Reads the \code{Retry-After} response header, accepting both the delay in +#' seconds and the HTTP-date forms. The delay is rounded to whole seconds and +#' floored at one so a server-directed re-try can't spin. +#' +#' @param response An httr response object +#' @return Number of seconds to wait, or NULL if the header is absent or unusable +#' @keywords internal +retryAfter <- function(response){ + header <- tryCatch(httr::headers(response)[['retry-after']], error = function(e) NULL) + if(is.null(header)){ + return(NULL) + } + seconds <- suppressWarnings(as.numeric(header)) + if(is.na(seconds)){ + seconds <- as.numeric(difftime(httr::parse_http_date(header), Sys.time(), units = 'secs')) + } + if(is.na(seconds)){ + return(NULL) + } + max(round(seconds), 1) +} + #' URL encode a string safely #' #' @param url The string to URL encode. Vectors are delimited by a comma.