get-query-by-taxon-and-prot [taxid protId]
Same as above but with restriction on interactor identifiers
Input: 9606 "P04040"
Output: [:and [:taxidA 9606] [:taxIdB 9606] [:species 9606] [:or [:idA "P04040"] [:idB "P04040"]]]
Get queries for one taxon and multiple proteins
get-queries-by-taxon-and-prot-pool [taxId protPool limit]
A query should be less thatn 1000 characters so we have to split it into a list of queries.
The queries have the same taxid restrictions but different interactor identifier restrictions (in "or" section).
The following example aims to explain how to split but in this case we could have keep it in one query.
As an indicator, a query should stick to around 20 `and` blocks.
Input: 9606 ["P04040" "Q9D2V5"]
Output:
[[:and
[:taxidA 9606]
[:taxIdB 9606]
[:species 9606]
[:or
[:and [:idA "P04040"] [:idB "Q9D2V5"]]
[:and [:idA "Q9D2V5"] [:idB "P04040"]]]]
[:and
[:taxidA 9606]
[:taxIdB 9606]
[:species 9606]
[:or
[:and [:idA "P04040"] [:idB "P04040"]]
[:and [:idA "Q9D2V5"] [:idB "Q9D2V5"]]]]]
Depends on https://github.com/Soaring-Outliers/ppi-query/issues/4
Fetch interactions for network of interests
Implement the following methods.
Get query for one organism and one protein
Get queries for one taxon and multiple proteins
Format query in MIQL format
Update
to-miql [query]
Update
fetch-by-query [client query]