genboostgpu.snp_processing

genboostgpu.snp_processing.filter_cis_window(geno_arr, bim, chrom, pos, end=None, window_size=20000, use_window=False)[source]

Select SNPs within a cis-window around a CpG/phenotype position.

Parameters:
genboostgpu.snp_processing.filter_zero_variance(X, snp_ids, snp_pos=None, threshold=1e-08)[source]

Removes SNPs with variance < threshold.

genboostgpu.snp_processing.impute_snps(X, strategy='most_frequent')[source]

Impute missing genotypes using cuML SimpleImputer. Returns CuPy ndarray.

genboostgpu.snp_processing.preprocess_genotypes(X, snp_ids, snp_pos, y, var_thresh=1e-08, impute_strategy='most_frequent', r2_thresh=0.1, batch_size=8192, fnc=<function ld_func>)[source]

Full preprocessing pipeline: 1. Zero-variance filter 2. Impute missing (default assumes hard calls; use mean for dosage-style genotypes) 3. LD clumping with phenotype-informed stats

genboostgpu.snp_processing.run_ld_clumping(X, snp_pos, stat, r2_thresh=0.1, fnc=<function ld_func>)[source]

PLINK-like greedy LD clumping on GPU.

Default for size is ld_func: 100 / r2_thresh.