aboutsummaryrefslogtreecommitdiff
path: root/ncbi/dbsnp/ncbiutils.py
diff options
context:
space:
mode:
authorJonathan DeMasi <jonathan.demasi@colorado.edu>2019-06-18 15:07:00 -0600
committerJonathan DeMasi <jonathan.demasi@colorado.edu>2019-06-18 15:07:00 -0600
commita771ae27945bdda68740f3627a95a24da25fa5f6 (patch)
treea5e639f860eed60205f5cb2a6fa9508b084fea5e /ncbi/dbsnp/ncbiutils.py
parentd85036e461cbb9dc360cba8791715c81e948d920 (diff)
downloadsnippets-a771ae27945bdda68740f3627a95a24da25fa5f6.tar
snippets-a771ae27945bdda68740f3627a95a24da25fa5f6.tar.gz
snippets-a771ae27945bdda68740f3627a95a24da25fa5f6.tar.bz2
snippets-a771ae27945bdda68740f3627a95a24da25fa5f6.tar.lz
snippets-a771ae27945bdda68740f3627a95a24da25fa5f6.tar.xz
snippets-a771ae27945bdda68740f3627a95a24da25fa5f6.tar.zst
snippets-a771ae27945bdda68740f3627a95a24da25fa5f6.zip
fetching abstracts
Diffstat (limited to 'ncbi/dbsnp/ncbiutils.py')
-rw-r--r--ncbi/dbsnp/ncbiutils.py26
1 files changed, 22 insertions, 4 deletions
diff --git a/ncbi/dbsnp/ncbiutils.py b/ncbi/dbsnp/ncbiutils.py
index b3c199a..9bc1c94 100644
--- a/ncbi/dbsnp/ncbiutils.py
+++ b/ncbi/dbsnp/ncbiutils.py
@@ -2,10 +2,11 @@
import requests
-BASE_URL = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?"
-
-# Example https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=snp&term=snp_pubmed_cited[sb]&retmax=200000&retstart=1000&retmode=json
-def db_query(**kwargs):
+"""
+Used to make an esearch and get the results back in json
+"""
+def esearch(**kwargs):
+ BASE_URL = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?"
args = []
for key, value in kwargs.items():
args.append(key+"="+str(value))
@@ -15,4 +16,21 @@ def db_query(**kwargs):
results = resp.json()
return(results)
else:
+ print("You've encountered an error and we can't return your results")
+
+"""
+Used for an efetch, which is primarily to query specific IDs in dbsnp or pubmed
+Doesn't return json, but must return XML, apparently.
+"""
+def efetch(**kwargs):
+ BASE_URL = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?"
+ args = []
+ for key, value in kwargs.items():
+ args.append(key+"="+str(value))
+ qstring = "&".join(args)
+ resp = requests.get(BASE_URL + qstring)
+ if resp.status_code == 200:
+ results = resp.text
+ return(results)
+ else:
print("You've encountered an error and we can't return your results") \ No newline at end of file