Skip to content

Commit 6ba2443

Browse files
committed
Add iter_id
1 parent 547decf commit 6ba2443

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

bio2zarr/vcf2zarr/icf.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -920,6 +920,13 @@ def iter_alleles(self, start, stop, num_alleles):
920920
alleles[1 : 1 + len(alt)] = alt
921921
yield alleles
922922

923+
def iter_id(self, start, stop):
924+
for value in self.fields["ID"].iter_values(start, stop):
925+
if value is not None:
926+
yield value[0]
927+
else:
928+
yield None
929+
923930
def iter_field(self, field_name, shape, start, stop):
924931
source_field = self.fields[field_name]
925932
sanitiser = source_field.sanitiser_factory(shape)

bio2zarr/writer.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -531,14 +531,13 @@ def encode_id_partition(self, partition_index):
531531
vid = self.init_partition_array(partition_index, "variant_id")
532532
vid_mask = self.init_partition_array(partition_index, "variant_id_mask")
533533
partition = self.metadata.partitions[partition_index]
534-
field = self.source.fields["ID"]
535534

536-
for value in field.iter_values(partition.start, partition.stop):
535+
for value in self.source.iter_id(partition.start, partition.stop):
537536
j = vid.next_buffer_row()
538537
k = vid_mask.next_buffer_row()
539538
assert j == k
540539
if value is not None:
541-
vid.buff[j] = value[0]
540+
vid.buff[j] = value
542541
vid_mask.buff[j] = False
543542
else:
544543
vid.buff[j] = constants.STR_MISSING

0 commit comments

Comments
 (0)