Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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
        )
Exemplo n.º 3
0
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
        )
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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))
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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)
Exemplo n.º 8
0
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))
Exemplo n.º 9
0
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)
Exemplo n.º 10
0
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))
Exemplo n.º 11
0
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))
Exemplo n.º 12
0
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)