8
8
import zarr
9
9
10
10
from vcztools import constants , retrieval
11
- from vcztools import filter as filter_mod
12
11
from vcztools .utils import vcf_name_to_vcz_name
13
12
14
13
@@ -59,7 +58,7 @@ def __call__(self, *args, **kwargs):
59
58
60
59
61
60
class QueryFormatGenerator :
62
- def __init__ (self , root , query_format , filter_expr = None ):
61
+ def __init__ (self , root , query_format ):
63
62
# TODO: pass in this metadata rather than root
64
63
self .sample_ids = root ["sample_id" ][:].tolist ()
65
64
self .sample_count = len (self .sample_ids )
@@ -72,10 +71,7 @@ def __init__(self, root, query_format, filter_expr=None):
72
71
assert isinstance (query_format , pp .ParseResults )
73
72
parse_results = query_format
74
73
75
- if filter_expr is None :
76
- filter_expr = filter_mod .FilterExpression ()
77
-
78
- self ._generator = self ._compose_generator (parse_results , filter_expr )
74
+ self ._generator = self ._compose_generator (parse_results )
79
75
80
76
def __call__ (self , * args , ** kwargs ):
81
77
assert len (args ) == 1
@@ -257,17 +253,9 @@ def generate(chunk_data):
257
253
258
254
return generate
259
255
260
- def _compose_filter_generator (self , filter_expr ):
261
- def generate (chunk_data ):
262
- v_chunk_select = filter_expr .evaluate (chunk_data )
263
- yield from v_chunk_select
264
-
265
- return generate
266
-
267
256
def _compose_generator (
268
257
self ,
269
258
parse_results ,
270
- filter_expr ,
271
259
) -> Callable :
272
260
generators = (
273
261
self ._compose_element_generator (element ) for element in parse_results
@@ -291,10 +279,7 @@ def write_query(
291
279
exclude : str | None = None ,
292
280
):
293
281
root = zarr .open (vcz , mode = "r" )
294
- filter_expr = filter_mod .FilterExpression (
295
- field_names = set (root ), include = include , exclude = exclude
296
- )
297
- generator = QueryFormatGenerator (root , query_format , filter_expr )
282
+ generator = QueryFormatGenerator (root , query_format )
298
283
299
284
for chunk_data in retrieval .variant_chunk_iter (
300
285
root , include = include , exclude = exclude
0 commit comments