def align_cds_sequence(request, feature_type, stable_id_a, stable_id_version_a, release_short_name_a, assembly_name_a, source_name_a, stable_id_b, stable_id_version_b, release_short_name_b, assembly_name_b, source_name_b, cds_type="cds", output_format="raw"): sequence_a = TarkSeqUtils.fetch_cds_sequence( request, feature_type, stable_id_a, stable_id_version_a, release_short_name_a, assembly_name_a, source_name_a, cds_type, output_format) sequence_b = TarkSeqUtils.fetch_cds_sequence( request, feature_type, stable_id_b, stable_id_version_b, release_short_name_b, assembly_name_b, source_name_b, cds_type, output_format) if len(sequence_a) == 0 or len(sequence_b) == 0: return render( request, 'alignment_viewer.html', context={ 'error_msg': "Alignment Error...One of the sequence is not available, please check!", }) pay_load = { 'asequence': sequence_a, 'bsequence': sequence_b, 'format': "pair", 'stype': "dna", 'email': '*****@*****.**' } encoded_pay_load = urllib.parse.urlencode(pay_load).encode("utf-8") # print(encoded_pay_load) # # # jobId = TarkSeqUtils.serviceRun(encoded_pay_load) # jobId = "emboss_needle-R20190607-121522-0390-94599336-p2m" if jobId: status = TarkSeqUtils.serviceGetStatus(jobId) return render(request, 'alignment_viewer.html', context={ 'status': status, 'jobId': jobId, })
def align_sequence(request, feature_type, stable_id_a, stable_id_version_a, stable_id_b, stable_id_version_b, input_type, outut_format='pair'): sequence_a = TarkSeqUtils.fetch_fasta_sequence(request, feature_type, stable_id_a, stable_id_version_a) sequence_b = TarkSeqUtils.fetch_fasta_sequence(request, feature_type, stable_id_b, stable_id_version_b) pay_load = { 'asequence': sequence_a, 'bsequence': sequence_b, 'format': outut_format, 'stype': input_type, 'email': '*****@*****.**' } encoded_pay_load = urllib.parse.urlencode(pay_load).encode("utf-8") # print(encoded_pay_load) # jobId = TarkSeqUtils.serviceRun(encoded_pay_load) # jobId = "emboss_needle-I20190401-145945-0054-27249118-p2m" if jobId: status = TarkSeqUtils.serviceGetStatus(jobId) return render(request, 'alignment_viewer.html', context={ 'status': status, 'jobId': jobId, })