empty output for multiXcan with mashr models

311 views
Skip to first unread message

Ammarah Ghaffar

unread,
Sep 7, 2021, 11:48:31 AM9/7/21
to PrediXcan/MetaXcan
Hi Avaro,

I am running SMultiXcan with mashr models but my output file is empty with just header line. My SprediXcan/metaXcan result files are named 
                                "mashr-mashr_Adipose_Subcutaneous.csv" 
The command which I used is 

python SMulTiXcan.py 
--models_folder data/models/eqtl/mashr 
--models_name_pattern "mashr_(.*).db" 
--snp_covariance data/models/gtex_v8_expression_mashr_snp_smultixcan_covariance.txt.gz 
--metaxcan_folder results/GormleyFull2016HarmoniseImputeMashr 
--metaxcan_filter "mashr-mashr_(.*).csv" 
--metaxcan_file_name_parse_pattern "mashr-mashr_(.*).csv" 
--gwas_file data/processed_summary_imputation/data.txt 
--snp_column variant_id 
--effect_allele_column effect_allele 
--non_effect_allele_column non_effect_allele 
--zscore_column zscore 
--keep_non_rsid 
--model_db_snp_key varID 
--cutoff_condition_number 30 
--verbosity 7 
--throw 
--output results/output.txt

Previously I was getting an error of "No intersection between model names in MetaXcan Results and Prediction Models. Please verify your input" which I solved by changing the regular expression in a way that it captures tissue name only. 

Now I am getting an empty file as an output with a header line only. 

My harmonised and imputed GWAS looks like this 

variant_id panel_variant_id chromosome position effect_allele non_effect_allele current_build frequency sample_size zscore pvalue effect_size standard_error imputation_status n_cases
rs141149254 chr1_54490_G_A_b38 chr1 54490 A G hg38 0.17766990291262136 375752 0.10260854676445053 0.9182736593108998 NA NA imputed NA
--

Best Regards,

Ammarah Ghaffar



Ammarah Ghaffar

unread,
Sep 8, 2021, 1:07:36 AM9/8/21
to PrediXcan/MetaXcan, Alvaro Barbeira
Hi Alvaro,

I have tried a little modification in the argument "--metaxcan_file_name_parse_pattern" but still getting the same results, that is, still getting an empty file with only the header line. 

python SMulTiXcan.py 
--models_folder data/models/eqtl/mashr --models_name_pattern "mashr_(.*).db" 
--snp_covariance data/models/gtex_v8_expression_mashr_snp_smultixcan_covariance.txt.gz 
--metaxcan_folder results/GormleyFull2016HarmoniseImputeMashr 
--metaxcan_filter "mashr-mashr_(.*).csv" 
--metaxcan_file_name_parse_pattern "(.*)-mashr_(.*).csv" 
--gwas_file data/processed_summary_imputation/GormleyMigraine2016Full/imputed_harmonised-any_mig.gwama.out.isq75.nstud12.clean.txt 
--snp_column variant_id 
--effect_allele_column effect_allele 
--non_effect_allele_column non_effect_allele 
--zscore_column zscore 
--keep_non_rsid 
--model_db_snp_key rsid 
--cutoff_condition_number 30 
--verbosity 7 --throw 
--output results/GormleyFull2016SMultiXcanHarmoniseImputeMashr/GormleyFull2016-mashr-SmultiXcan-output.txt

I previously successfully ran SmultiXcan with enet models but can't figure out what I am doing wrong with mashr models. I also tried multiple combinations of --snp_column and --model_db_snp_key. 

But I am either getting an empty file with only the header line or an error "No intersection of snps between GWAS and models".

Festus

unread,
Sep 8, 2021, 9:46:16 AM9/8/21
to PrediXcan/MetaXcan
Hi Ammarah,

Can you check the genome build of your GWAS?
The mashr models don't contain rsids and the genome build for the models is b38.

If your GWAS is in the same genome build then use these options
  --model_db_snp_key varID
  --snp_column panel_variant_id (from GWAS snippet you shared)

If the genome build is different then you will need to do a liftover.

Regards,

Festus

Festus

unread,
Sep 8, 2021, 11:32:24 AM9/8/21
to PrediXcan/MetaXcan

Ammarah Ghaffar

unread,
Sep 8, 2021, 10:52:12 PM9/8/21
to Festus, PrediXcan/MetaXcan
Hi Festus,

Thankyou for your reply. I read the links you sent previously. I harmonised and imputed results following tutorial available here https://github.com/hakyimlab/MetaXcan/wiki/Tutorial:-GTEx-v8-MASH-models-integration-with-a-Coronary-Artery-Disease-GWAS. My MetaXcan command looks like

./MetaMany.py 
--gwas_file data/processed_summary_imputation/GormleyMigraine2016Full/imputed_harmonised-any_mig.gwama.out.isq75.nstud12.clean.txt 
--snp_column panel_variant_id 
--effect_allele_column effect_allele 
--non_effect_allele_column non_effect_allele 
--zscore_column zscore 
--pvalue_column pvalue 
--freq_column frequency 
--keep_non_rsid 
--additional_output 
--model_db_snp_key varID 
--throw 
--covariance_suffix ".txt.gz...db" 
--output_directory results/GormleyFull2016HarmoniseImputeMashr  
--output_file_prefix "mashr" data/models/eqtl/mashr/mashr_*.db |& tee -a results/GormleyFulloutput.txt

For all tissues 90 to 92% of model's snps were found in gwas. My MetaXcan result file from adipose subcutaneous tissue looks like this.

gene

gene_name

zscore

effect_size

pvalue

var_g

pred_perf_r2

pred_perf_pval

pred_perf_qval

n_snps_used

n_snps_in_cov

n_snps_in_model

best_gwas_p

largest_weight

ENSG00000123384.13

LRP1

10.20188808

NA

1.94E-24

0.002462505

NA

NA

NA

1

1

1

1.94E-24

0.068256692

ENSG00000135547.8

HEY2

-5.546166897

NA

2.92E-08

0.001055486

NA

NA

NA

1

1

1

2.92E-08

0.044205806



  I renamed my MetaXcan results files the same as mashr model's name (mashr_Adipose_Subcutaneous.csv). I am running SMultiXcan on all tissues (i.e., on all MetaXcan results) using the command
  
 python SMulTiXcan.py 
--models_folder data/models/eqtl/mashr 
--models_name_pattern "mashr_(.*).db" 
--snp_covariance data/models/gtex_v8_expression_mashr_snp_smultixcan_covariance.txt.gz 
--metaxcan_folder results/GormleyFull2016HarmoniseImputeMashr 
--metaxcan_filter "mashr_(.*).csv" 
--metaxcan_file_name_parse_pattern "mashr_(.*).csv" 
--gwas_file data/processed_summary_imputation/GormleyMigraine2016Full/imputed_harmonised-any_mig.gwama.out.isq75.nstud12.clean.txt 
--snp_column panel_variant_id 
--effect_allele_column effect_allele 
--non_effect_allele_column non_effect_allele 
--zscore_column zscore 
--keep_non_rsid 
--model_db_snp_key varID 
--cutoff_condition_number 30 
--verbosity 7 
--throw 
--output results/GormleyFull2016SMultiXcanHarmoniseImputeMashr/GormleyFull2016-mashr-SmultiXcan-output.txt

I am getting the error
 
Traceback (most recent call last):
  File "SMulTiXcan.py", line 93, in <module>
    run(args)
  File "SMulTiXcan.py", line 22, in run
    context = CrossModelUtilities.context_from_args(args)
  File "/home/n10125116/MetaXcan/software/metax/cross_model/Utilities.py", line 189, in context_from_args
    raise Exceptions.ReportableException("No intersection of snps between GWAS and models.")
metax.Exceptions.ReportableException

I have again rechecked my files. I think I am using the right mashr expression models. My command line arguments "--models_name_pattern, --metaxcan_filter --metaxcan_file_name_parse_pattern" are capturing tissue name only. I really cant figure out what I am doing wrong? :(

Ammarah
--
You received this message because you are subscribed to the Google Groups "PrediXcan/MetaXcan" group.
To unsubscribe from this group and stop receiving emails from it, send an email to predixcanmetax...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/predixcanmetaxcan/80c92ccd-9854-4633-90e5-4be66a01322bn%40googlegroups.com.

Alvaro Barbeira

unread,
Sep 9, 2021, 6:09:25 PM9/9/21
to Ammarah Ghaffar, Festus, PrediXcan/MetaXcan
Hi Ammarah,

I can spot nothing amiss from the information in the email. Unfortunately I would need additional information. Since your S-PrediXcan results look ok, could you send me the output of running "tree data" on bash?

Best,

Alvaro

Reply all
Reply to author
Forward
0 new messages