# Downsamplesamples

**URL:** <https://discuss.hail.is/t/downsamplesamples/35>\
**Category:** Feature Requests\
**Created:** [September 12, 2016, 8:28pm UTC](https://discuss.hail.is/t/downsamplesamples/35 "2016-09-12T20:28:14Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![kyle](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.hail.is/kyle/32/11_2.png) [@kyle](https://discuss.hail.is/u/kyle)\
**Post date:** [September 12, 2016, 8:28pm UTC](https://discuss.hail.is/t/downsamplesamples/35/1 "2016-09-12T20:28:14Z")

</div>

I ran into a situation today (trying to output some representative HomRef genotypes so I could look at allele balance behavior for those calls) where the ability to downsample samples would have been nice. I did use the downsamplevariants function, too.

---

<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 28, 2016, 9:45pm UTC](https://discuss.hail.is/t/downsamplesamples/35/2 "2016-09-28T21:45:25Z")

</div>

Hey Kyle! You can do this now. Jon added a function in the expr language `pcoin(p)` which will give you a random flip of a coin with probability `p`.

This will keep 10% (approximately) of samples:

```nohighlight
  vds.filter_samples_expr('pcoin(.1)')

```

---

<div class="post-metadata">

**Author:** ![kyle](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.hail.is/kyle/32/11_2.png) [@kyle](https://discuss.hail.is/u/kyle)\
**Post date:** [September 29, 2016, 3:24am UTC](https://discuss.hail.is/t/downsamplesamples/35/3 "2016-09-29T03:24:35Z")

</div>

Cool! That’s useful. Thanks for the update.
