def test_skat(self): ds2 = hl.import_vcf(resource('sample2.vcf')) covariatesSkat = (hl.import_table(resource("skat.cov"), impute=True) .key_by("Sample")) phenotypesSkat = (hl.import_table(resource("skat.pheno"), types={"Pheno": hl.tfloat64}, missing="0") .key_by("Sample")) intervalsSkat = (hl.import_locus_intervals(resource("skat.interval_list"))) weightsSkat = (hl.import_table(resource("skat.weights"), types={"locus": hl.tlocus(), "weight": hl.tfloat64}) .key_by("locus")) ds = hl.split_multi_hts(ds2) ds = ds.annotate_rows(gene=intervalsSkat[ds.locus], weight=weightsSkat[ds.locus].weight) ds = ds.annotate_cols(pheno=phenotypesSkat[ds.s].Pheno, cov=covariatesSkat[ds.s]) ds = ds.annotate_cols(pheno=hl.cond(ds.pheno == 1.0, False, hl.cond(ds.pheno == 2.0, True, hl.null(hl.tbool)))) hl.skat(ds, key_expr=ds.gene, weight_expr=ds.weight, y=ds.pheno, x=ds.GT.n_alt_alleles(), covariates=[ds.cov.Cov1, ds.cov.Cov2], logistic=False).count() hl.skat(ds, key_expr=ds.gene, weight_expr=ds.weight, y=ds.pheno, x=hl.pl_dosage(ds.PL), covariates=[ds.cov.Cov1, ds.cov.Cov2], logistic=True).count()
def matrix_table_array_arithmetic(mt_path): mt = hl.read_matrix_table(mt_path) mt = mt.filter_rows(mt.alleles.length() == 2) mt.select_entries( dosage=hl.pl_dosage(mt.PL)).select_rows()._force_count_rows()
def matrix_table_array_arithmetic(): mt = hl.read_matrix_table(resource('profile.mt')) mt = mt.filter_rows(mt.alleles.length() == 2) mt.select_entries(dosage = hl.pl_dosage(mt.PL)).select_rows()._force_count_rows()