Investigating food intake in relation to number of children

library(TwoSampleMR)

Bread intake

d <- make_dat("ukb-b-11348", "ieu-b-4760")
## API: public: http://gwas-api.mrcieu.ac.uk/
## Extracting data for 32 SNP(s) from 1 GWAS(s)
## Finding proxies for 6 SNPs in outcome ieu-b-4760
## Extracting data for 6 SNP(s) from 1 GWAS(s)
## Harmonising Bread intake || id:ukb-b-11348 (ukb-b-11348) and Number of children || id:ieu-b-4760 (ieu-b-4760)
d_mr<-mr(d)
## Analysing 'ukb-b-11348' on 'ieu-b-4760'
d_mr
##   id.exposure id.outcome                             outcome
## 1 ukb-b-11348 ieu-b-4760 Number of children || id:ieu-b-4760
## 2 ukb-b-11348 ieu-b-4760 Number of children || id:ieu-b-4760
## 3 ukb-b-11348 ieu-b-4760 Number of children || id:ieu-b-4760
## 4 ukb-b-11348 ieu-b-4760 Number of children || id:ieu-b-4760
## 5 ukb-b-11348 ieu-b-4760 Number of children || id:ieu-b-4760
##                         exposure                    method nsnp           b
## 1 Bread intake || id:ukb-b-11348                  MR Egger   55 -0.10468282
## 2 Bread intake || id:ukb-b-11348           Weighted median   55 -0.05566808
## 3 Bread intake || id:ukb-b-11348 Inverse variance weighted   55 -0.08829137
## 4 Bread intake || id:ukb-b-11348               Simple mode   55 -0.13830742
## 5 Bread intake || id:ukb-b-11348             Weighted mode   55 -0.05340018
##           se         pval
## 1 0.11613581 0.3714628040
## 2 0.03142472 0.0764819095
## 3 0.02601999 0.0006907797
## 4 0.07632455 0.0755329405
## 5 0.06042423 0.3807465958
mr_scatter_plot(d_mr,d)
## $`ukb-b-11348.ieu-b-4760`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure id.outcome
## 1 ukb-b-11348 ieu-b-4760
d <- make_dat("ieu-b-4760", "ukb-b-11348")
## Warning in .fun(piece, ...): Duplicated SNPs present in exposure data for phenotype 'Number of children || id:ieu-b-4760. Just keeping the first instance:
## rs6800021
## rs6782190
## rs4870063
## rs10270358
## rs201945769
## rs2360806
## rs72687493
## rs62054570
## rs2957316
## Extracting data for 9 SNP(s) from 1 GWAS(s)
## Finding proxies for 1 SNPs in outcome ukb-b-11348
## Extracting data for 1 SNP(s) from 1 GWAS(s)
## Harmonising Number of children || id:ieu-b-4760 (ieu-b-4760) and Bread intake || id:ukb-b-11348 (ukb-b-11348)
d_mr<-mr(d)
## Analysing 'ieu-b-4760' on 'ukb-b-11348'
d_mr
##   id.exposure  id.outcome                        outcome
## 1  ieu-b-4760 ukb-b-11348 Bread intake || id:ukb-b-11348
## 2  ieu-b-4760 ukb-b-11348 Bread intake || id:ukb-b-11348
## 3  ieu-b-4760 ukb-b-11348 Bread intake || id:ukb-b-11348
## 4  ieu-b-4760 ukb-b-11348 Bread intake || id:ukb-b-11348
## 5  ieu-b-4760 ukb-b-11348 Bread intake || id:ukb-b-11348
##                              exposure                    method nsnp          b
## 1 Number of children || id:ieu-b-4760                  MR Egger    8 -0.8185228
## 2 Number of children || id:ieu-b-4760           Weighted median    8 -0.1452872
## 3 Number of children || id:ieu-b-4760 Inverse variance weighted    8 -0.2992869
## 4 Number of children || id:ieu-b-4760               Simple mode    8 -0.1202853
## 5 Number of children || id:ieu-b-4760             Weighted mode    8 -0.1116956
##           se        pval
## 1 0.67959966 0.273777906
## 2 0.08885562 0.102029612
## 3 0.11451056 0.008958909
## 4 0.15062358 0.450772470
## 5 0.11806504 0.375625839
mr_scatter_plot(d_mr,d)
## $`ieu-b-4760.ukb-b-11348`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure  id.outcome
## 1  ieu-b-4760 ukb-b-11348

Bread intake seems to be reverse causal.

Cereal: Other

d <- make_dat("ukb-d-1468_5", "ieu-b-4760")
## Extracting data for 11 SNP(s) from 1 GWAS(s)
## Finding proxies for 3 SNPs in outcome ieu-b-4760
## Extracting data for 3 SNP(s) from 1 GWAS(s)
## Harmonising Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5 (ukb-d-1468_5) and Number of children || id:ieu-b-4760 (ieu-b-4760)
d_mr<-mr(d)
## Analysing 'ukb-d-1468_5' on 'ieu-b-4760'
d_mr
##    id.exposure id.outcome                             outcome
## 1 ukb-d-1468_5 ieu-b-4760 Number of children || id:ieu-b-4760
## 2 ukb-d-1468_5 ieu-b-4760 Number of children || id:ieu-b-4760
## 3 ukb-d-1468_5 ieu-b-4760 Number of children || id:ieu-b-4760
## 4 ukb-d-1468_5 ieu-b-4760 Number of children || id:ieu-b-4760
## 5 ukb-d-1468_5 ieu-b-4760 Number of children || id:ieu-b-4760
##                                                            exposure
## 1 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 2 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 3 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 4 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 5 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
##                      method nsnp          b         se        pval
## 1                  MR Egger   17 0.80463799 0.51728698 0.140671052
## 2           Weighted median   17 0.11710895 0.10913689 0.283250301
## 3 Inverse variance weighted   17 0.24882086 0.07902116 0.001639492
## 4               Simple mode   17 0.02827124 0.20121811 0.890018192
## 5             Weighted mode   17 0.03804201 0.19621045 0.848707046
mr_scatter_plot(d_mr,d)
## $`ukb-d-1468_5.ieu-b-4760`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##    id.exposure id.outcome
## 1 ukb-d-1468_5 ieu-b-4760
d <- make_dat("ieu-b-4760", "ukb-d-1468_5")
## Warning in .fun(piece, ...): Duplicated SNPs present in exposure data for phenotype 'Number of children || id:ieu-b-4760. Just keeping the first instance:
## rs6800021
## rs6782190
## rs4870063
## rs10270358
## rs201945769
## rs2360806
## rs72687493
## rs62054570
## rs2957316
## Extracting data for 9 SNP(s) from 1 GWAS(s)
## Finding proxies for 1 SNPs in outcome ukb-d-1468_5
## Extracting data for 1 SNP(s) from 1 GWAS(s)
## Harmonising Number of children || id:ieu-b-4760 (ieu-b-4760) and Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5 (ukb-d-1468_5)
d_mr<-mr(d)
## Analysing 'ieu-b-4760' on 'ukb-d-1468_5'
d_mr
##   id.exposure   id.outcome
## 1  ieu-b-4760 ukb-d-1468_5
## 2  ieu-b-4760 ukb-d-1468_5
## 3  ieu-b-4760 ukb-d-1468_5
## 4  ieu-b-4760 ukb-d-1468_5
## 5  ieu-b-4760 ukb-d-1468_5
##                                                             outcome
## 1 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 2 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 3 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 4 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
## 5 Cereal type: Other (e.g. Cornflakes, Frosties) || id:ukb-d-1468_5
##                              exposure                    method nsnp
## 1 Number of children || id:ieu-b-4760                  MR Egger    8
## 2 Number of children || id:ieu-b-4760           Weighted median    8
## 3 Number of children || id:ieu-b-4760 Inverse variance weighted    8
## 4 Number of children || id:ieu-b-4760               Simple mode    8
## 5 Number of children || id:ieu-b-4760             Weighted mode    8
##             b         se      pval
## 1 -0.50080117 0.35235237 0.2050559
## 2 -0.03785676 0.04396574 0.3892097
## 3  0.04098139 0.06708972 0.5413025
## 4 -0.03622771 0.05859199 0.5559501
## 5 -0.06002203 0.04278901 0.2034552
mr_scatter_plot(d_mr,d)
## $`ieu-b-4760.ukb-d-1468_5`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure   id.outcome
## 1  ieu-b-4760 ukb-d-1468_5

Food intake seems to be somewhat related to number of children, but it isn’t massively strong and there’s some evidence of reverse causality.