def sample_page(sample_id): sample = Sample.query.filter_by(sample_ID=sample_id).first() batch_id = sample.batch_id batch = Batch.query.filter_by(batch_id=batch_id).first() NCV_db = NCV.query.filter(NCV.batch_id == batch_id) DC = DataClasifyer() DC.handle_NCV(NCV_db) NCV_dat = NCV.query.filter_by(sample_ID=sample_id).first() chrom_abnorm = ['T13', 'T18', 'T21', 'X0', 'XXX', 'XXY', 'XYY'] db_entries = { c: sample.__dict__['status_' + c].replace('\r\n', '').strip() for c in chrom_abnorm } db_entries_change = { c: sample.__dict__['status_change_' + c] for c in chrom_abnorm } db_entries_comments = { c: sample.__dict__['comment_' + c] for c in chrom_abnorm } PP = PlottPage(batch_id) PP.make_NCV_stat() PP.make_chrom_abn() sample_state_dict = PP.sample_state_dict for state in sample_state_dict: sample_state_dict[state]['T_13'] = Sample.query.filter_by( status_T13=state) sample_state_dict[state]['T_18'] = Sample.query.filter_by( status_T18=state) sample_state_dict[state]['T_21'] = Sample.query.filter_by( status_T21=state) return render_template( 'sample_page.html', NCV_dat=NCV_dat, tris_abn=PP.tris_abn, sex_chrom_abn=PP.sex_chrom_abn, abn_status_list=[ 'Verified', 'False Positive', 'Probable', 'Suspected' ], sex_abn_colors=PP.sex_abn_colors, sample=sample, NCV_db=NCV.query.filter_by(sample_ID=sample_id).first(), batch_id=batch_id, batch_name=batch.batch_name, batch=batch, nr_validation_samps=PP.nr_validation_samps, sample_id=sample_id, chrom_abnorm=chrom_abnorm, db_entries=db_entries, db_entries_comments=db_entries_comments, db_entries_change=db_entries_change, NCV_stat=PP.NCV_stat, NCV_131821=['NCV_13', 'NCV_18', 'NCV_21'], state_dict=sample_state_dict, sex_tresholds=DC.sex_tresholds, tris_thresholds=DC.tris_thresholds, NCV_sex=DC.NCV_sex[sample_id], NCV_warn=DC.NCV_classified[sample_id])
def batch(): NCV_db = NCV.query DH = DataHandler() sample_db = Sample.query DC = DataClasifyer() DC.handle_NCV(NCV_db) DC.get_QC_warnings(sample_db) return render_template('start_page.html', batches=Batch.query, nr_included_samps=DH.nr_included_samps, samples=Sample.query, NCV_db=NCV.query, NCV_sex=DC.NCV_sex, NCV_warnings=DC.NCV_classified)
def sample(batch_id): NCV_db = NCV.query.filter(NCV.batch_id == batch_id) sample_db = Sample.query.filter(Sample.batch_id == batch_id) batch = Batch.query.filter(Batch.batch_id == batch_id).first() DC = DataClasifyer() DC.handle_NCV(NCV_db) DC.get_QC_warnings(sample_db) DC.get_manually_classified(sample_db) PP = PlottPage(batch_id) PP.make_NCV_stat() PP.make_chrom_abn() PP.make_cov_plot_data() return render_template( 'batch_page.html', NCV_samples=NCV.query.filter(NCV.batch_id == batch_id), batch_name=batch.batch_name, man_class=DC.man_class, NCV_stat=PP.NCV_stat, NCV_sex=DC.NCV_sex, seq_date=batch.date, nr_validation_samps=PP.nr_validation_samps, samp_range=range(len(PP.NCV_stat['NCV_X']['NCV_cases'])), tris_chrom_abn=PP.tris_chrom_abn, sex_chrom_abn=PP.sex_chrom_abn, abn_status_list=[ 'Verified', 'False Positive', 'Probable', 'Suspected' ], many_colors=PP.many_colors, sex_abn_colors=PP.sex_abn_colors, sex_tresholds=DC.sex_tresholds, tris_thresholds=DC.tris_thresholds, seq_warnings=DC.QC_warnings, warnings=DC.NCV_classified, NCV_rounded=DC.NCV_data, samp_cov_db=PP.coverage_plot, sample_ids=','.join(sample.sample_ID for sample in NCV_db))