Investigating height in relation to number of live births
library(TwoSampleMR)
## TwoSampleMR version 0.5.6
## [>] New: Option to use non-European LD reference panels for clumping etc
## [>] Some studies temporarily quarantined to verify effect allele
## [>] See news(package='TwoSampleMR') and https://gwas.mrcieu.ac.uk for further details
d <- make_dat("ukb-b-16881", "ukb-b-1209")
## API: public: http://gwas-api.mrcieu.ac.uk/
## Extracting data for 602 SNP(s) from 1 GWAS(s)
## Harmonising Sitting height || id:ukb-b-16881 (ukb-b-16881) and Number of live births || id:ukb-b-1209 (ukb-b-1209)
## Removing the following SNPs for incompatible alleles:
## rs4651157, rs872937
d_mr<-mr(d)
## Analysing 'ukb-b-16881' on 'ukb-b-1209'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-16881 ukb-b-1209 Number of live births || id:ukb-b-1209
## 2 ukb-b-16881 ukb-b-1209 Number of live births || id:ukb-b-1209
## 3 ukb-b-16881 ukb-b-1209 Number of live births || id:ukb-b-1209
## 4 ukb-b-16881 ukb-b-1209 Number of live births || id:ukb-b-1209
## 5 ukb-b-16881 ukb-b-1209 Number of live births || id:ukb-b-1209
## exposure method nsnp b
## 1 Sitting height || id:ukb-b-16881 MR Egger 602 -0.05189472
## 2 Sitting height || id:ukb-b-16881 Weighted median 602 -0.05045782
## 3 Sitting height || id:ukb-b-16881 Inverse variance weighted 602 -0.05611316
## 4 Sitting height || id:ukb-b-16881 Simple mode 602 -0.07066038
## 5 Sitting height || id:ukb-b-16881 Weighted mode 602 -0.07695555
## se pval
## 1 0.02497578 3.815225e-02
## 2 0.01495977 7.438068e-04
## 3 0.01094723 2.962999e-07
## 4 0.04407421 1.094128e-01
## 5 0.02675565 4.167190e-03
mr_scatter_plot(d_mr,d)
## $`ukb-b-16881.ukb-b-1209`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-16881 ukb-b-1209
d <- make_dat("ukb-b-1209", "ukb-b-16881")
## Extracting data for 11 SNP(s) from 1 GWAS(s)
## Harmonising Number of live births || id:ukb-b-1209 (ukb-b-1209) and Sitting height || id:ukb-b-16881 (ukb-b-16881)
d_mr<-mr(d)
## Analysing 'ukb-b-1209' on 'ukb-b-16881'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-1209 ukb-b-16881 Sitting height || id:ukb-b-16881
## 2 ukb-b-1209 ukb-b-16881 Sitting height || id:ukb-b-16881
## 3 ukb-b-1209 ukb-b-16881 Sitting height || id:ukb-b-16881
## 4 ukb-b-1209 ukb-b-16881 Sitting height || id:ukb-b-16881
## 5 ukb-b-1209 ukb-b-16881 Sitting height || id:ukb-b-16881
## exposure method nsnp
## 1 Number of live births || id:ukb-b-1209 MR Egger 11
## 2 Number of live births || id:ukb-b-1209 Weighted median 11
## 3 Number of live births || id:ukb-b-1209 Inverse variance weighted 11
## 4 Number of live births || id:ukb-b-1209 Simple mode 11
## 5 Number of live births || id:ukb-b-1209 Weighted mode 11
## b se pval
## 1 -2.275236596 0.89828842 0.03208459
## 2 -0.008219910 0.04033566 0.83851942
## 3 -0.195200627 0.12988639 0.13287600
## 4 0.016916871 0.04681329 0.72534182
## 5 0.008762991 0.04577546 0.85201647
mr_scatter_plot(d_mr,d)
## $`ukb-b-1209.ukb-b-16881`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-1209 ukb-b-16881
d <- make_dat("ukb-b-10787", "ukb-b-1209")
## Extracting data for 773 SNP(s) from 1 GWAS(s)
## Finding proxies for 1 SNPs in outcome ukb-b-1209
## Extracting data for 1 SNP(s) from 1 GWAS(s)
## Harmonising Standing height || id:ukb-b-10787 (ukb-b-10787) and Number of live births || id:ukb-b-1209 (ukb-b-1209)
## Removing the following SNPs for incompatible alleles:
## rs1019075, rs11051456, rs34773647, rs664317, rs7978217
d_mr<-mr(d)
## Analysing 'ukb-b-10787' on 'ukb-b-1209'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-10787 ukb-b-1209 Number of live births || id:ukb-b-1209
## 2 ukb-b-10787 ukb-b-1209 Number of live births || id:ukb-b-1209
## 3 ukb-b-10787 ukb-b-1209 Number of live births || id:ukb-b-1209
## 4 ukb-b-10787 ukb-b-1209 Number of live births || id:ukb-b-1209
## 5 ukb-b-10787 ukb-b-1209 Number of live births || id:ukb-b-1209
## exposure method nsnp b
## 1 Standing height || id:ukb-b-10787 MR Egger 772 -0.03819174
## 2 Standing height || id:ukb-b-10787 Weighted median 772 -0.03518700
## 3 Standing height || id:ukb-b-10787 Inverse variance weighted 772 -0.03997508
## 4 Standing height || id:ukb-b-10787 Simple mode 772 -0.06638393
## 5 Standing height || id:ukb-b-10787 Weighted mode 772 -0.05189244
## se pval
## 1 0.019541100 5.101177e-02
## 2 0.012993964 6.770035e-03
## 3 0.009654704 3.465848e-05
## 4 0.033323589 4.671233e-02
## 5 0.021592120 1.648286e-02
mr_scatter_plot(d_mr,d)
## $`ukb-b-10787.ukb-b-1209`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-10787 ukb-b-1209
d <- make_dat("ukb-b-1209", "ukb-b-10787")
## Extracting data for 11 SNP(s) from 1 GWAS(s)
## Harmonising Number of live births || id:ukb-b-1209 (ukb-b-1209) and Standing height || id:ukb-b-10787 (ukb-b-10787)
d_mr<-mr(d)
## Analysing 'ukb-b-1209' on 'ukb-b-10787'
d_mr
## id.exposure id.outcome outcome
## 1 ukb-b-1209 ukb-b-10787 Standing height || id:ukb-b-10787
## 2 ukb-b-1209 ukb-b-10787 Standing height || id:ukb-b-10787
## 3 ukb-b-1209 ukb-b-10787 Standing height || id:ukb-b-10787
## 4 ukb-b-1209 ukb-b-10787 Standing height || id:ukb-b-10787
## 5 ukb-b-1209 ukb-b-10787 Standing height || id:ukb-b-10787
## exposure method nsnp
## 1 Number of live births || id:ukb-b-1209 MR Egger 11
## 2 Number of live births || id:ukb-b-1209 Weighted median 11
## 3 Number of live births || id:ukb-b-1209 Inverse variance weighted 11
## 4 Number of live births || id:ukb-b-1209 Simple mode 11
## 5 Number of live births || id:ukb-b-1209 Weighted mode 11
## b se pval
## 1 -1.39413170 0.71236130 0.08203146
## 2 -0.03944005 0.04101988 0.33630779
## 3 -0.06640983 0.09587033 0.48849492
## 4 -0.28575794 0.15354985 0.09236161
## 5 0.09997563 0.08443615 0.26377808
mr_scatter_plot(d_mr,d)
## $`ukb-b-1209.ukb-b-10787`
##
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
## id.exposure id.outcome
## 1 ukb-b-1209 ukb-b-10787
Height is highly negatively associated with number of children.
BMI is weight/height^2, so as high BMI -> more children, you’d expect either: * higher weight to associate with more children (no evidence), or * higher height to associate with less children (evidence above) Which is most important, BMI or height?
d <- mv_extract_exposures(c("ukb-b-19953", "ukb-b-10787"))
## Please look at vignettes for options on running this locally if you need to run many instances of this command.
## Clumping 1, 1226 variants, using EUR population reference
## Removing 486 of 1226 variants due to LD with other variants or absence from LD reference panel
## Extracting data for 740 SNP(s) from 2 GWAS(s)
## Warning in .fun(piece, ...): Duplicated SNPs present in exposure data for phenotype 'Body mass index (BMI) || id:ukb-b-19953. Just keeping the first instance:
## rs11252860
## rs34773647
## Harmonising Body mass index (BMI) || id:ukb-b-19953 (ukb-b-19953) and Standing height || id:ukb-b-10787 (ukb-b-10787)
## Removing the following SNPs for incompatible alleles:
## rs11252860, rs34773647
## Removing the following SNPs for being palindromic with intermediate allele frequencies:
## rs11664336, rs12507026, rs12572775, rs13102005, rs1467847, rs2396625, rs3771382, rs3790086, rs3812163, rs418280, rs4302014, rs5759006, rs6464921, rs7652177, rs832806, rs9352895, rs9976812
o <- extract_outcome_data(d$SNP, "ukb-b-1209")
## Extracting data for 738 SNP(s) from 1 GWAS(s)
d <- mv_harmonise_data(d, o)
## Harmonising Body mass index (BMI) || id:ukb-b-19953 (ukb-b-19953) and Number of live births || id:ukb-b-1209 (ukb-b-1209)
## Removing the following SNPs for being palindromic with intermediate allele frequencies:
## rs11664336, rs12507026, rs12572775, rs13102005, rs1467847, rs2396625, rs3771382, rs3790086, rs3812163, rs418280, rs4302014, rs5759006, rs6464921, rs7652177, rs832806, rs9352895, rs9976812
mv_multiple(d)
## $result
## id.exposure exposure id.outcome
## 1 ukb-b-10787 Standing height || id:ukb-b-10787 ukb-b-1209
## 2 ukb-b-19953 Body mass index (BMI) || id:ukb-b-19953 ukb-b-1209
## outcome nsnp b se
## 1 Number of live births || id:ukb-b-1209 650 -0.040102960 0.01065365
## 2 Number of live births || id:ukb-b-1209 103 0.009416381 0.01948035
## pval
## 1 0.0001670531
## 2 0.6288270939
Affect of BMI attenuates when height is added to the model.