def coverage_plot(batch_id): L = Layout(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(NCV_db) DC.handle_NCV() DC.get_QC_warnings(sample_db) CP = CoveragePlot(batch_id) CP.make_cov_plot_data() return render_template('batch_page/tab_coverage.html', ## Header batch_name = batch.batch_name, seq_date = batch.date, ## Warnings Table seq_warnings = DC.QC_warnings, samp_cov_db = CP.coverage_plot, cov_colors = L.cov_colors, case_size = L.case_size, case_line = L.case_line, ## Buttons batch_id = batch_id, sample_ids = ','.join(sample.sample_ID for sample in NCV_db), sample_list = CP.sample_list)
def FF_plot(batch_id): L = Layout(batch_id) FF = FetalFraction(batch_id) FF.format_case_dict() FF.format_contol_dict() FF.form_prediction_interval() batch = Batch.query.filter(Batch.batch_id == batch_id).first() sample_db = Sample.query.filter(Sample.batch_id == batch_id) DC = DataClasifyer() DC.get_QC_warnings(sample_db) return render_template('batch_page/tab_FF.html', ## Warnings Table seq_warnings = DC.QC_warnings, ## Header batch_name = batch.batch_name, batch_id = batch_id, seq_date = batch.date, ## Plotts nr_contol_samples = FF.nr_contol_samples, predict = FF.perdiction, cases = FF.samples, control = FF.control, case_size = L.case_size, case_line = L.case_line, many_colors = L.many_colors_dict, sample_list = FF.sample_list )
def covX_covY(batch_id): L = Layout(batch_id) CC = CovXCovY(batch_id) CC.format_case_dict() CC.format_contol_dict() CC.format_pos_contol() batch = Batch.query.filter(Batch.batch_id == batch_id).first() sample_db = Sample.query.filter(Sample.batch_id == batch_id) DC = DataClasifyer() DC.get_QC_warnings(sample_db) return render_template('batch_page/tab_covX_covY.html', ## Warnings Table seq_warnings = DC.QC_warnings, ## Header batch_name = batch.batch_name, batch_id = batch_id, seq_date = batch.date, ## Plotts nr_contol_samples = CC.nr_contol_samples, cases = CC.samples, control = CC.control, pos_contol = CC.pos_contol, case_size = L.case_size, case_line = L.case_line, ncv_abn_colors = L.ncv_abn_colors, abn_size = L.abn_size, abn_line = L.abn_line, abn_symbol = L.abn_symbol, many_colors = L.many_colors_dict, sample_list = CC.sample_list )
def NCV18_plot(batch_id): #getting thresholds and layout DC = DataClasifyer() sample_db = Sample.query.filter(Sample.batch_id == batch_id) DC.get_QC_warnings(sample_db) L = Layout(batch_id) # Getting and formating sample and NCV data for the control samples in the plot control_normal, control_abnormal = BDF.control_NCV18() # Getting and formating sample and NCV data for the samples in the batch batch = Batch.query.filter(Batch.batch_id == batch_id).first() NCV_db = NCV.query.filter(NCV.batch_id == batch_id).all() TA = TrisAbnormality(batch_id, NCV_db) case_data = TA.make_case_data(control_normal, '18') tris_chrom_abn = TA.make_tris_chrom_abn(control_abnormal, '18') return render_template('batch_page/tab_NCV18.html', ## Warnings Table seq_warnings = DC.QC_warnings, ## Header batch_name = batch.batch_name, seq_date = batch.date, batch_id = batch_id, ## Plotts chrom = '18', case_data = case_data, tris_chrom_abn = tris_chrom_abn, case_size = L.case_size, case_line = L.case_line, abn_size = L.abn_size, abn_line = L.abn_line, abn_symbol = L.abn_symbol, ncv_abn_colors = L.ncv_abn_colors, tris_thresholds = DC.tris_thresholds)
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))
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 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(NCV_db) DC.handle_NCV() DC.make_sex_tresholds(BDF.NCV_passed_X) DC.get_QC_warnings(sample_db) DC.get_manually_classified(sample_db) PP = PlottPage(batch_id, BDF) PP.make_NCV_stat() PP.make_chrom_abn() PP.make_cov_plot_data() return render_template('batch_page.html', ## Header batch_name = batch.batch_name, seq_date = batch.date, ## Warnings Table seq_warnings = DC.QC_warnings, ## NCV Table NCV_samples = NCV.query.filter(NCV.batch_id == batch_id), man_class = DC.man_class_merged, NCV_sex = DC.NCV_sex, warnings = DC.NCV_classified, NCV_rounded = DC.NCV_data, ## Plotts NCV_stat = PP.NCV_stat, case_size = PP.case_size, abn_size = PP.abn_size, 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 = ['Other','False Positive','Suspected', 'Probable', 'Verified'], cov_colors = PP.cov_colors, many_colors = PP.many_colors, ncv_abn_colors = PP.ncv_abn_colors, sex_tresholds = DC.sex_tresholds, tris_thresholds = DC.tris_thresholds, ## Coverage bool_warns = filter(None, DC.NCV_classified.values()), samp_cov_db = PP.coverage_plot, ## Buttons batch_id = batch_id, sample_ids = ','.join(sample.sample_ID for sample in NCV_db))
def NCVXY_plot(batch_id): L = Layout(batch_id) # Getting and formating sample and NCV data for the samples in the batch 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(NCV_db) DC.handle_NCV() DC.make_sex_tresholds(BDF.NCV_passed_X) DC.get_QC_warnings(sample_db) # Getting and formating sample and NCV data for the control samples in the plot control_normal_X, control_normal_Y, control_normal_XY_names = BDF.control_NCVXY() SA = SexAbnormality(batch_id, NCV_db) SA.make_case_data('NCV_X', control_normal_X) SA.make_case_data('NCV_Y', control_normal_Y) SA.make_sex_chrom_abn() return render_template('batch_page/tab_NCVXY.html', ## Header batch_name = batch.batch_name, seq_date = batch.date, ## Warnings Table seq_warnings = DC.QC_warnings, ## Plotts NCV_pass_names = control_normal_XY_names, case_data = SA.case_data, case_size = L.case_size, case_line = L.case_line, abn_size = L.abn_size, abn_line = L.abn_line, abn_symbol = L.abn_symbol, samp_range = range(len(SA.case_data['NCV_X']['samples'])), sex_chrom_abn = SA.sex_chrom_abn, abn_status_list = ['Other','False Positive','Suspected', 'Probable', 'Verified','False Negative'], many_colors = L.many_colors_dict, sex_tresholds = DC.sex_tresholds, ncv_abn_colors = L.ncv_abn_colors, ## Buttons batch_id = batch_id, sample_ids = ','.join(sample.sample_ID for sample in NCV_db), sample_list = SA.sample_list)
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(NCV_db) DC.handle_NCV() DC.get_QC_warnings(sample_db) DC.get_manually_classified(sample_db) return render_template('batch_page/batch_page.html', current_user = current_user, ## Header batch_name = batch.batch_name, seq_date = batch.date, ## Warnings Table seq_warnings = DC.QC_warnings, ## NCV Table NCV_samples = NCV.query.filter(NCV.batch_id == batch_id), man_class = DC.man_class_merged, NCV_sex = DC.NCV_sex, warnings = DC.NCV_classified, batch_table_data = DC.NCV_data, ## Buttons batch_id = batch_id, sample_ids = ','.join(sample.sample_ID for sample in NCV_db))
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))
def report(batch_id, coverage): L = Layout(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(NCV_db) DC.handle_NCV() DC.make_sex_tresholds(BDF.NCV_passed_X) DC.get_QC_warnings(sample_db) DC.get_manually_classified(sample_db) CP = CoveragePlot(batch_id) CP.make_cov_plot_data() control_normal_X, control_normal_Y, control_normal_XY_names = BDF.control_NCVXY() SA = SexAbnormality(batch_id, NCV_db) SA.make_case_data('NCV_X', control_normal_X) SA.make_case_data('NCV_Y', control_normal_Y) SA.make_sex_chrom_abn() TA = TrisAbnormality(batch_id, NCV_db) control_normal, control_abnormal = BDF.control_NCV13() case_data13 = TA.make_case_data(control_normal, '13') tris_chrom_abn13 = TA.make_tris_chrom_abn(control_abnormal, '13') control_normal, control_abnormal = BDF.control_NCV18() case_data18 = TA.make_case_data(control_normal,'18') tris_chrom_abn18 = TA.make_tris_chrom_abn(control_abnormal, '18') control_normal, control_abnormal = BDF.control_NCV21() case_data21 = TA.make_case_data(control_normal, '21') tris_chrom_abn21 = TA.make_tris_chrom_abn(control_abnormal, '21') tris_case_data = {'NCV_13':case_data13, 'NCV_18':case_data18, 'NCV_21':case_data21} tris_chrom_abn = {'13':tris_chrom_abn13, '18':tris_chrom_abn18, '21':tris_chrom_abn21} CC = CovXCovY(batch_id) CC.format_case_dict() CC.format_contol_dict() CC.format_pos_contol() ST = Statistics() ST.get_20_latest() return render_template('batch_page/report_page.html', ## Header batch_name = batch.batch_name, ## Warnings Table seq_warnings = DC.QC_warnings, ## NCV Table NCV_samples = NCV.query.filter(NCV.batch_id == batch_id), man_class = DC.man_class_merged, NCV_sex = DC.NCV_sex, warnings = DC.NCV_classified, batch_table_data = DC.NCV_data, ## Plotts batch_names = ST.batch_names, thresholds = ST.thresholds, batch_ids = ST.batch_ids, case_size = L.case_size, abn_size = L.abn_size, abn_symbol = L.abn_symbol, case_line = L.case_line, abn_line = L.abn_line, cov_colors = L.cov_colors, many_colors = L.many_colors_dict, samp_range = range(len(SA.case_data['NCV_X']['samples'])), tris_chrom_abn = tris_chrom_abn, tris_case_data = tris_case_data, case_data = SA.case_data, ## i xy-plot sex_chrom_abn = SA.sex_chrom_abn, abn_status_list = ['Other','False Positive','Suspected', 'Probable', 'Verified'], ncv_abn_colors = L.ncv_abn_colors, sex_tresholds = DC.sex_tresholds, tris_thresholds = DC.tris_thresholds, NCV_pass_names = control_normal_XY_names, ## Coverage coverage = coverage, samp_cov_db = CP.coverage_plot, nr_contol_samples = CC.nr_contol_samples, cases = CC.samples, control = CC.control, pos_contol = CC.pos_contol, sample_list = SA.sample_list)