#!/usr/bin/python import requests, json, hmac, hashlib, datetime #Create an input parameter dictionary params['title'] = '' params['promoter_name'] = '' params['promoter_sequence'] = '' params['mRNA'] = 'undefined' params['RBS_sequence_list'] = ',,' params['CDS_name_list'] = 'no name,no name,no name' params['CDS_sequence_list'] = ',,' params['terminator_name'] = '' params['terminator_sequence'] = '' params['16S_rRNA'] = 'undefined' params['organism'] = 'undefined' params['algorithm'] = 'OperonCalculator_EvaluateAnnotatedOperonMode' params['RBS_Calculator_version'] = 'v2.1.1' #Send it to https://api.denovodna.com/ using a HTTPS POST params['publicConsumerToken'] = 'test' params['privateConsumerToken'] = 'private key' params['timestamp'] = datetime.datetime.utcnow().isoformat() message = params[publicConsumerToken'] + params['timestamp'] + 'OperonCalculator_EvaluateAnnotatedOperonMode' params['signature'] = hmac.new('private key', message, hashlib.sha1).hexdigest() headers = {'Content-type': u'application/json', 'Accept': u'application/json'} r = requests.post('https://api.denovodna.com/OperonCalculator_EvaluateAnnotatedOperonMode', data=json.dumps(params), headers=headers) output = r.json() #Retrieve the result after the calculation has completed. id = output['JobInfo']['id'] result = sendGet('Result',{'id' : id})