Hi,
We are trying to do a small scale phewas and we tried linreg_multi_pheno. I was wondering if there’s an export function for it? If not what would you suggest to do if we want to look at the results? convert it to pandas?
Thanks,
Wendy
Hi,
We are trying to do a small scale phewas and we tried linreg_multi_pheno. I was wondering if there’s an export function for it? If not what would you suggest to do if we want to look at the results? convert it to pandas?
Thanks,
Wendy
Hi Wendy,
You can certainly export to a file. Here’s how:
vds.export_variants('file.txt.bgz',
'variant = v, pvals = va.linreg.pval.mkString(",")')
This’ll give you something like:
variant pval
1:1:A:T 0.05,0.001,0.9
1:2:T:G 0.1,0.4,0.3
...
I’ll think about a better way to get results out and post here when I have something. Someone else has also asked for this.
Thanks Tim! This would work for now!
Best,
Wendy
Hi Tim,
We have got
Error summary: HailException: No function found with name `mkString’ and argument types (Array[Double], String)
:1:variant = v, pvals = va.linreg.pval.mkString(“,”)
is the mkString function in Hail 0.1-38882df?
Thanks,
Wendy
Hi Wendy, pval is an Array[Double] but mkString takes an Array[String], so try substituting:
va.linreg.pval.map(p => str(p)).mkString(",")
Could you help me here with the syntax of HQL to filter the linreg vds with all phenotype pval < 0.05?
Thanks!
Jerry
something like
vds.filter_variants_expr('va.linreg.pval.forall(p => p < 0.05)')
Thanks! Just to beat the dead horse again:
If I want to filter by the first pheno p-val, is it something like this?
vds.filter_variants_expr(‘va.linreg.pval.forall(p => p[0]< 0.05)’)
the forall
checks that the predicate is true for every element of the array. If you just care about the first, you don’t need the forall
:
vds.filter_variants_expr('va.linreg.pval[0] < 0.05')
Got it. Thanks for your quick reply!