Skip to content

apoursh/caringWithoutSharing

Repository files navigation

Caring Without Sharing

A complete pipeline for performing GWAS in a decentralized fashion. We perform QC, PCA and logistic regression in two scenarios. In scenario 1, we randomly split the data into five silos. In scenario 2, we split the data based on case control status. In both scenarios, we compare the results to a centralized analysis and demonstrate that almost perfect numerical agreement can be achieved. We furthermore, investigate our performance on extremely rare alleles and show that out pipeline can achieve the accuracy of a centralized pipeline when the allele count per silo is too low for meta studies to perform well. You can find our preprint here. This work is currently under submission.

Included files:

  • Plots_Analysis.ipynb: Notebook with the analysis results for scenario 1, 2.
  • rare_allele_sim.ipynb: Code/plots analysis of FE vs our method for very rare alleles.
  • add_pheno.py: Simulates a phenotype and performs a local GWAS.
  • scenario1.py: Code for generating the data for scenario 1.
  • scenario2.py: Code for generating the data for scenario 2.
  • data/prep_samples.sh: PLINK pipeline to subset the data for simulated GWAS.
  • data/toExclude.txt: Outlier individuals excluded from the analysis.
  • optimizationAux.py: Auxiliary files for running lbfgsb for admm regression.
  • corr.pyx: fast correlation compuatation. Same method as used by PLINK.
  • qc_utils.py: Utilities for running PLINK commands and comparing hdf stores with plink outputs
  • process_chiamo.py: Utility functions for reading PLINK/chiamo files to hdf (chiamo files were not used in our experiments)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published