Example #1
0
def show_dge_table(contrast, design, dataset, method):
    print('Querying available DGE models ...')
    from roger.persistence import db
    import roger.persistence.dge

    model = roger.persistence.dge.get_dge_model(db.session(), contrast, design, dataset, method)
    print(model.result_table)
Example #2
0
def remove_gmt(category_name):
    print("Deleting gene set category '%s' ..." % category_name)
    from roger.persistence import db
    import roger.persistence.gse

    roger.persistence.gse.delete_gmt(db.session(), category_name)
    print("Done")
Example #3
0
    def get(self, study_name, design_name, contrast_name, dge_method_name):
        session = db.session()

        dge_table = get_dge_tbl(session, contrast_name, design_name, study_name, dge_method_name);

        neg_log10_pvalue = -numpy.log10(dge_table.PValue)
        log_fc = dge_table.LogFC

        x_range = quantileRange(log_fc, symmetric=True)
        y_range = [0, max(quantileRange(neg_log10_pvalue, symmetric=False))]

        neg_log10_pvalue = -numpy.log10(dge_table.PValue)
        log_fc = dge_table.LogFC

        data = {'x': log_fc.tolist(),
                'y': neg_log10_pvalue.tolist(),
                'text': dge_table.GeneSymbol.tolist(),
                'type': 'scatter',
                'mode': 'markers'}
        layout = {
            "xaxis": {
                "title": "logFC",
                "range": x_range,
                "showline": True,
            },
            "yaxis": {
                "title": "-log10(PValue)",
                "range": y_range,
                "showline": True,
            },
            "width": 500,
            "height": 500,
            "title": "Volcano Plot"
        }
        return jsonify({'data': [data], 'layout': layout})
Example #4
0
def remove_contrast(contrast_name, design_name, dataset_name):
    print("Deleting contrast '%s' of design '%s' ..." % (contrast_name, design_name))
    from roger.persistence import db
    import roger.persistence.dge

    roger.persistence.dge.remove_contrast(db.session(), contrast_name, design_name, dataset_name)
    print("Done")
Example #5
0
def list_gse_methods():
    print('Querying available GSE methods ...')
    from roger.persistence import db
    import roger.persistence.gse

    print(roger.persistence.gse.list_methods(db.session()))
    print("Done")
Example #6
0
def remove_dge_model(contrast, design, dataset, method):
    print("Deleting DGE result from %s:%s:%s calculated with method %s" % (dataset, design, contrast, method))
    from roger.persistence import db
    from roger.persistence.dge import remove_dge_model

    remove_dge_model(db.session(), contrast, design, dataset, method)
    print("Done")
Example #7
0
def remove_design(design_name, dataset_name):
    print("Deleting design '%s' from data set '%s' ..." % (dataset_name, design_name))
    from roger.persistence import db
    import roger.persistence.dge

    roger.persistence.dge.remove_design(db.session(), design_name, dataset_name)
    print("Done")
Example #8
0
def show_design(design, dataset):
    print('Querying available DGE models ...')
    from roger.persistence import db
    from roger.persistence.dge import get_design

    design = get_design(db.session(), design, dataset)
    print(design.design_matrix)
Example #9
0
def show_pheno_data(dataset):
    print("Querying dataset '%s'..." % dataset)
    from roger.persistence import db
    from roger.persistence.dge import get_ds

    ds = get_ds(db.session(), dataset)
    print(ds.pheno_data)
Example #10
0
def add_ds_ma(norm_exprs_file,
              tax_id,
              symbol_type,
              pheno_file,
              name,
              normalization,
              description,
              xref):
    name = get_or_guess_name(name, norm_exprs_file)

    print("Adding microarray data set '%s' ..." % name)
    from roger.persistence import db
    import roger.logic.dge
    import roger.persistence.dge
    from roger.persistence.schema import MicroArrayDataSet

    session = db.session()

    print("Parsing and annotating data ...")
    ds_prop = roger.logic.dge.create_ds(session,
                                        MicroArrayDataSet,
                                        norm_exprs_file,
                                        tax_id,
                                        symbol_type,
                                        pheno_file,
                                        name,
                                        normalization,
                                        description,
                                        xref)

    print("Persisting data set ...")
    roger.persistence.dge.add_ds(session,
                                 flask.current_app.config['ROGER_DATA_FOLDER'],
                                 ds_prop)
    print("Done - added data set with name '%s'" % name)
Example #11
0
def remove_ds(name):
    print("Deleting data set '%s' ..." % name)
    from roger.persistence import db
    import roger.persistence.dge

    roger.persistence.dge.delete_ds(db.session(), name)
    print("Done")
Example #12
0
def show_contrast(contrast, design, dataset):
    print('Querying available DGE models ...')
    from roger.persistence import db
    from roger.persistence.dge import get_contrast

    contrast = get_contrast(db.session(), contrast, design, dataset)
    print(contrast.contrast_matrix)
Example #13
0
def export_contrast(contrast, design, dataset, out_file):
    print("Exporting contrast matrix to '%s' ..." % out_file.name)
    from roger.persistence import db
    from roger.persistence.dge import get_contrast

    contrast = get_contrast(db.session(), contrast, design, dataset)
    contrast.contrast_matrix.to_csv(out_file, sep="\t")
    print("Done")
Example #14
0
def list_gse_tables(contrast, design, dataset, dge_method, gse_method):
    print('Querying available GSE models ...')
    from roger.persistence import db
    import roger.logic.gse

    print(
        roger.logic.gse.list_gse_tables(db.session(), contrast, design,
                                        dataset, dge_method, gse_method))
Example #15
0
def export_design(design, dataset, out_file):
    print("Saving design matrix to '%s' ..." % out_file.name)
    from roger.persistence import db
    from roger.persistence.dge import get_design

    design = get_design(db.session(), design, dataset)
    design.design_matrix.to_csv(out_file, sep="\t")
    print("Done")
Example #16
0
def export_pheno_data(dataset, out_file):
    print("Saving pheno data to '%s' ..." % out_file.name)
    from roger.persistence import db
    from roger.persistence.dge import get_ds

    ds = get_ds(db.session(), dataset)
    ds.pheno_data.to_csv(out_file, sep="\t")
    print("Done")
Example #17
0
def list_species():
    """Used to retrieve a table of species whose gene annotation data has been imported into the database instance.
    """
    print('Querying available species ...')
    from roger.persistence import db
    import roger.persistence.geneanno

    print(roger.persistence.geneanno.list_species(db.session()))
Example #18
0
    def get(self, study_name, design_name, contrast_name, dge_method_name):
        session = db.session()
        dge_table = get_dge_tbl(session, contrast_name, design_name, study_name, dge_method_name)

        return Response(dge_table.to_csv(index=False),
                        mimetype="text/csv",
                        headers={"Content-disposition": "attachment; filename=%s_%s_%s_%s.csv" %
                                                        (dge_method_name, study_name, design_name, contrast_name)})
Example #19
0
def export_exprs(dataset, out_file):
    print("Saving expression matrix to '%s' ..." % out_file.name)
    from roger.persistence import db
    from roger.persistence.dge import get_ds
    import shutil

    ds = get_ds(db.session(), dataset)
    shutil.copy(ds.ExprsWC, out_file.name)
    print("Done")
Example #20
0
def remove_gene_anno(tax_id):
    """Used to delete imported gene annotation data from the database
    """
    print("Deleted gene annotation for species %s" % tax_id)
    from roger.persistence import db
    import roger.persistence.geneanno

    roger.persistence.geneanno.remove_species(db.session(), tax_id)
    print("Done")
Example #21
0
def export_dge_table(contrast, design, dataset, method, out_file):
    print("Exporting DGE table to '%s' ..." % out_file.name)
    from roger.persistence import db
    from roger.logic.util.data import write_df
    from roger.persistence.dge import get_dge_model

    model = get_dge_model(db.session(), contrast, design, dataset, method)
    write_df(model.result_table, out_file)
    print("Done")
Example #22
0
def add_gmt(category_name, gmt_file, tax_id):
    print("Importing gene sets from GMT file '%s' ..." % gmt_file)
    from roger.persistence import db
    import roger.persistence.gse

    roger.persistence.gse.add_gmt(
        db.session(), flask.current_app.config['ROGER_DATA_FOLDER'],
        category_name, gmt_file, tax_id)
    print("Done")
Example #23
0
def show_gse_table(contrast, design, dataset, dge_method, gse_method):
    print('Querying GSE table ...')
    from roger.persistence import db
    import roger.logic.gse

    result_table = roger.logic.gse.get_gse_table(db.session(), contrast,
                                                 design, dataset, dge_method,
                                                 gse_method)
    print(result_table)
Example #24
0
def remove_gse_table(contrast, design, dataset, dge_method, gse_method):
    print("Deleting GSE result from %s:%s:%s:%s:%s" %
          (dataset, design, contrast, dge_method, gse_method))
    from roger.persistence import db
    from roger.logic.gse import remove_gse_table

    remove_gse_table(db.session(), contrast, design, dataset, dge_method,
                     gse_method)
    print("Done")
Example #25
0
def export_gse_table(contrast, design, dataset, dge_method, gse_method,
                     out_file):
    print("Exporting GSE table to '%s' ..." % out_file.name)
    from roger.persistence import db
    from roger.logic.util.data import write_df
    from roger.logic.gse import get_gse_table

    result_table = get_gse_table(db.session(), contrast, design, dataset,
                                 dge_method, gse_method)
    write_df(result_table, out_file)
    print("Done")
Example #26
0
def __init_db_with_datasets():
    init_test_db = True
    if os.path.exists("%s/__data/with_datasets/database.db" %
                      __roger_main_dir):
        init_test_db = False
    app = __create_test_app(
        "sqlite:///%s/__data/with_datasets/database.db" % __roger_main_dir,
        "%s/__data/with_datasets/working_dir" % __roger_main_dir,
        "%s/__data/with_datasets/cache" % __roger_main_dir)
    if init_test_db is True:
        print("Create test database 'with_dataset'")
        with app.app_context():
            db.create_all()
            session = db.session()
            add_species(session, human_dataset, human_tax_id)
            add_species(session, mouse_dataset, mouse_tax_id)

            add_ds(
                session, app.config['ROGER_DATA_FOLDER'],
                create_ds(session, MicroArrayDataSet,
                          "test_data/ds/ma-example-signals.gct", mouse_tax_id,
                          "affy_mouse430_2"))

            add_design(
                session,
                "test_data/ds/ma-example-design.txt",
                "ma-example-signals",
            )

            add_contrast(session, "test_data/ds/ma-example-contrast.txt",
                         "ma-example-design", "ma-example-signals")

            add_ds(
                session, app.config['ROGER_DATA_FOLDER'],
                roger.logic.dge.create_ds(
                    session, RNASeqDataSet,
                    "test_data/ds/rnaseq-example-readCounts.gct", human_tax_id,
                    "entrezgene"))

            add_design(session,
                       "test_data/ds/rnaseq-example-DesignMatrix.txt",
                       "rnaseq-example-readCounts",
                       sample_groups_file=
                       "test_data/ds/rnaseq-example-sampleGroups.txt",
                       sample_group_levels_file=
                       "test_data/ds/rnaseq-example-sampleGroupLevels.txt")

            add_contrast(session,
                         "test_data/ds/rnaseq-example-ContrastMatrix.txt",
                         "rnaseq-example-DesignMatrix",
                         "rnaseq-example-readCounts")

    return app
Example #27
0
def run_dge_rnaseq(contrast, design, dataset):
    print("Performing DGE algorithm ...")
    from roger.persistence import db
    import roger.logic.dge

    roger.logic.dge.run_dge(db.session(),
                            flask.current_app.config['ROGER_DATA_FOLDER'],
                            contrast,
                            design,
                            dataset,
                            roger.logic.dge.EdgeRDGE())
    print("Done")
Example #28
0
def add_species(dataset, tax_id):
    """Used to import gene annotation data from Ensembl from a specific dataset / species

    Example:
        roger import-geneanno rnorvegicus_gene_ensembl 10116
    """
    print("Importing gene annotation for species %s ..." % tax_id)

    from roger.persistence import db
    import roger.persistence.geneanno

    roger.persistence.geneanno.add_species(db.session(), dataset, tax_id)
    print("Done")
Example #29
0
def add_contrast(contrast_matrix,
                 design,
                 dataset,
                 name,
                 description):
    name = get_or_guess_name(name, contrast_matrix)

    print("Adding contrast '%s' to data set '%s' ..." % (name, dataset))
    from roger.persistence import db
    import roger.persistence.dge

    name = roger.persistence.dge.add_contrast(db.session(),
                                              contrast_matrix,
                                              design,
                                              dataset,
                                              name,
                                              description)
    print("Done - added contrast with name '%s'" % name)
Example #30
0
def init_database():
    """Initializes the database with human gene annotation and default DGE / GSE methods
    """
    print("Initializing database ...")

    from roger.persistence import db
    import roger.persistence.geneanno
    import roger.logic.dge

    print("Adding human gene annotation ...")
    roger.persistence.geneanno.init(db)
    # Add standard DGE methods

    print("Adding standard DGE and GSE methods ...")
    session = db.session()
    roger.logic.dge.init_methods(session)

    print("Done")