Skip to content

S-MultiXcan fails with "No intersection of snps between GWAS and models" when using multiple tissues #207

@smellythief

Description

@smellythief

S-MultiXcan fails with "No intersection of snps between GWAS and models" when using multiple tissues

I'm encountering a persistent issue when trying to run S-MultiXcan with multiple tissues. When using a single tissue, the analysis completes successfully, but when trying to use two or more tissues, it fails with the error: No intersection of snps between GWAS and models.

This appears similar to issue #135 from 2021, which remains unresolved.

To Reproduce

  1. Successfully ran S-PrediXcan for individual tissues (Colon_Sigmoid, Whole_Blood, etc.) with all output files generated correctly
  2. Attempted to run S-MultiXcan using the following command:
python SMulTiXcan.py \
    --models_folder "/path/to/elastic-net-with-phi" \
    --models_name_filter "en_Colon_Sigmoid.db en_Whole_Blood.db" \
    --gwas_file "/path/to/gwas.txt" \
    --snp_column SNP \
    --effect_allele_column effect_allele \
    --non_effect_allele_column non_effect_allele \
    --beta_column beta \
    --se_column se \
    --pvalue_column pvalue \
    --metaxcan_folder "/path/to/spredixcan_results/" \
    --metaxcan_filter "cd_Colon_Sigmoid.csv cd_Whole_Blood.csv" \
    --metaxcan_file_name_parse_pattern "cd_(.*).csv" \
    --models_name_pattern "en_(.*).db" \
    --cutoff_condition_number 30 \
    --keep_non_rsid \
    --snp_covariance "/path/to/gtex_v8_expression_elastic_net_snp_smultixcan_covariance.txt.gz" \
    --output "/path/to/output.csv"

Received error: ERROR - No intersection of snps between GWAS and models.

Additional Behavior:

Single Tissue Results with Multi-Tissue Input:

Interestingly, when I run S-MultiXcan with all tissues (using --models_name_filter "en_*.db" and --metaxcan_filter "cd_.*csv"), the analysis completes without error but only shows Spleen as both the best and worst tissue for ALL genes. This suggests the multi-tissue integration isn't functioning correctly even when the analysis completes.
Here's a sample of the output:
gene,gene_name,pvalue,n,n_indep,p_i_best,t_i_best,p_i_worst,t_i_worst,eigen_max,eigen_min,eigen_min_kept,z_min,z_max,z_mean,z_sd,tmi,status ENSG00000185019.16,UBOX5,0.0002460487,34,1,0.0002460487,Spleen,0.0002460487,Spleen,1,1,1,-3.666338,2.511967,0.5290175,1.572323,1,0 ENSG00000171953.15,ATPAF2,0.0004762034,30,1,0.0004762034,Spleen,0.0004762034,Spleen,1,1,1,-2.57409,3.493797,0.5703833,1.487471,1,0 ENSG00000197958.12,RPL12,0.0005274464,45,1,0.0005274464,Spleen,0.0005274464,Spleen,1,1,1,-3.466416,3.231062,0.6738631,1.476419,1,0

Note that n shows the number of tissues with models available (e.g., 34, 30, 45), but n_indep is always 1, and both t_i_best and t_i_worst are always "Spleen".

Diagnostic Information

I've verified that there is substantial SNP overlap between my GWAS and each tissue model individually:

GWAS has ~47.8 million SNPs
Colon_Sigmoid model has ~159,700 SNPs with ~159,650 overlapping with GWAS
Whole_Blood model has ~161,300 SNPs with ~161,320 overlapping with GWAS
There are ~36,800 SNPs common to both models and GWAS

S-MultiXcan works correctly with individual tissues but fails when combining two or more tissues
Using MetaXcan version 0.7.4 (latest as of March 2025)
I'm using the GTEx v8 elastic net models with phi

Relevant Changelog Entries
I noticed that versions 0.5.4 and 0.5.9 addressed similar issues:

Version 0.5.9: "Addressed edge case when the GWAS has no intersection with the prediction model (most likely a naming issue)"
Version 0.5.4: "Bugfix for the case when there is no intersection between the prediction model's snps and the GWAS"
Version 0.6.11: "Fixed edge case when using non-rsid variants in S-MultiXcan"

However, the issue persists in the latest version when using multiple tissues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions