comparison rest_tool_comp_for_assay.py @ 2:d3f9c70919dc draft

Uploaded
author bernhardlutz
date Mon, 24 Mar 2014 14:00:06 -0400
parents
children
comparison
equal deleted inserted replaced
1:954a489c1606 2:d3f9c70919dc
1 #!/usr/bin/env python
2 # Aufruf convert_graph.py --aid list of ids --aid-from-file file
3
4 import sys, os
5 import networkx as nx
6 import argparse
7 import urllib2, urllib, httplib
8
9 #supported graph_types
10 #output_types = ["tsv", "csv", "png", "json", "txt", "xml", "sdf", "asnt", "asnb", "jsonp"]
11
12
13 def getresult(url):
14 try:
15 connection = urllib2.urlopen(url)
16 except urllib2.HTTPError, e:
17 return ""
18 else:
19 return connection.read().rstrip()
20
21
22 def getresultPost(url, aidList):
23 values={'aids': ",".join(aidList)}
24 data=urllib.urlencode(values)
25 print(data)
26
27 headers = {"Content-type": "application/x-www-form-urlencoded"}
28 conn = httplib.HTTPConnection("pubchem.ncbi.nlm.nih.gov")
29 conn.request("POST", "/rest/pug/assay/aid/aids/csv", data, headers)
30 response = conn.getresponse()
31 conn.close()
32 return response.read()
33
34
35
36 #get the cids for bioassay aid
37 def getCompoundList(aid):
38 url="http://pubchem.ncbi.nlm.nih.gov/rest/pug/assay/aid/"+aid+"/cids/txt"
39 data=getresult(url)
40 return data
41
42 def main(args):
43 cids=getCompoundList(args.aid)
44 args.outfile.write(cids)
45 args.outfile.close()
46 if __name__ == "__main__":
47 parser = argparse.ArgumentParser()
48 parser.add_argument('--aid', type=str,
49 help="AIDs of the BioAssay")
50 parser.add_argument('--aid-from-file', type=argparse.FileType('r'),
51 help="Specify a file with a list of aids, one per line")
52 parser.add_argument('--outfile', type=argparse.FileType('w'),
53 help="Specify output file")
54 if len(sys.argv) < 2:
55 print "Too few arguments..."
56 parser.print_help()
57 exit(1)
58 args = parser.parse_args()
59 main( args )