2
|
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 )
|