def test_custom_gene_list_with_lc_results(self):
     db = create_db_connection(TestWithPostgres.config.dbconfig)
     custom_list_key = save_custom_file(db, 'john', GENE_LIST_TYPE, "ddx11l1")
     params = {
         SearchArgs.GENE_LIST: CUSTOM_GENE_LIST,
         SearchArgs.CUSTOM_LIST_DATA: custom_list_key,
         SearchArgs.CUSTOM_GENE_SEARCH_TYPE: CUSTOM_GENE_NAME_TYPE,
         SearchArgs.MODEL: "E2F1_0001(JS)",
         SearchArgs.UPSTREAM: "100",
         SearchArgs.DOWNSTREAM: "100",
         SearchArgs.PAGE: "1",
         SearchArgs.PER_PAGE: "10",
     }
     predictions, search_args, search_warning = get_predictions_with_guess(db, TestWithPostgres.config, "hg19", params)
     self.assertEqual(len(predictions), 1)
 def test_custom_range_list(self):
     db = create_db_connection(TestWithPostgres.config.dbconfig)
     custom_list_key = save_custom_file(db, 'john', RANGE_TYPE, "chr1 11873 11895")
     params = {
         SearchArgs.GENE_LIST: CUSTOM_RANGES_LIST,
         SearchArgs.CUSTOM_LIST_DATA: custom_list_key,
         SearchArgs.MODEL: "E2F1_0001(JS)",
         SearchArgs.UPSTREAM: "100",
         SearchArgs.DOWNSTREAM: "100",
         SearchArgs.PAGE: "1",
         SearchArgs.PER_PAGE: "10",
     }
     predictions, search_args, search_warning = get_predictions_with_guess(db, TestWithPostgres.config, "hg19", params)
     self.assertEqual(len(predictions), 1)
     self.assertEqual(0.4, float(predictions[0]['max']))
Exemple #3
0
 def test_custom_range_list(self):
     db = create_db_connection(TestWithPostgres.config.dbconfig)
     custom_list_key = save_custom_file(db, 'john', RANGE_TYPE, "chr1 11873 11895")
     params = {
         SearchArgs.GENE_LIST: CUSTOM_RANGES_LIST,
         SearchArgs.CUSTOM_LIST_DATA: custom_list_key,
         SearchArgs.MODEL: "E2F1_0001(JS)",
         SearchArgs.UPSTREAM: "100",
         SearchArgs.DOWNSTREAM: "100",
         SearchArgs.PAGE: "1",
         SearchArgs.PER_PAGE: "10",
     }
     predictions, search_args, search_warning = get_predictions_with_guess(db, TestWithPostgres.config, "hg19", params)
     self.assertEqual(len(predictions), 1)
     self.assertEqual(0.4, float(predictions[0]['max']))
Exemple #4
0
 def test_custom_gene_list_with_lc_results(self):
     db = create_db_connection(TestWithPostgres.config.dbconfig)
     custom_list_key = save_custom_file(db, 'john', GENE_LIST_TYPE, "ddx11l1")
     params = {
         SearchArgs.GENE_LIST: CUSTOM_GENE_LIST,
         SearchArgs.CUSTOM_LIST_DATA: custom_list_key,
         SearchArgs.CUSTOM_GENE_SEARCH_TYPE: CUSTOM_GENE_NAME_TYPE,
         SearchArgs.MODEL: "E2F1_0001(JS)",
         SearchArgs.UPSTREAM: "100",
         SearchArgs.DOWNSTREAM: "100",
         SearchArgs.PAGE: "1",
         SearchArgs.PER_PAGE: "10",
     }
     predictions, search_args, search_warning = get_predictions_with_guess(db, TestWithPostgres.config, "hg19", params)
     self.assertEqual(len(predictions), 1)
 def test_custom_range_list_bad_range(self):
     db = create_db_connection(TestWithPostgres.config.dbconfig)
     custom_list_key = save_custom_file(db, 'john', RANGE_TYPE, "chr1 91873 91883")
     params = {
         SearchArgs.GENE_LIST: CUSTOM_RANGES_LIST,
         SearchArgs.CUSTOM_LIST_DATA: custom_list_key,
         SearchArgs.MODEL: "E2F1_0001(JS)",
         SearchArgs.UPSTREAM: "100",
         SearchArgs.DOWNSTREAM: "100",
         SearchArgs.PAGE: "1",
         SearchArgs.PER_PAGE: "10",
     }
     predictions, search_args, search_warning = get_predictions_with_guess(db, TestWithPostgres.config, "hg19", params)
     self.assertEqual(len(predictions), 1)
     # we always return a record for range requests just with empty data for the matches
     self.assertEqual('None', predictions[0]['max'])
Exemple #6
0
 def test_custom_range_list_bad_range(self):
     db = create_db_connection(TestWithPostgres.config.dbconfig)
     custom_list_key = save_custom_file(db, 'john', RANGE_TYPE, "chr1 91873 91883")
     params = {
         SearchArgs.GENE_LIST: CUSTOM_RANGES_LIST,
         SearchArgs.CUSTOM_LIST_DATA: custom_list_key,
         SearchArgs.MODEL: "E2F1_0001(JS)",
         SearchArgs.UPSTREAM: "100",
         SearchArgs.DOWNSTREAM: "100",
         SearchArgs.PAGE: "1",
         SearchArgs.PER_PAGE: "10",
     }
     predictions, search_args, search_warning = get_predictions_with_guess(db, TestWithPostgres.config, "hg19", params)
     self.assertEqual(len(predictions), 1)
     # we always return a record for range requests just with empty data for the matches
     self.assertEqual('None', predictions[0]['max'])
 def test_prediction_query(self):
     db = create_db_connection(TestWithPostgres.config.dbconfig)
     params = {
         SearchArgs.GENE_LIST: "knowngene",
         SearchArgs.MODEL: "E2F1_0001(JS)",
         SearchArgs.UPSTREAM: "100",
         SearchArgs.DOWNSTREAM: "50",
         SearchArgs.PAGE: "1",
         SearchArgs.PER_PAGE: "10",
     }
     predictions, search_args, search_warning = get_predictions_with_guess(db, TestWithPostgres.config, "hg19", params)
     self.assertEqual(len(predictions), 1)
     first_pred = predictions[0]
     self.assertEqual(first_pred['name'], 'uc001aaa.3; uc010nxq.1; uc010nxr.1')
     values = first_pred['values']
     self.assertEqual(len(values), 3)
     pred_value_set = set([v['value'] for v in values])
     self.assertIn(0.4, pred_value_set)
     self.assertIn(0.1, pred_value_set)
Exemple #8
0
 def test_prediction_query(self):
     db = create_db_connection(TestWithPostgres.config.dbconfig)
     params = {
         SearchArgs.GENE_LIST: "knowngene",
         SearchArgs.MODEL: "E2F1_0001(JS)",
         SearchArgs.UPSTREAM: "100",
         SearchArgs.DOWNSTREAM: "50",
         SearchArgs.PAGE: "1",
         SearchArgs.PER_PAGE: "10",
     }
     predictions, search_args, search_warning = get_predictions_with_guess(db, TestWithPostgres.config, "hg19", params)
     self.assertEqual(len(predictions), 1)
     first_pred = predictions[0]
     self.assertEqual(first_pred['name'], 'uc001aaa.3; uc010nxq.1; uc010nxr.1')
     values = first_pred['values']
     self.assertEqual(len(values), 3)
     pred_value_set = set([v['value'] for v in values])
     self.assertIn(0.4, pred_value_set)
     self.assertIn(0.1, pred_value_set)
def prediction_search(genome):
    log_info("Finding predictions.")
    predictions, args, warning = get_predictions_with_guess(get_db(), g_config, genome, request.args)
    response_format = args.get_format()
    if response_format == 'json':
        r = make_json_response({
            'predictions': predictions,
            'page': args.page,
            'warning': warning,
        })
    elif response_format == 'tsv' or response_format == 'csv':
        filename = make_download_filename(genome, args, response_format)
        content_disposition = 'attachment; filename="{}"'.format(filename)
        headers = {'Content-Disposition': content_disposition}
        gen = make_predictions_csv_response(predictions, args)
        r = Response(gen, mimetype='application/octet-stream', headers=headers)
    else:
        raise ValueError("Unexpected format:{}".format(response_format))
    log_info("Returning predictions.")
    return r
Exemple #10
0
def prediction_search(genome):
    log_info("Finding predictions.")
    predictions, args, warning = get_predictions_with_guess(
        get_db(), g_config, genome, request.args)
    response_format = args.get_format()
    if response_format == 'json':
        r = make_json_response({
            'predictions': predictions,
            'page': args.page,
            'warning': warning,
        })
    elif response_format == 'tsv' or response_format == 'csv':
        filename = make_download_filename(genome, args, response_format)
        content_disposition = 'attachment; filename="{}"'.format(filename)
        headers = {'Content-Disposition': content_disposition}
        gen = make_predictions_csv_response(predictions, args)
        r = Response(gen, mimetype='application/octet-stream', headers=headers)
    else:
        raise ValueError("Unexpected format:{}".format(response_format))
    log_info("Returning predictions.")
    return r
 def test_custom_gene_list_id_results(self):
     """
     These two splice variants belong to the same gene so they should list together in a single prediction.
     """
     db = create_db_connection(TestWithPostgres.config.dbconfig)
     custom_list_key = save_custom_file(db, 'john', GENE_LIST_TYPE, "uc001aaa.3\nuc010nxr.1")
     params = {
         SearchArgs.GENE_LIST: CUSTOM_GENE_LIST,
         SearchArgs.CUSTOM_LIST_DATA: custom_list_key,
         SearchArgs.CUSTOM_GENE_SEARCH_TYPE: CUSTOM_ID_TYPE,
         SearchArgs.MODEL: "E2F1_0001(JS)",
         SearchArgs.UPSTREAM: "100",
         SearchArgs.DOWNSTREAM: "100",
         SearchArgs.PAGE: "1",
         SearchArgs.PER_PAGE: "10",
     }
     predictions, search_args, search_warning = get_predictions_with_guess(db, TestWithPostgres.config, "hg19", params)
     self.assertEqual(len(predictions), 1)
     first_pred_name = predictions[0]['name']
     first_pred_name_parts = first_pred_name.split("; ")
     self.assertEqual(len(first_pred_name_parts), 2)
     self.assertIn("uc001aaa.3", first_pred_name_parts)
     self.assertIn("uc010nxr.1", first_pred_name_parts)
Exemple #12
0
 def test_custom_gene_list_id_results(self):
     """
     These two splice variants belong to the same gene so they should list together in a single prediction.
     """
     db = create_db_connection(TestWithPostgres.config.dbconfig)
     custom_list_key = save_custom_file(db, 'john', GENE_LIST_TYPE, "uc001aaa.3\nuc010nxr.1")
     params = {
         SearchArgs.GENE_LIST: CUSTOM_GENE_LIST,
         SearchArgs.CUSTOM_LIST_DATA: custom_list_key,
         SearchArgs.CUSTOM_GENE_SEARCH_TYPE: CUSTOM_ID_TYPE,
         SearchArgs.MODEL: "E2F1_0001(JS)",
         SearchArgs.UPSTREAM: "100",
         SearchArgs.DOWNSTREAM: "100",
         SearchArgs.PAGE: "1",
         SearchArgs.PER_PAGE: "10",
     }
     predictions, search_args, search_warning = get_predictions_with_guess(db, TestWithPostgres.config, "hg19", params)
     self.assertEqual(len(predictions), 1)
     first_pred_name = predictions[0]['name']
     first_pred_name_parts = first_pred_name.split("; ")
     self.assertEqual(len(first_pred_name_parts), 2)
     self.assertIn("uc001aaa.3", first_pred_name_parts)
     self.assertIn("uc010nxr.1", first_pred_name_parts)