def test_filter(self): expected_sql = GENE_LIST_FILTER expected_params = ["hg38", "knowngene", "E2F4", "150", "250", "250", "150"] query = PredictionQuery( schema="hg38", gene_list="knowngene", model_name="E2F4", upstream="150", downstream="250", ) sql, params = query.get_query_and_params() self.maxDiff = None self.assertMultiLineEqual(expected_sql, sql) self.assertEqual(expected_params, params)
def test_filter(self): expected_sql = GENE_LIST_FILTER expected_params = ["hg38", "knowngene", "E2F4", "250", "150", "150", "250"] query = PredictionQuery( schema="hg38", gene_list="knowngene", model_name="E2F4", upstream="150", downstream="250", ) sql, params = query.get_query_and_params() self.maxDiff = None self.assertMultiLineEqual(expected_sql, sql) self.assertEqual(expected_params, params)
def test_count(self): expected_sql = COUNT_QUERY expected_params = ["hg38", "knowngene", "E2F4", "150", "250", "250", "150"] query = PredictionQuery( schema="hg38", gene_list="knowngene", model_name="E2F4", upstream="150", downstream="250", count=True, ) sql, params = query.get_query_and_params() self.maxDiff = None self.assertMultiLineEqual(expected_sql, sql) self.assertEqual(expected_params, params)
def test_filter_with_limit(self): expected_sql = GENE_LIST_FILTER_WITH_LIMIT expected_params = ["hg38", "knowngene", "E2F4", "150", "250", "250", "150", "100", "200"] query = PredictionQuery( schema="hg38", gene_list="knowngene", model_name="E2F4", upstream="150", downstream="250", limit="100", offset="200", ) sql, params = query.get_query_and_params() self.assertMultiLineEqual(expected_sql, sql) self.assertEqual(expected_params, params)
def test_count(self): expected_sql = COUNT_QUERY expected_params = ["hg38", "knowngene", "E2F4", "250", "150", "150", "250"] query = PredictionQuery( schema="hg38", gene_list="knowngene", model_name="E2F4", upstream="150", downstream="250", count=True, ) sql, params = query.get_query_and_params() self.maxDiff = None self.assertMultiLineEqual(expected_sql, sql) self.assertEqual(expected_params, params)
def test_filter_with_limit(self): expected_sql = GENE_LIST_FILTER_WITH_LIMIT expected_params = ["hg38", "knowngene", "E2F4", "250", "150", "150", "250", "100", "200"] query = PredictionQuery( schema="hg38", gene_list="knowngene", model_name="E2F4", upstream="150", downstream="250", limit="100", offset="200", ) sql, params = query.get_query_and_params() self.assertMultiLineEqual(expected_sql, sql) self.assertEqual(expected_params, params)
def normal_query(self, count): limit, offset = self.get_limit_and_offset(count) return PredictionQuery( schema=self.genome, gene_list=self.args.get_gene_list(), model_name=self.args.get_model_name(), upstream=self.args.get_upstream(), downstream=self.args.get_downstream(), limit=limit, offset=offset, count=count, )