Investigating smoking and alcohol consumption in relation to number of children fathered

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

Alcohol intake frequency

d <- make_dat("ukb-b-5779", "ukb-b-2227")
## API: public: http://gwas-api.mrcieu.ac.uk/
## Extracting data for 99 SNP(s) from 1 GWAS(s)
## Harmonising Alcohol intake frequency. || id:ukb-b-5779 (ukb-b-5779) and Number of children fathered || id:ukb-b-2227 (ukb-b-2227)
## Removing the following SNPs for incompatible alleles:
## rs9958320
d_mr<-mr(d)
## Analysing 'ukb-b-5779' on 'ukb-b-2227'
d_mr
##   id.exposure id.outcome                                      outcome
## 1  ukb-b-5779 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 2  ukb-b-5779 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 3  ukb-b-5779 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 4  ukb-b-5779 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 5  ukb-b-5779 ukb-b-2227 Number of children fathered || id:ukb-b-2227
##                                     exposure                    method nsnp
## 1 Alcohol intake frequency. || id:ukb-b-5779                  MR Egger   99
## 2 Alcohol intake frequency. || id:ukb-b-5779           Weighted median   99
## 3 Alcohol intake frequency. || id:ukb-b-5779 Inverse variance weighted   99
## 4 Alcohol intake frequency. || id:ukb-b-5779               Simple mode   99
## 5 Alcohol intake frequency. || id:ukb-b-5779             Weighted mode   99
##             b         se       pval
## 1 0.027365869 0.03778629 0.47066933
## 2 0.037958397 0.01892871 0.04492726
## 3 0.009470962 0.01669489 0.57051232
## 4 0.052337460 0.06395338 0.41513201
## 5 0.052337460 0.03227304 0.10807884
mr_scatter_plot(d_mr,d)
## $`ukb-b-5779.ukb-b-2227`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure id.outcome
## 1  ukb-b-5779 ukb-b-2227
d <- make_dat("ukb-b-2227", "ukb-b-5779")
## Extracting data for 3 SNP(s) from 1 GWAS(s)
## Harmonising Number of children fathered || id:ukb-b-2227 (ukb-b-2227) and Alcohol intake frequency. || id:ukb-b-5779 (ukb-b-5779)
d_mr<-mr(d)
## Analysing 'ukb-b-2227' on 'ukb-b-5779'
d_mr
##   id.exposure id.outcome                                    outcome
## 1  ukb-b-2227 ukb-b-5779 Alcohol intake frequency. || id:ukb-b-5779
## 2  ukb-b-2227 ukb-b-5779 Alcohol intake frequency. || id:ukb-b-5779
## 3  ukb-b-2227 ukb-b-5779 Alcohol intake frequency. || id:ukb-b-5779
## 4  ukb-b-2227 ukb-b-5779 Alcohol intake frequency. || id:ukb-b-5779
## 5  ukb-b-2227 ukb-b-5779 Alcohol intake frequency. || id:ukb-b-5779
##                                       exposure                    method nsnp
## 1 Number of children fathered || id:ukb-b-2227                  MR Egger    3
## 2 Number of children fathered || id:ukb-b-2227           Weighted median    3
## 3 Number of children fathered || id:ukb-b-2227 Inverse variance weighted    3
## 4 Number of children fathered || id:ukb-b-2227               Simple mode    3
## 5 Number of children fathered || id:ukb-b-2227             Weighted mode    3
##            b        se       pval
## 1 -3.4878931 5.5672077 0.64369532
## 2 -0.4264251 0.1781025 0.01665358
## 3 -0.6318947 0.2521907 0.01222361
## 4 -0.3655159 0.2309395 0.25431002
## 5 -0.3276714 0.1958141 0.23622604
mr_scatter_plot(d_mr,d)
## $`ukb-b-2227.ukb-b-5779`

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

No evidence of an effect, perhaps a reverse effect though? Hab=ving more children -> lower alcohol consumption?

Past tobacco smoking

Note this is coded from 1=Smoke most or all days through to 4=Never smoked

d <- make_dat("ukb-b-2134", "ukb-b-2227")
## Extracting data for 101 SNP(s) from 1 GWAS(s)
## Harmonising Past tobacco smoking || id:ukb-b-2134 (ukb-b-2134) and Number of children fathered || id:ukb-b-2227 (ukb-b-2227)
d_mr<-mr(d)
## Analysing 'ukb-b-2134' on 'ukb-b-2227'
d_mr
##   id.exposure id.outcome                                      outcome
## 1  ukb-b-2134 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 2  ukb-b-2134 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 3  ukb-b-2134 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 4  ukb-b-2134 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 5  ukb-b-2134 ukb-b-2227 Number of children fathered || id:ukb-b-2227
##                                exposure                    method nsnp
## 1 Past tobacco smoking || id:ukb-b-2134                  MR Egger  101
## 2 Past tobacco smoking || id:ukb-b-2134           Weighted median  101
## 3 Past tobacco smoking || id:ukb-b-2134 Inverse variance weighted  101
## 4 Past tobacco smoking || id:ukb-b-2134               Simple mode  101
## 5 Past tobacco smoking || id:ukb-b-2134             Weighted mode  101
##             b         se         pval
## 1 -0.02918421 0.08908932 0.7439181776
## 2 -0.04907219 0.02377218 0.0389921558
## 3 -0.06899922 0.02075173 0.0008842298
## 4  0.04885735 0.06836816 0.4765079406
## 5  0.02969393 0.05374685 0.5818539871
mr_scatter_plot(d_mr,d)
## $`ukb-b-2134.ukb-b-2227`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure id.outcome
## 1  ukb-b-2134 ukb-b-2227
d <- make_dat("ukb-b-2227", "ukb-b-2134")
## Extracting data for 3 SNP(s) from 1 GWAS(s)
## Harmonising Number of children fathered || id:ukb-b-2227 (ukb-b-2227) and Past tobacco smoking || id:ukb-b-2134 (ukb-b-2134)
d_mr<-mr(d)
## Analysing 'ukb-b-2227' on 'ukb-b-2134'
d_mr
##   id.exposure id.outcome                               outcome
## 1  ukb-b-2227 ukb-b-2134 Past tobacco smoking || id:ukb-b-2134
## 2  ukb-b-2227 ukb-b-2134 Past tobacco smoking || id:ukb-b-2134
## 3  ukb-b-2227 ukb-b-2134 Past tobacco smoking || id:ukb-b-2134
## 4  ukb-b-2227 ukb-b-2134 Past tobacco smoking || id:ukb-b-2134
## 5  ukb-b-2227 ukb-b-2134 Past tobacco smoking || id:ukb-b-2134
##                                       exposure                    method nsnp
## 1 Number of children fathered || id:ukb-b-2227                  MR Egger    3
## 2 Number of children fathered || id:ukb-b-2227           Weighted median    3
## 3 Number of children fathered || id:ukb-b-2227 Inverse variance weighted    3
## 4 Number of children fathered || id:ukb-b-2227               Simple mode    3
## 5 Number of children fathered || id:ukb-b-2227             Weighted mode    3
##            b         se      pval
## 1 -2.5649722 13.5803765 0.8811594
## 2 -0.2827046  0.1885681 0.1338172
## 3 -0.3847496  0.5543741 0.4876664
## 4 -0.6585398  0.2928764 0.1535086
## 5 -0.4684484  0.5400551 0.4771609
mr_scatter_plot(d_mr,d)
## $`ukb-b-2227.ukb-b-2134`

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

Never smoked

d <- make_dat("ukb-d-20116_0", "ukb-b-2227")
## Extracting data for 84 SNP(s) from 1 GWAS(s)
## Finding proxies for 12 SNPs in outcome ukb-b-2227
## Extracting data for 12 SNP(s) from 1 GWAS(s)
## Harmonising Smoking status: Never || id:ukb-d-20116_0 (ukb-d-20116_0) and Number of children fathered || id:ukb-b-2227 (ukb-b-2227)
d_mr<-mr(d)
## Analysing 'ukb-d-20116_0' on 'ukb-b-2227'
d_mr
##     id.exposure id.outcome                                      outcome
## 1 ukb-d-20116_0 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 2 ukb-d-20116_0 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 3 ukb-d-20116_0 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 4 ukb-d-20116_0 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 5 ukb-d-20116_0 ukb-b-2227 Number of children fathered || id:ukb-b-2227
##                                    exposure                    method nsnp
## 1 Smoking status: Never || id:ukb-d-20116_0                  MR Egger   79
## 2 Smoking status: Never || id:ukb-d-20116_0           Weighted median   79
## 3 Smoking status: Never || id:ukb-d-20116_0 Inverse variance weighted   79
## 4 Smoking status: Never || id:ukb-d-20116_0               Simple mode   79
## 5 Smoking status: Never || id:ukb-d-20116_0             Weighted mode   79
##            b         se       pval
## 1 -0.1433703 0.23172381 0.53793209
## 2 -0.1441681 0.06327015 0.02269020
## 3 -0.1265446 0.05083989 0.01280738
## 4  0.1642627 0.18597581 0.37981669
## 5  0.1251458 0.12434746 0.31732561
mr_scatter_plot(d_mr,d)
## $`ukb-d-20116_0.ukb-b-2227`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##     id.exposure id.outcome
## 1 ukb-d-20116_0 ukb-b-2227
d <- make_dat("ukb-b-2227", "ukb-d-20116_0")
## Extracting data for 3 SNP(s) from 1 GWAS(s)
## Harmonising Number of children fathered || id:ukb-b-2227 (ukb-b-2227) and Smoking status: Never || id:ukb-d-20116_0 (ukb-d-20116_0)
d_mr<-mr(d)
## Analysing 'ukb-b-2227' on 'ukb-d-20116_0'
d_mr
##   id.exposure    id.outcome                                   outcome
## 1  ukb-b-2227 ukb-d-20116_0 Smoking status: Never || id:ukb-d-20116_0
## 2  ukb-b-2227 ukb-d-20116_0 Smoking status: Never || id:ukb-d-20116_0
## 3  ukb-b-2227 ukb-d-20116_0 Smoking status: Never || id:ukb-d-20116_0
## 4  ukb-b-2227 ukb-d-20116_0 Smoking status: Never || id:ukb-d-20116_0
## 5  ukb-b-2227 ukb-d-20116_0 Smoking status: Never || id:ukb-d-20116_0
##                                       exposure                    method nsnp
## 1 Number of children fathered || id:ukb-b-2227                  MR Egger    3
## 2 Number of children fathered || id:ukb-b-2227           Weighted median    3
## 3 Number of children fathered || id:ukb-b-2227 Inverse variance weighted    3
## 4 Number of children fathered || id:ukb-b-2227               Simple mode    3
## 5 Number of children fathered || id:ukb-b-2227             Weighted mode    3
##              b         se      pval
## 1 -2.557948835 6.09258944 0.7469455
## 2  0.006365123 0.07465502 0.9320543
## 3 -0.173510543 0.26409667 0.5111833
## 4  0.027269215 0.09903654 0.8088902
## 5  0.080097479 0.06622146 0.3500279
mr_scatter_plot(d_mr,d)
## $`ukb-b-2227.ukb-d-20116_0`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure    id.outcome
## 1  ukb-b-2227 ukb-d-20116_0

Current tabacco smoking

d <- make_dat("ukb-b-223", "ukb-b-2227")
## Extracting data for 35 SNP(s) from 1 GWAS(s)
## Harmonising Current tobacco smoking || id:ukb-b-223 (ukb-b-223) and Number of children fathered || id:ukb-b-2227 (ukb-b-2227)
d_mr<-mr(d)
## Analysing 'ukb-b-223' on 'ukb-b-2227'
d_mr
##   id.exposure id.outcome                                      outcome
## 1   ukb-b-223 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 2   ukb-b-223 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 3   ukb-b-223 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 4   ukb-b-223 ukb-b-2227 Number of children fathered || id:ukb-b-2227
## 5   ukb-b-223 ukb-b-2227 Number of children fathered || id:ukb-b-2227
##                                  exposure                    method nsnp
## 1 Current tobacco smoking || id:ukb-b-223                  MR Egger   35
## 2 Current tobacco smoking || id:ukb-b-223           Weighted median   35
## 3 Current tobacco smoking || id:ukb-b-223 Inverse variance weighted   35
## 4 Current tobacco smoking || id:ukb-b-223               Simple mode   35
## 5 Current tobacco smoking || id:ukb-b-223             Weighted mode   35
##             b         se      pval
## 1 -0.22970000 0.28250594 0.4219997
## 2  0.08034227 0.08257851 0.3305932
## 3  0.05465231 0.07789239 0.4829046
## 4  0.27032229 0.20008422 0.1856046
## 5 -0.07512161 0.15987138 0.6414352
mr_scatter_plot(d_mr,d)
## $`ukb-b-223.ukb-b-2227`

## 
## attr(,"split_type")
## [1] "data.frame"
## attr(,"split_labels")
##   id.exposure id.outcome
## 1   ukb-b-223 ukb-b-2227
d <- make_dat("ukb-b-2227", "ukb-b-223")
## Extracting data for 3 SNP(s) from 1 GWAS(s)
## Harmonising Number of children fathered || id:ukb-b-2227 (ukb-b-2227) and Current tobacco smoking || id:ukb-b-223 (ukb-b-223)
d_mr<-mr(d)
## Analysing 'ukb-b-2227' on 'ukb-b-223'
d_mr
##   id.exposure id.outcome                                 outcome
## 1  ukb-b-2227  ukb-b-223 Current tobacco smoking || id:ukb-b-223
## 2  ukb-b-2227  ukb-b-223 Current tobacco smoking || id:ukb-b-223
## 3  ukb-b-2227  ukb-b-223 Current tobacco smoking || id:ukb-b-223
## 4  ukb-b-2227  ukb-b-223 Current tobacco smoking || id:ukb-b-223
## 5  ukb-b-2227  ukb-b-223 Current tobacco smoking || id:ukb-b-223
##                                       exposure                    method nsnp
## 1 Number of children fathered || id:ukb-b-2227                  MR Egger    3
## 2 Number of children fathered || id:ukb-b-2227           Weighted median    3
## 3 Number of children fathered || id:ukb-b-2227 Inverse variance weighted    3
## 4 Number of children fathered || id:ukb-b-2227               Simple mode    3
## 5 Number of children fathered || id:ukb-b-2227             Weighted mode    3
##             b         se       pval
## 1  1.98374345 4.51066768 0.73622911
## 2 -0.09192754 0.06533601 0.15942844
## 3 -0.09150868 0.20011944 0.64747676
## 4 -0.28094858 0.08950250 0.08825927
## 5 -0.25848545 0.27445946 0.44571170
mr_scatter_plot(d_mr,d)
## $`ukb-b-2227.ukb-b-223`

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

Smoking and SES

Use degree for SES and Past Smoking

d <- mv_extract_exposures(c("ukb-b-16489", "ukb-b-2134"))
## Please look at vignettes for options on running this locally if you need to run many instances of this command.
## Clumping 1, 362 variants, using EUR population reference
## Removing 91 of 362 variants due to LD with other variants or absence from LD reference panel
## Extracting data for 271 SNP(s) from 2 GWAS(s)
## Harmonising Qualifications: College or University degree || id:ukb-b-16489 (ukb-b-16489) and Past tobacco smoking || id:ukb-b-2134 (ukb-b-2134)
## Removing the following SNPs for being palindromic with intermediate allele frequencies:
## rs10931821, rs10934957, rs12534506, rs13425585, rs1913145, rs2478208, rs3751661, rs62477728, rs7047015, rs7596680, rs7624274
o <- extract_outcome_data(d$SNP, "ukb-b-2227")
## Extracting data for 271 SNP(s) from 1 GWAS(s)
d <- mv_harmonise_data(d, o)
## Harmonising Qualifications: College or University degree || id:ukb-b-16489 (ukb-b-16489) and Number of children fathered || id:ukb-b-2227 (ukb-b-2227)
## Removing the following SNPs for being palindromic with intermediate allele frequencies:
## rs10931821, rs10934957, rs12534506, rs13425585, rs1913145, rs2478208, rs3751661, rs62477728, rs7047015, rs7596680, rs7624274
mv_multiple(d)
## $result
##   id.exposure                                                       exposure
## 1 ukb-b-16489 Qualifications: College or University degree || id:ukb-b-16489
## 2  ukb-b-2134                          Past tobacco smoking || id:ukb-b-2134
##   id.outcome                                      outcome nsnp            b
## 1 ukb-b-2227 Number of children fathered || id:ukb-b-2227  209 -0.227093442
## 2 ukb-b-2227 Number of children fathered || id:ukb-b-2227   54 -0.005954257
##           se         pval
## 1 0.03273999 4.025827e-12
## 2 0.02091768 7.759108e-01

Past tobacco smoking effect on number of children fathered is explained by having a degree.