def info_send(cs, argument): termcolor.cprint('INFO', 'green') s = Seq(argument) info_dict = s.info_seq() response1 = 'Total length: ' + str(len(argument)) + '\n' cs.send(response1.encode()) response2 = 'A: ' + str(info_dict['A'][0]) + ' ' + str(info_dict['A'][1]) + '%' + '\n' cs.send(response2.encode()) response3 = 'C: ' + str(info_dict['C'][0]) + ' ' + str(info_dict['C'][1]) + '%' + '\n' cs.send(response3.encode()) response4 = 'G: ' + str(info_dict['G'][0]) + ' ' + str(info_dict['G'][1]) + '%' + '\n' cs.send(response4.encode()) response5 = 'T: ' + str(info_dict['T'][0]) + ' ' + str(info_dict['T'][1]) + '%' + '\n' cs.send(response5.encode()) print(response1, response2, response3, response4, response5)
def info(sequence): s = Seq(sequence) info_dict = s.info_seq() response = f"""Total length {len(sequence)} A: {info_dict['A'][0]} ({info_dict['A'][1]}%) C: {info_dict['C'][0]} ({info_dict['C'][1]}%) G: {info_dict['A'][0]} ({info_dict['G'][1]}%) T: {info_dict['T'][0]} ({info_dict['T'][1]}%)""" context = { 'sequence': sequence, 'information': response, 'operation': 'Info' } contents = read_template_html_file('operation.html').render( context=context) return contents
def obtain_info_list(dict_info): input_seq = dict_info['seq'] sequence_seq = Seq(input_seq) seq_length = [] length = sequence_seq.len() seq_length.append(length) info_dict = sequence_seq.info_seq() A_list = info_dict['A'] C_list = info_dict['C'] G_list = info_dict['G'] T_list = info_dict['T'] info_list = [] info_list.append(A_list) info_list.append(C_list) info_list.append(G_list) info_list.append(T_list) info_list.append(seq_length) return info_list
def get_list_info(dict_info): sequence_asked = dict_info['seq'] seq_seq = Seq(sequence_asked) length_seq = [] length = seq_seq.len() length_seq.append(length) info_dict = seq_seq.info_seq() list_A = info_dict['A'] list_C = info_dict['C'] list_G = info_dict['G'] list_T = info_dict['T'] lists_info = [] lists_info.append(list_A) lists_info.append(list_C) lists_info.append(list_G) lists_info.append(list_T) lists_info.append(length_seq) return lists_info
connection = http.client.HTTPConnection(SERVER) for g in GENES_LIST: try: ID = DICT_GENES[g] connection.request("GET", ENDPOINT + ID + PARAMETERS) response = connection.getresponse() print("\nSERVER: ", SERVER) print("URL: ", SERVER + ENDPOINT + ID + PARAMETERS) print("Response received:", response.status, response.reason, "\n") if response.status == 200: response_dict = json.loads(response.read().decode()) # print(json.dumps(response_dict, indent=4, sort_keys=True)) print_colored("GENE: ", g, "yellow") print_colored("Description: ", response_dict["desc"], "yellow") sequence = Seq(response_dict["seq"]) seq_length = sequence.len() count_dict = sequence.count_bases() # most_frequent_base = sequence.most_frequent_base(count_dict) info_dict = sequence.info_seq() A = info_dict['A'] G = info_dict['G'] C = info_dict['C'] T = info_dict['T'] bases_dict = {'G': G[0], 'A': A[0], 'C': C[0], 'T': T[0]} max_value = max(bases_dict, key=bases_dict.get) print(colored("Total length:", "yellow"), seq_length, "\n", colored(f"""A: {A[0]} ({round(A[1], 1)}%) C: {C[0]} ({round(C[1], 1)}%) G: {G[0]} ({round(G[1], 1)}%) T: {T[0]} ({round(T[1], 1)}%)""", "blue"), "\n", colored("Most frequent base:", "yellow"), max_value) except KeyError: print("The gene is not inside our database. Choose one of the following", list(DICT_GENES.keys()))