We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents 219572f + c88c8e5 commit f80601bCopy full SHA for f80601b
sgkit_bgen/bgen_reader.py
@@ -130,10 +130,14 @@ def __getitem__(self, idx):
130
all_vaddr.extend(vaddr[start_offset:end_offset])
131
132
with bgen_file(self.path) as bgen:
133
- genotypes = [bgen.read_genotype(vaddr) for vaddr in all_vaddr]
134
- all_probs = [genotype["probs"] for genotype in genotypes]
135
- d = [_to_dosage(probs) for probs in all_probs]
136
- return np.stack(d)[:, idx[1]]
+ res = None
+ for i, vaddr in enumerate(all_vaddr):
+ probs = bgen.read_genotype(vaddr)["probs"][idx[1]]
+ dosage = _to_dosage(probs)
137
+ if res is None:
138
+ res = np.zeros((len(all_vaddr), len(dosage)), dtype=self.dtype)
139
+ res[i] = dosage
140
+ return res
141
142
143
def _to_dosage(probs: ArrayLike):
0 commit comments