# Experimental.run\_combiner produces null genotypes

**URL:** <https://discuss.hail.is/t/experimental-run-combiner-produces-null-genotypes/2829>\
**Category:** Hail Query & hailctl\
**Created:** [September 8, 2022, 3:46pm UTC](https://discuss.hail.is/t/experimental-run-combiner-produces-null-genotypes/2829 "2022-09-08T15:46:08Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jbgaither](https://avatars.discourse-cdn.com/v4/letter/j/a88e57/32.png) [@jbgaither](https://discuss.hail.is/u/jbgaither)\
**Post date:** [September 8, 2022, 3:46pm UTC](https://discuss.hail.is/t/experimental-run-combiner-produces-null-genotypes/2829/1 "2022-09-08T15:46:08Z")

</div>

I don’t think this is a bug, but after merging two gVCFs with run\_combiner, I obtain an output with null genotypes for some samples and loci:

```python
locus<GRCh38>	SAMP1:GT,END	SAMP2:GT,END
chr1:10001	0/0,10004	0/0,10019
chr1:10005	0/0,10005	NA,NA
chr1:10006	0/0,10024	NA,NA

```

I think I understand why this is happening - run\_combiner is splitting the locii where the samples have different genotypes. But I wonder if there is a way to produce output such that every sample has a genotype at every locus (the following output was obtained with GATK CombineGVCFs):

```python
||#CHROM|POS|INFO|SAMP1|SAMP2|
|---|---|---|---|---|---|
|0|chr1|10001|END=10004|./.:10:0:0,0,0|./.:29:0:0,0,0|
|1|chr1|10005|.|./.:14:3:0,3,45|./.:29:0:0,0,0|
|2|chr1|10006|END=10019|./.:23:6:0,6,90|./.:29:0:0,0,0|
|3|chr1|10020|.|./.:23:6:0,6,90|./.:39:3:0,3,45|
|4|chr1|10021|.|./.:23:6:0,6,90|./.:39:6:0,6,90|

```

Any help anyone could offer would be appreciated. Hail is very convenient in other ways, so I am hoping I can find a way around this problem.

---

<div class="post-metadata">

**Author:** ![tpoterba](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.hail.is/tpoterba/32/61_2.png) [@tpoterba](https://discuss.hail.is/u/tpoterba)\
**Post date:** [September 8, 2022, 4:31pm UTC](https://discuss.hail.is/t/experimental-run-combiner-produces-null-genotypes/2829/2 "2022-09-08T16:31:59Z")

</div>

The `experimental.run_combiner` functionality is deprecated in favor of new `VariantDataset` functionality (which has the same data model) found here: [Hail | Variant Dataset](https://hail.is/docs/0.2/vds/index.html)

We’re working on fleshing out the docs for this.

The basic answer is that the matrix tables / VDSes returned by the combiner are _sparse_, but can be converted into a dense VCF-like representation. I think this can be done with `hl.experimental.densify()` on the old representation, and `hl.vds.to_dense_mt(vds)` on the new VDS functionality.
