Mercurial > repos > bernhardlutz > rest_tool
comparison rest_tool_comp_for_assay.py @ 6:9ee84d9fd3a7 draft
Uploaded
| author | bernhardlutz |
|---|---|
| date | Thu, 03 Apr 2014 06:50:57 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 5:1ad356686717 | 6:9ee84d9fd3a7 |
|---|---|
| 1 #!/usr/bin/env python | |
| 2 | |
| 3 import sys, os | |
| 4 import argparse | |
| 5 import tempfile | |
| 6 import readfile | |
| 7 import rest_tool_functions | |
| 8 | |
| 9 | |
| 10 #get the cids for bioassay aid | |
| 11 def get_aid_cid_dict_for_list(aidlist): | |
| 12 aidliststring=",".join(aidlist) | |
| 13 url="http://pubchem.ncbi.nlm.nih.gov/rest/pug/assay/aid/"+aidliststring+"/cids/xml" | |
| 14 xml=readfile.getresult(url) | |
| 15 tmp = tempfile.TemporaryFile() | |
| 16 tmp.write(xml) | |
| 17 tmp.seek(0) | |
| 18 dic=rest_tool_functions.give_aid_cid_dict_from_xml(tmp) | |
| 19 tmp.close() | |
| 20 return dic | |
| 21 | |
| 22 def main(args): | |
| 23 if args.aid_file is None: | |
| 24 aidlist=args.aid.split(",") | |
| 25 else: | |
| 26 aidlist=readfile.getListFromFile(args.aid_file) | |
| 27 dic=get_aid_cid_dict_for_list(aidlist) | |
| 28 rest_tool_functions.write_to_csv(dic, args.outfile) | |
| 29 | |
| 30 | |
| 31 if __name__ == "__main__": | |
| 32 parser = argparse.ArgumentParser() | |
| 33 parser.add_argument('--aid', type=str, | |
| 34 help="AIDs of the BioAssay") | |
| 35 parser.add_argument('--aid-file', dest="aid_file", type=argparse.FileType('r'), | |
| 36 help="Specify a file with a list of aids, one per line") | |
| 37 parser.add_argument('--outfile', type=argparse.FileType('w'), | |
| 38 help="Specify output file") | |
| 39 if len(sys.argv) < 2: | |
| 40 print "Too few arguments..." | |
| 41 parser.print_help() | |
| 42 exit(1) | |
| 43 args = parser.parse_args() | |
| 44 main( args ) |
