annotate rest_tool_comp_for_assay.py @ 2:d3f9c70919dc draft

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