annotate rest_tool.py @ 4:54358dfa62c0 draft

Uploaded
author bernhardlutz
date Fri, 28 Mar 2014 13:41:22 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
1 #!/usr/bin/env python
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
2 # Aufruf convert_graph.py --type type --operation op --id id --outfile outfile
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
3
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
4 import sys, os
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
5 import argparse
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
6
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
7 import readfile
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
8
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
9 txt_output=["cids", "summary", "synonyms" ]
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
10
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
11 def main(args):
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
12 url="http://pubchem.ncbi.nlm.nih.gov/rest/pug/"+args.type+"/"
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
13 if args.type == "assay":
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
14 url+="aid/"
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
15 elif args.type == "compound":
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
16 url+="cid/"
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
17 elif args.type == "substance":
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
18 url+="sid/"
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
19 if args.idfile is None:
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
20 idstring=str(args.id)
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
21 else:
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
22 idlist=readfile.getListFromFile(args.idfile)
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
23 idstring=",".join(idlist)
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
24 url+=idstring+"/"+args.operation+"/"
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
25 if args.operation in txt_output:
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
26 url+="txt"
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
27 else:
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
28 url+="csv"
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
29 print(url)
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
30 data=readfile.getresult(url)
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
31 outfile=args.outfile
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
32 outfile.write(data)
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
33 outfile.close()
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
34
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
35 if __name__ == "__main__":
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
36 parser = argparse.ArgumentParser()
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
37 parser.add_argument('--type', type=str,
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
38 help="That you want BioAssay Compund ...")
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
39 parser.add_argument('--id', type=str,
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
40 help="Specify the ID")
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
41 parser.add_argument('--operation', type=str,
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
42 help="Specify the operation")
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
43 parser.add_argument('--property-value', type=str,
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
44 help="Specify the property")
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
45 parser.add_argument('--outfile', type=argparse.FileType('w'),
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
46 help="Specify one output file")
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
47 parser.add_argument('--idfile', type=argparse.FileType('r'),
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
48 help="Specify a file with a list of ids, one per line")
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
49 if len(sys.argv) < 8:
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
50 print "Too few arguments..."
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
51 parser.print_help()
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
52 exit(1)
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
53 args = parser.parse_args()
54358dfa62c0 Uploaded
bernhardlutz
parents:
diff changeset
54 main( args )