Skip to content

Commit d57c084

Browse files
authored
Merge pull request #491 from genestack/feature/ODM-12816-add-exQuery-exFilter
Feature/odm 12816 add ex query ex filter
2 parents 1239dd0 + 785d640 commit d57c084

File tree

2 files changed

+94
-0
lines changed

2 files changed

+94
-0
lines changed

openapi/v1/integrationCurator.yaml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4509,6 +4509,53 @@ paths:
45094509
name: cellQuery
45104510
schema:
45114511
type: string
4512+
- description: "Search for objects linked to cell expression data and originally\
4513+
\ uploaded in TSV format via data query, e.g., `feature=ENSG00000230368,ENSG00000188976\
4514+
\ value>=1.50`\n For the case when the original data is represented by multiple\
4515+
\ attributes per feature scenarios, extended filtering syntax is as follows:\
4516+
\ \n1. By feature attribute value for numeric and string attributes: `feature.NAME=1007_s_at`\
4517+
\ or `feature.\"Average Mz\"=2.218`. As in the case of sample metadata queries,\
4518+
\ single words can be supplied as is; otherwise, use speech marks (`\"`)\
4519+
\ to quote queries that include whitespace. \n2. It is possible to specify\
4520+
\ a set of possible values, separated by comma: `feature.NAME=1007_s_at,121_at`.\
4521+
\ \n3. Utilize range filters to search numeric attributes. Apply `<` (less\
4522+
\ than), `>` (greater than), and `=` (equal to) symbols to specify the desired\
4523+
\ ranges as follows: \n`feature.Name_1 > 3`: Select all rows where the feature\
4524+
\ attribute Name_1 values are greater than 3. \n`feature.Name_2 >= 6`: Select\
4525+
\ all rows where the feature attribute Name_2 values are greater than or\
4526+
\ equal to 6. \n`-3 < feature.Name_3 < 3`: Select all rows where the feature\
4527+
\ attribute Name_3 values lie within the interval between -3 and 3. \n4.\
4528+
\ Use substring search to get the records where the attribute field contains\
4529+
\ the provided substring: `feature.attribute1 =~ \"some text\"`. \n5. The\
4530+
\ first column for each original data file is identified as feature accession\
4531+
\ (typically, it contains gene or protein names, accession IDs, etc.). Searching\
4532+
\ by such feature accession would significantly outperform more complex\
4533+
\ queries by combining the other feature attributes. To enable such a search,\
4534+
\ use `feature` without any attribute extension, e.g., `feature=ENSG00000230368,ENSG00000188976`.\n\
4535+
\ \nThe `value` keyword can be used to select rows where the cell
4536+
\ measurements has values from a certain range. Examples:\
4537+
\ `value = 3`, `value > 3`, `-3 < value < 3`.\n
4538+
\ \nCombine multiple filters for different feature attributes and measurements\
4539+
\ using `AND` (`&&`), `OR` (`||`), `NOT` (`!`) logical operators and parentheses: \n\
4540+
* `NOT feature.Name_1=A`: Select all rows where Name_1 is not A. \n* `feature.Name_1!=A,B,C`:\
4541+
\ Select all rows where Name_1 is not A, B, or C. \n* `feature.Name_1=A\
4542+
\ AND feature.Name_2=B`: Select all rows where Name_1 is A and Name_2 is\
4543+
\ B. \n* `feature.Name_1=A && feature.Name_2=B`: Equivalent to the example\
4544+
\ above. \n* `feature.Name_1=A OR feature.Name_2=B`: Select all rows where\
4545+
\ Name_1 is A or Name_2 is B. \n* `feature.Name_1=A || feature.Name_2=B`:\
4546+
\ Equivalent to the example above. \n* `feature.Name_1=A AND (feature.Name_2=B\
4547+
\ OR value>=1.0)`: Select all rows where Name_1 is A and either Name_2 is\
4548+
\ B or minimal possible measurement value is 1.0."
4549+
in: query
4550+
name: exQuery
4551+
schema:
4552+
type: string
4553+
- description: "Filter by expression metadata (key-value metadata pair(s)).\
4554+
\ E.g. `\"Genome Version\"=hg19-BROAD`."
4555+
in: query
4556+
name: exFilter
4557+
schema:
4558+
type: string
45124559
- description: The page tag to resume results from (see paging above).
45134560
in: query
45144561
name: cursor

openapi/v1/integrationUser.yaml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2956,6 +2956,53 @@ paths:
29562956
name: cellQuery
29572957
schema:
29582958
type: string
2959+
- description: "Search for objects linked to cell expression data and originally\
2960+
\ uploaded in TSV format via data query, e.g., `feature=ENSG00000230368,ENSG00000188976\
2961+
\ value>=1.50`\n For the case when the original data is represented by multiple\
2962+
\ attributes per feature scenarios, extended filtering syntax is as follows:\
2963+
\ \n1. By feature attribute value for numeric and string attributes: `feature.NAME=1007_s_at`\
2964+
\ or `feature.\"Average Mz\"=2.218`. As in the case of sample metadata queries,\
2965+
\ single words can be supplied as is; otherwise, use speech marks (`\"`)\
2966+
\ to quote queries that include whitespace. \n2. It is possible to specify\
2967+
\ a set of possible values, separated by comma: `feature.NAME=1007_s_at,121_at`.\
2968+
\ \n3. Utilize range filters to search numeric attributes. Apply `<` (less\
2969+
\ than), `>` (greater than), and `=` (equal to) symbols to specify the desired\
2970+
\ ranges as follows: \n`feature.Name_1 > 3`: Select all rows where the feature\
2971+
\ attribute Name_1 values are greater than 3. \n`feature.Name_2 >= 6`: Select\
2972+
\ all rows where the feature attribute Name_2 values are greater than or\
2973+
\ equal to 6. \n`-3 < feature.Name_3 < 3`: Select all rows where the feature\
2974+
\ attribute Name_3 values lie within the interval between -3 and 3. \n4.\
2975+
\ Use substring search to get the records where the attribute field contains\
2976+
\ the provided substring: `feature.attribute1 =~ \"some text\"`. \n5. The\
2977+
\ first column for each original data file is identified as feature accession\
2978+
\ (typically, it contains gene or protein names, accession IDs, etc.). Searching\
2979+
\ by such feature accession would significantly outperform more complex\
2980+
\ queries by combining the other feature attributes. To enable such a search,\
2981+
\ use `feature` without any attribute extension, e.g., `feature=ENSG00000230368,ENSG00000188976`.\n\
2982+
\ \nThe `value` keyword can be used to select rows where the cell
2983+
\ measurements has values from a certain range. Examples:\
2984+
\ `value = 3`, `value > 3`, `-3 < value < 3`.\n
2985+
\ \nCombine multiple filters for different feature attributes and measurements\
2986+
\ using `AND` (`&&`), `OR` (`||`), `NOT` (`!`) logical operators and parentheses: \n\
2987+
* `NOT feature.Name_1=A`: Select all rows where Name_1 is not A. \n* `feature.Name_1!=A,B,C`:\
2988+
\ Select all rows where Name_1 is not A, B, or C. \n* `feature.Name_1=A\
2989+
\ AND feature.Name_2=B`: Select all rows where Name_1 is A and Name_2 is\
2990+
\ B. \n* `feature.Name_1=A && feature.Name_2=B`: Equivalent to the example\
2991+
\ above. \n* `feature.Name_1=A OR feature.Name_2=B`: Select all rows where\
2992+
\ Name_1 is A or Name_2 is B. \n* `feature.Name_1=A || feature.Name_2=B`:\
2993+
\ Equivalent to the example above. \n* `feature.Name_1=A AND (feature.Name_2=B\
2994+
\ OR value>=1.0)`: Select all rows where Name_1 is A and either Name_2 is\
2995+
\ B or minimal possible measurement value is 1.0."
2996+
in: query
2997+
name: exQuery
2998+
schema:
2999+
type: string
3000+
- description: "Filter by expression metadata (key-value metadata pair(s)).\
3001+
\ E.g. `\"Genome Version\"=hg19-BROAD`."
3002+
in: query
3003+
name: exFilter
3004+
schema:
3005+
type: string
29593006
- description: The page tag to resume results from (see paging above).
29603007
in: query
29613008
name: cursor

0 commit comments

Comments
 (0)