def protein_page(request): try: query = DBSession.query(Protein.name, Protein.organism, Protein.description, Protein.sequence, Protein.gene_name) query = query.filter(Protein.name == request.matchdict["protein"]) temp_statistics = query.all() statistics = json.dumps(temp_statistics) query = DBSession.query(SpectrumHit.sequence.distinct()) query = query.join(t_spectrum_protein_map) query = query.join(Protein) query = query.join(MsRun) query = query.filter(Protein.name == request.matchdict["protein"]) query = query.filter(SpectrumHit.source_source_id != None) query = query.filter(MsRun.flag_trash ==0) sequences = query.all() # print sequences sequence_start = list() sequence_end = list() for seq in sequences: pos = temp_statistics[0][3].find(seq[0]) if pos > -1: sequence_start.append(pos) sequence_end.append(pos + len(seq[0])) sequence_start = json.dumps(sequence_start) sequence_end = json.dumps(sequence_end) sequences = js_list_creator_dataTables(sequences) except: return Response(conn_err_msg, content_type='text/plain', status_int=500) return {"statistics": statistics, "protein": request.matchdict["protein"], "sequence_start": sequence_start, "sequence_end": sequence_end, "sequences": sequences}
def peptide_page(request): try: query = DBSession.query(Protein.name.label("protein"), Protein.gene_name.label("gene_name")) query = query.join(t_spectrum_protein_map) query = query.join(SpectrumHit) query = query.filter(SpectrumHit.sequence == request.matchdict["peptide"]) query = query.group_by(Protein.name) proteins = json.dumps(query.all()) query = DBSession.query(Source.patient_id) query = query.join(SpectrumHit) query = query.join(MsRun) query = query.filter(MsRun.flag_trash ==0) query = query.filter(SpectrumHit.sequence == request.matchdict["peptide"]) query = query.group_by(Source.patient_id) sources = js_list_creator_dataTables(query.all()) except: return Response(conn_err_msg, content_type='text/plain', status_int=500) return {"proteins": proteins, "sources": sources, "peptide": request.matchdict["peptide"]}