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)
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")
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})
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")
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")
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")
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")
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)
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)
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)
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")
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)
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")
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))
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")
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")
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()))
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)})
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")
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")
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")
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")
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)
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")
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")
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
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")
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")
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)
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")