Sumstats — Downstream
Lead/novel loci, associations, LDSC, clumping, finemapping, and PRS.
Extension runners not in API Reference
run_* methods (SuSiE, PRS-CS, MAGMA, scDRS) are omitted from this page until ready for publication. They remain available on Sumstats objects.
get_lead
get_lead(gls: bool = False, build: Optional[str] = None, **kwargs: Any) -> typing.Union[pandas.core.frame.DataFrame, ForwardRef(Sumstats)]
Extract lead variants by P values using a sliding window approach with significance thresholding.
This function identifies lead variants from summary statistics using a sliding window
algorithm based on either -log10(p-values) or p-values. It prioritizes -log10(p-values)
if available, otherwise falls back to p-values. It handles data preprocessing,
significance filtering, and optional gene annotation and Winner's Curse correction.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
insumstats_or_dataframe
|
Sumstats or DataFrame
|
Sumstats object or DataFrame to process. |
required |
windowsizekb
|
int
|
Window size in kilobases for lead variant identification, default 500 |
500
|
sig_level
|
float
|
Significance threshold for variant selection, default 5e-8 |
5e-8
|
xymt
|
list
|
List of non-autosomal chromosome identifiers |
["X","Y","MT"]
|
wc_correction
|
bool
|
If True, apply Winner's Curse correction to effect sizes |
False
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame containing significant lead variants with: - Original summary statistics columns - Annotated gene names (if anno=True) - Winner's Curse corrected BETA values (if wc_correction=True) - Additional metadata columns |
Notes
The function performs multiple steps:
1. Data validation and preprocessing
2. Significance filtering using specified threshold
3. Sliding window lead variant selection
4. Optional gene annotation using Ensembl/RefSeq
5. Optional Winner's Curse correction
When no significant variants are found, returns None after logging a message.
get_top
Extract top variants by maximizing a metric within sliding windows. (used for get top density variants)
This function identifies top variants by selecting, within each
contiguous window on a chromosome, the variant with the highest value
of a specified column (e.g., `DENSITY`). It follows the same windowing
logic as `getsig`, but does not rely on `P` or `MLOG10P`.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
insumstats_or_dataframe
|
Sumstats or DataFrame
|
Sumstats object or DataFrame to process. |
required |
by
|
str
|
Column name whose values are maximized to choose leads. |
"DENSITY"
|
threshold
|
float or None
|
If provided, only variants with |
None
|
windowsizekb
|
(int,)
|
Sliding window size in kilobases used to determine locus boundaries. default=500 |
required |
bwindowsizekb
|
(int,)
|
Window size for calculating density. default=100 |
required |
anno
|
bool
|
If True, annotate output with nearest gene names. |
False
|
Returns:
| Type | Description |
|---|---|
DataFrame or None
|
DataFrame containing the selected lead variants. Returns None if
no variants have valid values in the |
get_novel
Identify novel variants by comparing against known variant databases.
This function determines whether variants in summary statistics are novel by comparing them
against known variants from GWAS catalog or user-provided reference data. It handles
coordinate conversion, distance calculations, and group-based comparisons.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
insumstats_or_dataframe
|
Sumstats or DataFrame
|
Sumstats object or DataFrame to process. |
required |
known
|
DataFrame or str
|
DataFrame or path to file containing known variants with CHR/POS columns |
required |
efo
|
str or list
|
EFO ID(s), MONDO ID(s), or trait name(s) for querying GWAS Catalog. A list may mix formats, e.g. efo=['coffee consumption', 'MONDO_0004247', 'EFO_0004330']. |
required |
only_novel
|
bool
|
If True, return only novel variants |
False
|
group_key
|
str
|
Column name for grouping variants (e.g., trait/phenotype ID) |
required |
if_get_lead
|
bool
|
If True, first extract lead variants using getsig |
True
|
windowsizekb
|
int
|
Window size (kb) for lead variant identification |
500
|
windowsizekb_for_novel
|
int
|
Distance threshold (kb) to define novelty |
1000
|
show_child_traits
|
bool
|
If True, include child traits in GWAS Catalog results when querying by efo |
True
|
size
|
int
|
Page size for GWAS Catalog v2 bulk download when using |
200
|
sort
|
str
|
GWAS Catalog API sort field (default |
required |
direction
|
str
|
Sort direction when |
required |
catalog_kwargs
|
dict
|
Extra GWAS Catalog |
required |
Returns:
| Type | Description |
|---|---|
DataFrame or tuple
|
If only_novel=False and output_known=False: DataFrame with all variants and NOVEL column If only_novel=True and output_known=False: DataFrame with only novel variants If output_known=True: tuple of (variants DataFrame, known variants DataFrame) The returned DataFrame includes a "NOVEL" column indicating novelty status. |
Notes
When build is hg19/GRCh37, coordinates are first lifted over to hg38, then the same
steps are run. GWAS catalog and novelty checks use hg38; returned coordinates are
in hg38 in that case.
GWAS Catalog bulk downloads (``efo=``) default to no API-side sort; associations
are sorted locally by p-value. Setting ``sort`` forwards it to the API and may
drop associations on large traits (see ``examples/bug/GWAS_Catalog_sort_pagination_bug_report.md``).
The function performs multiple steps:
1. Optional liftover from hg19 to hg38 when build is hg19
2. Data validation and preprocessing
3. Retrieval of known variants from GWAS catalog or user input
4. Coordinate conversion and helper column creation (TCHR+POS)
5. Distance calculations between variants
6. Novelty determination based on distance threshold
7. Grouped comparisons when group_key is provided
When there are no lead variants to compare (or input is empty), returns early with an
empty DataFrame (and an empty known-variants frame if ``output_known=True``) without
querying GWAS Catalog or user reference files.
get_density
Calculate signal density in genomic data using a sliding window approach.
This function computes signal density by analyzing the distribution of variants
across the genome within specified window sizes. It provides statistical summaries
of density values including mean, median, standard deviation, and maximum values.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
insumstats_or_dataframe
|
Sumstats or DataFrame
|
Sumstats object or DataFrame containing variants. |
required |
snpid
|
str
|
Column name containing variant identifiers. Default is "SNPID". |
required |
chrom
|
str
|
Column name containing chromosome numbers. Default is "CHR". |
required |
pos
|
str
|
Column name containing genomic positions. Default is "POS". |
required |
bwindowsizekb
|
int
|
Window size in kilobases for density calculation. Default is 100. |
required |
sig_sumstats
|
DataFrame
|
Summary statistics DataFrame containing significant variants. If provided, density is calculated based on significant variants (conditional analysis). If None, density is calculated based on all variants. Default is None. |
required |
log
|
Log
|
Log object for writing messages. Default is None. |
required |
verbose
|
bool
|
Whether to display progress messages. Default is True. |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with added "DENSITY" column containing calculated density values. |
get_associations
Extract and process GWAS Catalog associations for variants in sumstats.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sumstats_or_dataframe
|
Sumstats or DataFrame
|
Sumstats object or DataFrame with rsID column. Limited to 100 unique variants. If more than 100 unique variants are provided, only the first 100 will be processed. |
required |
rsid
|
str
|
Name of the rsID column (default: "rsID") |
required |
log
|
Log
|
Logging object |
required |
verbose
|
bool
|
Whether to print log messages |
required |
fetch_metadata
|
bool
|
If True, fetch additional metadata (traits, studies, variants). If False, only fetch associations (faster, fewer API calls). |
required |
Default
|
True
|
|
required |
fetch_traits
|
bool
|
If True, fetch traits. If False, skip traits. If None, uses fetch_metadata value. Default: None |
required |
fetch_studies
|
bool
|
If True, fetch studies. If False, skip studies. If None, uses fetch_metadata value. Default: None |
required |
fetch_variants
|
bool
|
If True, fetch variants. If False, skip variants. If None, uses fetch_metadata value. Default: None |
required |
Returns:
| Type | Description |
|---|---|
Tuple[Optional[DataFrame], Optional[DataFrame]]
|
(associations_full, associations_summary) or (None, None) if no associations |
Note
The input is limited to 100 unique variants to prevent excessive API calls. If more variants are provided, only the first 100 will be processed and a warning will be issued.
check_cis
check_novel_set
Compare variant sets against a reference catalog of known associations.
Returns:
| Type | Description |
|---|---|
DataFrame
|
Overlap summary between sumstats variants and the reference set. |
check_cs_overlap
Compare credible-set variants against a reference known-association set.
Uses self.pipcs as the variant source.
Returns:
| Type | Description |
|---|---|
DataFrame
|
Overlap summary for credible-set SNPs. |
anno_gene
Annotate variants with nearest gene names from Ensembl or a custom GTF.
Returns:
| Type | Description |
|---|---|
DataFrame
|
Input table with gene annotation columns added. |
get_per_snp_r2
Calculate per-SNP heritability (R²) and optionally F-statistics.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sumstats_or_dataframe
|
Sumstats or DataFrame
|
Sumstats object or DataFrame to process. |
required |
beta
|
str
|
Column name for effect size (beta coefficient). Default is "BETA". |
required |
af
|
str
|
Column name for effect allele frequency. Default is "EAF". |
required |
n
|
str
|
Column name for sample size. Default is "N". |
required |
mode
|
str
|
Trait type: "q" for quantitative, "b" for binary. Default is "q". |
required |
se
|
str
|
Column name for standard error (used when vary="se"). Default is "SE". |
required |
vary
|
float or str
|
Variance of the phenotype Y. If "se", Var(Y) is estimated from SE, N, and MAF. Default is 1. |
required |
ncase
|
int
|
Number of cases for binary traits. Default is None. |
required |
ncontrol
|
int
|
Number of controls for binary traits. Default is None. |
required |
prevalence
|
float
|
Disease prevalence for binary traits. Default is None. |
required |
k
|
int or str
|
Number of parameters for F-statistic calculation. Use "all" to set k = number of SNPs. Default is 1. |
required |
adjuested
|
bool
|
If True, calculate adjusted R². Default is False. |
required |
verbose
|
bool
|
If True, write progress messages. Default is True. |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
Modified sumstats DataFrame with added columns: - SNPR2: Per-SNP R² (proportion of variance explained) - ADJUESTED_SNPR2: Adjusted R² (if adjuested=True) - F: F-statistic for instrument strength (if N column exists) |
Notes
Quantitative (``mode="q"``):
- ``vary`` numeric (default 1): ``per_snp_r2_quantitative`` — numerator
from Shim 2015 S1; Var(Y) user-supplied (``vary=1`` assumes unit Var(Y)).
- ``vary="se"``: ``per_snp_r2_from_se`` — Shim 2015 S1 eq. (4).
Binary (``mode="b"``): liability-scale R² via TwoSampleMR
``get_r_from_lor()`` (V_G = β²·p(1−p), V_E = π²/3).
get_ess
Estimate effective sample size (N_EFF) for GWAS summary statistics. Summary statistics DataFrame containing N_CASE and N_CONTROL columns.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sumstats_or_dataframe
|
Sumstats or DataFrame
|
Sumstats object or DataFrame to process. |
required |
method
|
str or float
|
Method for ESS calculation: - "metal": Uses formula from Willer et al. (2010) - float: Directly uses the provided value |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
Modified sumstats DataFrame with N_EFF column added.
When called via :meth: |
References
Willer, C. J., Li, Y., & Abecasis, G. R. (2010).
METAL: fast and efficient meta-analysis of genomewide association scans.
Bioinformatics, 26(17), 2190-2191.
get_gc
Calculate the Genomic Inflation Factor (LambdaGC) for genomic control in GWAS.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
insumstats_or_dataframe
|
Sumstats or DataFrame
|
Sumstats object or DataFrame to process. Can be a full DataFrame or a subset with CHR and mode columns. |
required |
include_chrXYMT
|
bool
|
If False, exclude sex chromosomes (X, Y) and mitochondrial (MT) from calculation x, y, mt : int or str, optional Identifiers for sex and mitochondrial chromosomes (default: 23, 24, 25) |
required |
mode
|
(P, MLOG10P, Z, CHISQ)
|
Input data type to use for calculation. If None, will auto-detect based on available columns: - 'P': p-values (default if available) - 'MLOG10P': -log10(p-values) - 'Z': Z-scores - 'CHISQ': Chi-squared statistics |
'P'
|
level
|
float, optional default=0.5
|
Quantile level for calculation, default value is 0.5 which is median |
required |
verbose
|
bool
|
If True, write progress messages to log |
required |
Returns:
| Type | Description |
|---|---|
float
|
Genomic inflation factor (LambdaGC), calculated as the ratio of observed to expected median chi-squared statistics |
References
Devlin, B., & Roeder, K. (1999). Genomic control for association studies.
Biometrics, 55(4), 964-975.
infer_ancestry
Infer ancestry based on Fst values from effective allele frequencies.
A high Fst value indicates that populations are genetically distinct. This function
compares the effective allele frequencies from the sumstats with those from 1kg data
to determine the closest ancestry. Inconsistency may suggest mislabeling of EAF.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sumstats_or_dataframe
|
Sumstats or DataFrame
|
Sumstats object or DataFrame to process. |
required |
ancestry_af
|
str
|
Path to allele frequency file, or keywords |
required |
build
|
str
|
Genome build version. Options are "19" or "38". Required when |
required |
_core
|
bool
|
Internal flag. If True, force use of the builtin core EAF panel and skip downloaded reference lookup. |
required |
verbose
|
bool
|
If True, write log messages. Default is True. |
required |
Returns:
| Type | Description |
|---|---|
str
|
The closest ancestry determined by the minimum average Fst value, derived from the header name of the corresponding column. |
Notes
This function internally uses `calculate_fst` to compute Fst values for each variant.
abf_finemapping
Run approximate Bayes factor (ABF) fine-mapping in a locus window.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
region
|
tuple
|
Locus as |
None
|
chrpos
|
tuple
|
Center variant as |
None
|
snpid
|
str
|
Center variant by ID; flanking window from kwargs. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
region_data |
DataFrame
|
Variants in the locus with ABF and PIP columns. |
credible_sets |
DataFrame
|
Variants comprising the 95% credible set. |
clump
Perform LD clumping of GWAS summary statistics using PLINK2.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
vcf
|
str or None
|
Path or prefix to reference VCF or genotype data compatible with PLINK2.
Used when deriving |
required |
bfile
|
str or None
|
Prefix to PLINK binary files ( |
required |
pfile
|
str or None
|
Prefix to PLINK2 files ( |
required |
scaled
|
bool
|
If True, clump on |
required |
out
|
str or None
|
Output prefix. If None, uses "./{study}_clumpping". |
required |
p
|
str
|
Column name of p-values in |
required |
mlog10p
|
str
|
Column name of -log10(p) in |
required |
overwrite
|
bool
|
Whether to overwrite any intermediate reference files produced while preparing inputs. |
required |
study
|
str or None
|
Study name used when |
required |
threads
|
int
|
Number of threads to pass to PLINK2 via |
required |
memory
|
int or None
|
Memory limit (MB) for PLINK2 via |
required |
chrom
|
any
|
Unused parameter kept for API compatibility. |
required |
clump_p1
|
float
|
Primary p-value threshold ( |
required |
clump_p2
|
float
|
Secondary p-value threshold ( |
required |
clump_r2
|
float
|
LD threshold ( |
required |
clump_kb
|
int
|
Window size in kilobases ( |
required |
log
|
Log
|
Logger instance used for progress reporting. |
required |
verbose
|
bool
|
Whether to emit verbose log messages. |
required |
plink
|
str
|
Path to PLINK (v1). Not used directly in clumping. |
required |
plink2
|
str
|
Path to PLINK2 binary. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
results_sumstats |
DataFrame
|
Subset of input summary statistics for clumped lead variants. |
results |
DataFrame
|
Concatenated PLINK2 |
plink_log |
str
|
Combined PLINK2 log output captured during execution. |
Workflow
The clumping process follows these steps:
-
Filter significant variants: Extract variants below the p-value threshold (clump_p1 or clump_p2) from the input sumstats.
-
Process reference files: Convert VCF/BGEN to PLINK format (bfile/pfile) if needed, and load BIM/PVAR variant information for matching.
-
Match variants with reference: Match sumstats variants with reference BIM using CHR, POS, and optionally EA/NEA to assign reference SNPIDs. This ensures PLINK uses consistent IDs that match the reference panel.
-
Create temporary input files: For each chromosome, create a temporary SNPIDP file containing variant IDs and p-values in a temporary directory.
-
Run PLINK2 clumping: Execute PLINK2 clumping for each chromosome separately, using the reference panel and temporary input files. PLINK2 identifies lead variants and their clumped variants based on LD (r²) within the specified window.
-
Process results: Read and concatenate clumping results from all chromosomes, map BIM SNPIDs back to original sumstats SNPIDs, and filter sumstats to include only clumped lead variants.
-
Cleanup: Delete temporary files and intermediate clumps output files after successful data reload.
Notes
- Writes temporary files in a temporary directory, which are automatically removed.
- Produces per-chromosome output files "{out}.{chr}.clumps" which are deleted after
successful reload if delete_files option is used.
- Variant matching uses CHR, POS, EA, NEA to ensure ID consistency between sumstats
and reference panel, preventing missing matches due to ID mismatches.
Examples:
>>> results_sumstats, results, logstr = _clump(
... bfile="ref/chr@",
... clump_p1=5e-8,
... clump_p2=1e-5,
... clump_r2=0.1,
... clump_kb=250,
... threads=4
... )
estimate_h2_by_ldsc
Estimate SNP heritability using LD score regression.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
verbose
|
bool
|
If True, print detailed progress and status messages during execution. |
True
|
munge
|
bool
|
If True, apply standard munging procedures (e.g., filtering, harmonization, and QC) to the input summary statistics prior to analysis. |
False
|
ref_ld_chr
|
str or path - like
|
Path to reference LD score files (directory or specific file prefix). |
required |
w_ld_chr
|
str or path - like
|
Path to LD weight scores. Often the same as |
required |
samp_prev
|
float
|
Sample prevalence (case proportion) for case–control summary statistics. |
required |
pop_prev
|
float
|
Population prevalence for case–control traits. |
required |
Returns:
| Type | Description |
|---|---|
tuple
|
Heritability estimate and coefficient table; stored on |
Notes
Additional keyword arguments are forwarded to the underlying LDSC call.
This function wraps the LDSC implementation from Bulik-Sullivan et al. (2015).
Requires input columns: CHR, POS, EA, NEA.
For case-control studies, provide samp_prev and pop_prev via meta or kwargs.
estimate_rg_by_ldsc
estimate_rg_by_ldsc(build=None, verbose=True, match_allele=True, how='right', get_hm3=True, **kwargs)
Estimate genetic correlation between traits using cross-trait LD score regression.
This function performs cross-trait LD score regression to estimate genetic
correlation (rg) between the primary trait and one or more other traits.
Genetic correlation measures the extent to which genetic effects are shared
between traits.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
insumstats
|
Sumstats or DataFrame
|
Primary trait summary statistics. Must contain columns: CHR, POS, EA, NEA. Optionally requires: Z (or BETA/SE), N, SNP (or rsID). |
required |
other_traits
|
list of Sumstats or pd.DataFrame
|
List of summary statistics for other traits to correlate with the primary trait. Each trait should have the same required columns as insumstats. |
required |
log
|
Log
|
Logging object for recording progress and messages. |
required |
meta
|
dict
|
Metadata dictionary for the primary trait. If provided and contains sample_prevalence and population_prevalence, these will be used for case-control trait analysis. |
required |
verbose
|
bool
|
If True, print detailed progress and status messages during execution. **raw_kwargs Additional keyword arguments forwarded to LDSC. Required parameters include: - ref_ld_chr : str or path-like Path to reference LD score files (per chromosome) - w_ld_chr : str or path-like Path to LD weight files (per chromosome) Optional parameters: - rg : str Comma-separated list of trait names. If not provided, will be constructed from study names in metadata. - samp_prev : str Comma-separated sample prevalences for all traits (primary + others) - pop_prev : str Comma-separated population prevalences for all traits (primary + others) - Other LDSC-specific parameters |
True
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
Stored in Sumstats.ldsc_rg. DataFrame containing genetic correlation estimates (rg) and standard errors between the primary trait and each other trait, along with p-values and confidence intervals. |
Notes
This function wraps the cross-trait LDSC implementation from Bulik-Sullivan et al. (2015).
Genetic correlation ranges from -1 to 1, where:
- rg = 1: Complete positive genetic correlation
- rg = 0: No genetic correlation
- rg = -1: Complete negative genetic correlation
For case-control studies, provide samp_prev and pop_prev for all traits.
estimate_h2_cts_by_ldsc
Estimate cell type-specific (CTS) heritability using LD score regression.
This function performs cell type-specific LD score regression to identify
which cell types or tissues are most relevant for a trait by testing for
heritability enrichment in cell type-specific annotations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
insumstats
|
Sumstats or DataFrame
|
Input summary statistics. Must contain columns: CHR, POS, EA, NEA. Optionally requires: Z (or BETA/SE), N, SNP (or rsID). |
required |
log
|
Log
|
Logging object for recording progress and messages. |
required |
verbose
|
bool
|
If True, print detailed progress and status messages during execution. **raw_kwargs Additional keyword arguments forwarded to LDSC. Required parameters include: - ref_ld_chr_cts : str or path-like Path to cell type-specific LD score files (per chromosome) - w_ld_chr : str or path-like Path to LD weight files (per chromosome) - cts_bin : str or path-like Path to binary annotation files for cell types Optional parameters: - cts_breaks : str Comma-separated breakpoints for binning annotations - cts_names : str Comma-separated names for cell types - print_all_cts : bool If True, print results for all cell types - Other LDSC-specific parameters |
True
|
Returns:
| Type | Description |
|---|---|
Any
|
Stored in Sumstats.ldsc_h2_cts. Results from cell type-specific analysis, typically containing heritability enrichment estimates for different cell types or tissues. |
Notes
This function wraps the cell type-specific LDSC implementation from
Finucane et al. (2018). It identifies disease-relevant tissues and cell types
by testing for heritability enrichment in cell type-specific gene expression
annotations. Requires pre-computed cell type-specific LD scores.
estimate_partitioned_h2_by_ldsc
Estimate partitioned SNP heritability using LD score regression.
This function performs partitioned LD score regression to estimate heritability
across different genomic annotations or functional categories (e.g., coding,
regulatory, intergenic regions).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
insumstats
|
Sumstats or DataFrame
|
Input summary statistics. Must contain columns: CHR, POS, EA, NEA. Optionally requires: Z (or BETA/SE), N, SNP (or rsID). |
required |
log
|
Log
|
Logging object for recording progress and messages. |
required |
meta
|
dict
|
Metadata dictionary containing study information. If provided and contains sample_prevalence and population_prevalence, these will be used for case-control trait analysis. |
required |
verbose
|
bool
|
If True, print detailed progress and status messages during execution. **raw_kwargs Additional keyword arguments forwarded to LDSC. Required parameters include: - ref_ld_chr : str or path-like Path to reference LD score files (per chromosome) with annotations - w_ld_chr : str or path-like Path to LD weight files (per chromosome) - annot : str or path-like Path to annotation files defining genomic partitions Optional parameters: - samp_prev : str or float Sample prevalence (case proportion) for case-control traits - pop_prev : str or float Population prevalence for case-control traits - n_blocks : int Number of blocks for jackknife variance estimation - Other LDSC-specific parameters |
True
|
Returns:
| Type | Description |
|---|---|
tuple
|
A tuple containing: - parsed_summary : Stored in Sumstats.ldsc_partitioned_h2_summary Partitioned heritability estimates and statistics - results : Stored in Sumstats.ldsc_partitioned_h2_results Detailed coefficient results DataFrame for each partition |
Notes
This function wraps the partitioned LDSC implementation from Bulik-Sullivan et al. (2015).
Requires annotation files that define genomic partitions (e.g., functional categories).
For case-control studies, provide samp_prev and pop_prev via meta or raw_kwargs.