Mercurial > repos > fabio > btman
comparison query.py @ 4:69a3505ac594 draft
Uploaded 20180405
| author | fabio |
|---|---|
| date | Wed, 04 Apr 2018 18:54:40 -0400 |
| parents | 315246810bfa |
| children | 300e4932bad6 |
comparison
equal
deleted
inserted
replaced
| 3:557d09d81807 | 4:69a3505ac594 |
|---|---|
| 7 #from requests_futures.sessions import FuturesSession | 7 #from requests_futures.sessions import FuturesSession |
| 8 | 8 |
| 9 #### NN14 #### | 9 #### NN14 #### |
| 10 SERVICE_URL = "http://nn14.galaxyproject.org:8080/"; | 10 SERVICE_URL = "http://nn14.galaxyproject.org:8080/"; |
| 11 #service_url = "http://127.0.0.1:8082/"; | 11 #service_url = "http://127.0.0.1:8082/"; |
| 12 QUERY_URL = SERVICE_URL+"tree/1/query"; | 12 QUERY_URL = SERVICE_URL+"tree/<tree_id>/query"; |
| 13 STATUS_URL = SERVICE_URL+"status/<query_id>"; | 13 STATUS_URL = SERVICE_URL+"status/<query_id>"; |
| 14 ############## | 14 ############## |
| 15 # query delay in seconds | 15 # query delay in seconds |
| 16 QUERY_DELAY = 30; | 16 QUERY_DELAY = 30; |
| 17 ############## | 17 ############## |
| 39 headers = {'Content-type': 'application/json'}; | 39 headers = {'Content-type': 'application/json'}; |
| 40 | 40 |
| 41 # create a session | 41 # create a session |
| 42 session = requests.Session(); | 42 session = requests.Session(); |
| 43 # make a synchronous post request to the query route | 43 # make a synchronous post request to the query route |
| 44 req = session.post(QUERY_URL, headers=headers, json=payload); | 44 QUERY_URL.replace("<tree_id>", str(options.treeid)); |
| 45 req = session.post(QUERY_URL.replace("<tree_id>", str(options.treeid)), headers=headers, json=payload); | |
| 45 resp_code = req.status_code; | 46 resp_code = req.status_code; |
| 46 #print(str(req.content)+"\n\n"); | 47 #print(str(req.content)+"\n\n"); |
| 47 if resp_code == requests.codes.ok: | 48 if resp_code == requests.codes.ok: |
| 48 resp_content = str(req.content); | 49 resp_content = str(req.content); |
| 49 # convert out to json | 50 # convert out to json |
| 78 seq_id = block['sequence_id']; | 79 seq_id = block['sequence_id']; |
| 79 # put response block in the output collection | 80 # put response block in the output collection |
| 80 output_file_path = os.path.join(output_dir_path, seq_id + "_" + out_file_format); | 81 output_file_path = os.path.join(output_dir_path, seq_id + "_" + out_file_format); |
| 81 accessions_list = ""; | 82 accessions_list = ""; |
| 82 hits_block = block['hits']; | 83 hits_block = block['hits']; |
| 84 accessions_dict = { }; | |
| 85 is_sabutan = False; | |
| 83 for hit in hits_block: | 86 for hit in hits_block: |
| 84 if type(hit) is dict: # sabutan | 87 if type(hit) is dict: # sabutan |
| 85 accessions_list = accessions_list + hit['accession_number'] + "\t" + hit['score'] + "\n"; | 88 #accessions_list = accessions_list + str(hit['accession_number']) + "\t" + str(hit['score']) + "\n"; |
| 89 accession_number = hit['accession_number']; | |
| 90 score = hit['score']; | |
| 91 score_split = score.split("/"); | |
| 92 accessions_dict[accession_number] = "{0:.6f}".format(float(score_split[0])/float(score_split[1])); | |
| 93 is_sabutan = True; | |
| 86 else: # all-some | 94 else: # all-some |
| 87 accessions_list = accessions_list + str(hit) + "\n"; | 95 accessions_list = accessions_list + str(hit) + "\n"; |
| 96 if is_sabutan: | |
| 97 sorted_accessions = sorted(accessions_dict, key=lambda i: float(accessions_dict[i])); | |
| 98 for acc in sorted_accessions: | |
| 99 accessions_list = accessions_list + str(acc) + "\t" + str(accessions_dict[acc]) + "\n"; | |
| 88 with open(output_file_path, 'w') as out: | 100 with open(output_file_path, 'w') as out: |
| 89 out.write(accessions_list.strip()); | 101 out.write(accessions_list.strip()); |
| 90 return sys.exit(OK_EXIT_CODE); | 102 return sys.exit(OK_EXIT_CODE); |
| 91 else: | 103 else: |
| 92 return raiseException( ERR_EXIT_CODE, "Unable to query the remote server. Please try again in a while.", output_dir_path, str(options.errorfile) ); | 104 return raiseException( ERR_EXIT_CODE, "Unable to query the remote server. Please try again in a while.", output_dir_path, str(options.errorfile) ); |
| 165 action="store", dest="names", help="comma separated names associated to the files specified in --files"); | 177 action="store", dest="names", help="comma separated names associated to the files specified in --files"); |
| 166 parser.add_option("-s", "--sequences", type="string", | 178 parser.add_option("-s", "--sequences", type="string", |
| 167 action="store", dest="sequences", help="contains a list of sequences (one for each row)"); | 179 action="store", dest="sequences", help="contains a list of sequences (one for each row)"); |
| 168 parser.add_option("-a", "--fasta", type="string", | 180 parser.add_option("-a", "--fasta", type="string", |
| 169 action="store", dest="fasta", help="contains the content of a fasta file"); | 181 action="store", dest="fasta", help="contains the content of a fasta file"); |
| 170 parser.add_option("-x", "--search", type="string", default=0, | 182 parser.add_option("-x", "--search", type="string", default="rrr", |
| 171 action="store", dest="search", help="search mode"); | 183 action="store", dest="search", help="search mode"); |
| 172 parser.add_option("-e", "--exact", type="int", default=0, | 184 parser.add_option("-e", "--exact", type="int", default=0, |
| 173 action="store", dest="exact", help="exact algorithm (required if search is 1 only)"); | 185 action="store", dest="exact", help="exact algorithm (required if search is 1 only)"); |
| 186 parser.add_option("-k", "--tree", type="int", default=0, | |
| 187 action="store", dest="treeid", help="the id of the tree that will be queried"); | |
| 174 parser.add_option("-t", "--sthreshold", type="float", | 188 parser.add_option("-t", "--sthreshold", type="float", |
| 175 action="store", dest="sthreshold", help="threshold applied to the search algrithm"); | 189 action="store", dest="sthreshold", help="threshold applied to the search algrithm"); |
| 176 parser.add_option("-o", "--outputdir", type="string", default="output", | 190 parser.add_option("-o", "--outputdir", type="string", default="output", |
| 177 action="store", dest="outputdir", help="output directory (collection) path"); | 191 action="store", dest="outputdir", help="output directory (collection) path"); |
| 178 parser.add_option("-r", "--errorfile", type="string", default="error.log", | 192 parser.add_option("-r", "--errorfile", type="string", default="error_txt", |
| 179 action="store", dest="errorfile", help="error file name containing error messages"); | 193 action="store", dest="errorfile", help="error file name containing error messages"); |
| 180 | 194 |
| 181 # TEST | 195 # TEST |
| 182 #sequences = 'NM_001169378.2__tc__atttcggatgctttggagggaggaactctagtgctgcattgattggggcgtgtgttaatgatattcccagttcgcatggcgagcatcgattcctggtacgtatgtgggccccttgactcccacttatcgcacttgtcgttcgcaatttgcatgaattccgcttcgtctgaaacgcacttgcgccagacttctccggctggtctgatctggtctgtgatccggtctggtggggcgccagttgcgtttcgagctcatcaccagtcactccgcagtcgcattctgccagaggtctccgatcaagagcgcttctccattcgagattcaaacgcagcgcggtctgacgccgccacatcgagtgaaatccatatcgatggccacattcacacaggacgagatcgacttcctgcgcagccatggcaacgagctgtgtgccaagacctggctgggattgtgggatccgaagcgggctgtgcaccagcaggagcagcgcgaactgatgatggacaagtatgagcggaagcgatactacctggagccggccagtcctcttaagtcgctggccaatgcggtcaacctgaagtcgtctgctccggcgacgaaccacactcagaatggccaccaaaatgggtatgccagcatccatttgacgcctcctgctgcccagcggacctcggccaatggattgcagaaggtggccaactcgtcgagtaactcttctggaaagacctcatcctcgatcagtaggccacactataatcaccagaacaacagccaaaacaacaatcacgatgcctttggcctgggtggcggattgagcagcctgaacagcgccggttccacatccactggagctctttccgacaccagcagttgtgctagcaatggcttcggtgcggactgcgactttgtggctgactttggctcggccaacattttcgacgccacatcggcgcgttccacaggatcgccggcggtgtcgtccgtgtcctcagtgggttccagcaatggctacgccaaggtgcagcccatccgggcagctcatctccagcagcaacagcagttgcagcagcagctgcatcagcagcagctcctcaatggcaatggtcatcagggcactgagaactttgccgacttcgatcacgctcccatctacaatgcagtggctccaccgacttttaacgattggatcagcgactggagcaggcggggcttccacgatcccttcgacgattgcgatgactcgccaccaggtgcccgccctccagcacctgcgccagctcctgctcaagttcccgcagtatcatcaccattgccaaccgtccgagaagaaccagagcttgcgtggaatttttgggaggacgagatgcgaatagaggcgcaggaaaaggagtcccaaactaaacagccggagttgggctactccttttcgattagtactactacgcccctttccccttcgaatcccttcctgccctaccttgtcagtgaggagcagcatcgaaatcatccagagaagccctccttttcgtattcgttgttcagctccatatcaaatagttcgcaagaagatcaggcggatgatcatgagatgaatgttttaaatgccaatttccatgatttctttacgtggagtgctcccttgcagaacggccatacgaccagtccgcccaagggcggaaatgcagcgatggcgcccagtgaggatcgatatgccgctcttaaggatctcgacgagcagctgcgagaactgaaggccagcgaaagcgccacagagacgcccacgcccaccagtggcaatgttcaggccacagatgcctttggtggagccctcaacaacaatccaaatcccttcaagggccagcaacagcagcagctcagcagccatgtggtgaatccattccagcagcagcaacagcagcagcaccagcagaatctctatggccagttgacgctcataccaaatgcctacggcagcagttcccagcagcagatggggcaccatctcctccagcagcagcagcagcaacagcagagcttcttcaacttcaacaacaacgggttcgccatctcgcagggtctgcccaacggctgcggcttcggcagcatgcaacccgctcctgtgatggccaacaatccctttgcagccagcggcgccatgaacaccaacaatccattcttatgagactcaacccgggagaatccgcctcgcgccacctggcagaggcgctgagccagcgaacaaagagcagacgcggaggaaccgaaccgaaattagtccattttactaacaatagcgttaatctatgtatacataatgcacgccggagagcactctttgtgtacatagcccaaatatgtacacccgaaaggctccacgctgacgctagtcctcgcggatggcggaggcggactggggcgttgatatattcttttacatggtaactctactctaacgtttacggatacggatatttgtatttgccgtttgccctagaactctatacttgtactaagcgcccatgaacacttcatccactaacatagctactaatcctcatcctagtggaggatgcagttggtccagacactctgttatttgttttatccatcctcgtacttgtctttgtcccatttagcactttcgttgcggataagaactttgtcagttattgattgtgtggccttaataagattataaaactaaatattataacgtacgactatacatatacggatacagatacagattcagacacagttagtacagatacagatatacatatacgcttttgtacctaatgaattgcttcttgtttccattgctaatcatctgcttttcgtgtgctaattttatacactagtacgtgcgatatcggccgtgcagatagattgctcagctcgcgagtcaagcctcttttggttgcacccacggcagacatttgtacatatactgtctgattgtaagcctcgtgtaatacctccattaacaccactcccccaccacccatccatcgaaccccgaatccatgactcaattcactgctcacatgtccatgcccatgccttaacgtgtcaaacattatcgaagccttaaagttatttaaaactacgaaatttcaataaaaacaaataagaacgctatc'; | 196 #sequences = 'NM_001169378.2__tc__atttcggatgctttggagggaggaactctagtgctgcattgattggggcgtgtgttaatgatattcccagttcgcatggcgagcatcgattcctggtacgtatgtgggccccttgactcccacttatcgcacttgtcgttcgcaatttgcatgaattccgcttcgtctgaaacgcacttgcgccagacttctccggctggtctgatctggtctgtgatccggtctggtggggcgccagttgcgtttcgagctcatcaccagtcactccgcagtcgcattctgccagaggtctccgatcaagagcgcttctccattcgagattcaaacgcagcgcggtctgacgccgccacatcgagtgaaatccatatcgatggccacattcacacaggacgagatcgacttcctgcgcagccatggcaacgagctgtgtgccaagacctggctgggattgtgggatccgaagcgggctgtgcaccagcaggagcagcgcgaactgatgatggacaagtatgagcggaagcgatactacctggagccggccagtcctcttaagtcgctggccaatgcggtcaacctgaagtcgtctgctccggcgacgaaccacactcagaatggccaccaaaatgggtatgccagcatccatttgacgcctcctgctgcccagcggacctcggccaatggattgcagaaggtggccaactcgtcgagtaactcttctggaaagacctcatcctcgatcagtaggccacactataatcaccagaacaacagccaaaacaacaatcacgatgcctttggcctgggtggcggattgagcagcctgaacagcgccggttccacatccactggagctctttccgacaccagcagttgtgctagcaatggcttcggtgcggactgcgactttgtggctgactttggctcggccaacattttcgacgccacatcggcgcgttccacaggatcgccggcggtgtcgtccgtgtcctcagtgggttccagcaatggctacgccaaggtgcagcccatccgggcagctcatctccagcagcaacagcagttgcagcagcagctgcatcagcagcagctcctcaatggcaatggtcatcagggcactgagaactttgccgacttcgatcacgctcccatctacaatgcagtggctccaccgacttttaacgattggatcagcgactggagcaggcggggcttccacgatcccttcgacgattgcgatgactcgccaccaggtgcccgccctccagcacctgcgccagctcctgctcaagttcccgcagtatcatcaccattgccaaccgtccgagaagaaccagagcttgcgtggaatttttgggaggacgagatgcgaatagaggcgcaggaaaaggagtcccaaactaaacagccggagttgggctactccttttcgattagtactactacgcccctttccccttcgaatcccttcctgccctaccttgtcagtgaggagcagcatcgaaatcatccagagaagccctccttttcgtattcgttgttcagctccatatcaaatagttcgcaagaagatcaggcggatgatcatgagatgaatgttttaaatgccaatttccatgatttctttacgtggagtgctcccttgcagaacggccatacgaccagtccgcccaagggcggaaatgcagcgatggcgcccagtgaggatcgatatgccgctcttaaggatctcgacgagcagctgcgagaactgaaggccagcgaaagcgccacagagacgcccacgcccaccagtggcaatgttcaggccacagatgcctttggtggagccctcaacaacaatccaaatcccttcaagggccagcaacagcagcagctcagcagccatgtggtgaatccattccagcagcagcaacagcagcagcaccagcagaatctctatggccagttgacgctcataccaaatgcctacggcagcagttcccagcagcagatggggcaccatctcctccagcagcagcagcagcaacagcagagcttcttcaacttcaacaacaacgggttcgccatctcgcagggtctgcccaacggctgcggcttcggcagcatgcaacccgctcctgtgatggccaacaatccctttgcagccagcggcgccatgaacaccaacaatccattcttatgagactcaacccgggagaatccgcctcgcgccacctggcagaggcgctgagccagcgaacaaagagcagacgcggaggaaccgaaccgaaattagtccattttactaacaatagcgttaatctatgtatacataatgcacgccggagagcactctttgtgtacatagcccaaatatgtacacccgaaaggctccacgctgacgctagtcctcgcggatggcggaggcggactggggcgttgatatattcttttacatggtaactctactctaacgtttacggatacggatatttgtatttgccgtttgccctagaactctatacttgtactaagcgcccatgaacacttcatccactaacatagctactaatcctcatcctagtggaggatgcagttggtccagacactctgttatttgttttatccatcctcgtacttgtctttgtcccatttagcactttcgttgcggataagaactttgtcagttattgattgtgtggccttaataagattataaaactaaatattataacgtacgactatacatatacggatacagatacagattcagacacagttagtacagatacagatatacatatacgcttttgtacctaatgaattgcttcttgtttccattgctaatcatctgcttttcgtgtgctaattttatacactagtacgtgcgatatcggccgtgcagatagattgctcagctcgcgagtcaagcctcttttggttgcacccacggcagacatttgtacatatactgtctgattgtaagcctcgtgtaatacctccattaacaccactcccccaccacccatccatcgaaccccgaatccatgactcaattcactgctcacatgtccatgcccatgccttaacgtgtcaaacattatcgaagccttaaagttatttaaaactacgaaatttcaataaaaacaaataagaacgctatc'; |
| 183 #(options, args) = parser.parse_args(['-x', 'rrr', '-t', 0.5, '-s', sequences, '-o', 'collection_content']); | 197 #(options, args) = parser.parse_args(['-x', 'rrr', '-t', 0.5, '-s', sequences, '-o', 'collection_content']); |
