Never smoker | Cigarette | Former smoker | Alternative smoker | Secondhand | |
---|---|---|---|---|---|
n | 43 | 86 | 43 | 49 | 38 |
GENDER = Female (%) | 28 (65.1) | 45 (52.3) | 25 (58.1) | 22 (44.9) | 22 (57.9) |
RACE (%) | |||||
Non-Hispanic White | 13 (30.2) | 24 (27.9) | 25 (58.1) | 19 (38.8) | 10 (26.3) |
Non-Hispanic Black | 13 (30.2) | 33 (38.4) | 4 ( 9.3) | 9 (18.4) | 11 (28.9) |
Hispanic | 10 (23.3) | 19 (22.1) | 10 (23.3) | 12 (24.5) | 14 (36.8) |
Asian | 3 ( 7.0) | 9 (10.5) | 3 ( 7.0) | 3 ( 6.1) | 2 ( 5.3) |
Other | 4 ( 9.3) | 1 ( 1.2) | 1 ( 2.3) | 6 (12.2) | 1 ( 2.6) |
EDU4CAT (%) | |||||
College graduate or more | 16 (37.2) | 18 (20.9) | 21 (48.8) | 17 (34.7) | 9 (23.7) |
Less than High school diploma | 8 (18.6) | 24 (27.9) | 4 ( 9.3) | 10 (20.4) | 14 (36.8) |
High school graduate/GED | 7 (16.3) | 24 (27.9) | 8 (18.6) | 11 (22.4) | 10 (26.3) |
Some College or associate’s degree | 12 (27.9) | 20 (23.3) | 10 (23.3) | 11 (22.4) | 5 (13.2) |
SPAGE (mean (sd)) | 45.42 (16.50) | 45.85 (13.07) | 55.47 (18.00) | 35.59 (16.44) | 37.76 (14.70) |
AGEGRP5C (%) | |||||
20-29 | 7 (16.3) | 10 (11.6) | 3 ( 7.0) | 26 (53.1) | 14 (36.8) |
30-39 | 11 (25.6) | 17 (19.8) | 7 (16.3) | 8 (16.3) | 11 (28.9) |
40-49 | 10 (23.3) | 25 (29.1) | 7 (16.3) | 4 ( 8.2) | 3 ( 7.9) |
50-59 | 6 (14.0) | 19 (22.1) | 8 (18.6) | 7 (14.3) | 6 (15.8) |
60 AND OVER | 9 (20.9) | 15 (17.4) | 18 (41.9) | 4 ( 8.2) | 4 (10.5) |
DBTS_NEW (%) | |||||
Yes | 5 (11.6) | 5 ( 5.8) | 7 (16.3) | 3 ( 6.1) | 2 ( 5.3) |
No | 38 (88.4) | 81 (94.2) | 36 (83.7) | 38 (77.6) | 36 (94.7) |
NA | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | 8 (16.3) | 0 ( 0.0) |
SR_ACTIVE (%) | |||||
Very active | 15 (34.9) | 27 (31.4) | 11 (25.6) | 16 (32.7) | 17 (44.7) |
Somewhat active | 20 (46.5) | 37 (43.0) | 20 (46.5) | 25 (51.0) | 15 (39.5) |
Not very active/not active at all | 8 (18.6) | 22 (25.6) | 12 (27.9) | 8 (16.3) | 6 (15.8) |
INC25KMOD (%) | |||||
Less Than $20,000 | 5 (11.6) | 31 (36.0) | 8 (18.6) | 20 (40.8) | 14 (36.8) |
$20,000-$49,999 | 15 (34.9) | 20 (23.3) | 9 (20.9) | 14 (28.6) | 9 (23.7) |
$50,000-$74,999 | 6 (14.0) | 11 (12.8) | 3 ( 7.0) | 6 (12.2) | 4 (10.5) |
$75,000-$99,999 | 8 (18.6) | 4 ( 4.7) | 6 (14.0) | 4 ( 8.2) | 2 ( 5.3) |
$100,000 or More | 6 (14.0) | 11 (12.8) | 13 (30.2) | 2 ( 4.1) | 6 (15.8) |
NA | 3 ( 7.0) | 9 (10.5) | 4 ( 9.3) | 3 ( 6.1) | 3 ( 7.9) |
COTININE (median [IQR]) | 0.04 [0.04, 0.04] | 271.49 [189.99, 360.99] | 0.04 [0.04, 0.04] | 10.54 [0.28, 55.36] | 3.01 [1.39, 5.48] |
OHQ_3 (%) | |||||
Yes | 4 ( 9.3) | 9 (10.5) | 5 (11.6) | 4 ( 8.2) | 4 (10.5) |
No | 39 (90.7) | 76 (88.4) | 38 (88.4) | 45 (91.8) | 34 (89.5) |
NA | 0 ( 0.0) | 1 ( 1.2) | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) |
## Df Sum Sq Mean Sq F value Pr(>F)
## smokingstatus 4 0.09 0.02162 0.168 0.954
## Residuals 254 32.62 0.12841
## Df Sum Sq Mean Sq F value Pr(>F)
## smokingstatus 4 34597 8649 2.12 0.0788 .
## Residuals 254 1036314 4080
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Df Sum Sq Mean Sq F value Pr(>F)
## smokingstatus 4 74507 18627 1.33 0.259
## Residuals 254 3556471 14002
contrast | r2 | pvalue |
---|---|---|
Never smoker vs Cigarette | 0.0564604 | 0.001 |
Cigarette vs Former smoker | 0.0381748 | 0.001 |
Cigarette vs Secondhand | 0.0355005 | 0.004 |
Cigarette vs Alternative smoker | 0.0292579 | 0.011 |
Never smoker vs Secondhand | 0.0254668 | 0.093 |
Never smoker vs Former smoker | 0.0185571 | 0.183 |
Former smoker vs Alternative smoker | 0.0143877 | 0.233 |
Former smoker vs Secondhand | 0.0125519 | 0.400 |
Never smoker vs Alternative smoker | 0.0089308 | 0.512 |
Alternative smoker vs Secondhand | 0.0089586 | 0.512 |
##
## Call:
## vegan::adonis(formula = distwu_2cat ~ COTININE, data = metadata_2cat)
##
## Permutation: free
## Number of permutations: 999
##
## Terms added sequentially (first to last)
##
## Df SumsOfSqs MeanSqs F.Model R2 Pr(>F)
## COTININE 1 0.04880 0.048796 6.7095 0.05018 0.001 ***
## Residuals 127 0.92364 0.007273 0.94982
## Total 128 0.97244 1.00000
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Call:
## vegan::adonis(formula = distwu_3cat ~ smokingstatus + RACE + GENDER + AGEGRP4C + SR_ACTIVE + EDU3CAT + DBTS_NEW, data = metadata_3cat)
##
## Permutation: free
## Number of permutations: 999
##
## Terms added sequentially (first to last)
##
## Df SumsOfSqs MeanSqs F.Model R2 Pr(>F)
## smokingstatus 2 0.15426 0.077132 5.2045 0.05658 0.001 ***
## RACE 4 0.08734 0.021835 1.4733 0.03204 0.106
## GENDER 1 0.02819 0.028195 1.9024 0.01034 0.095 .
## AGEGRP4C 1 0.03677 0.036774 2.4813 0.01349 0.045 *
## SR_ACTIVE 2 0.03089 0.015445 1.0421 0.01133 0.394
## EDU3CAT 2 0.03429 0.017143 1.1567 0.01258 0.290
## DBTS_NEW 1 0.01293 0.012933 0.8727 0.00474 0.479
## Residuals 158 2.34162 0.014820 0.85890
## Total 171 2.72630 1.00000
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Call:
## vegan::adonis(formula = distwu ~ smokingstatus, data = metadata)
##
## Permutation: free
## Number of permutations: 999
##
## Terms added sequentially (first to last)
##
## Df SumsOfSqs MeanSqs F.Model R2 Pr(>F)
## smokingstatus 4 0.2913 0.072835 3.2575 0.0488 0.001 ***
## Residuals 254 5.6793 0.022360 0.9512
## Total 258 5.9707 1.0000
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
DESeq2 is presented as sensitivity analysis. Main results are calculated by edgeR.
A function for merging smoking and cotinine edgeR results:
And a plotting function:
Two thresholds for serum cotinine:
## [1] 1.0022 1.0394 1.0418 1.0715 1.0915 1.2015 1.2282 1.2718 1.3822
## [10] 1.3822 1.4094 1.5315 1.6918 2.0094 2.5994 2.6759 2.8020 2.9394
## [19] 2.9720 3.0459 3.1082 3.1722 3.4715 3.8394 4.3418 4.5294 4.5394
## [28] 4.7522 5.7220 6.3118 7.1315 7.7382 9.1118 9.6415 10.2922 10.6920
## [37] 10.7915 13.7894
## Mode FALSE TRUE
## logical 34 4
Number of OTUs with FDR < 0.05 and total that passed non-specific screens in both analysis:
## Mode FALSE TRUE
## logical 93 28
## Mode FALSE TRUE
## logical 87 27
Correlation between crude smoking and cotinine coefficients, all OTUs:
Strict definition of second-hand smoke:
Correlation between crude smoking and cotinine coefficients, FDR < 0.05 in smoking:
All OTUs, black for FDR < 0.05 on smoking coefficients, grey for FDR >= 0.05
Repeat, using the strict definition of second-hand smokers (cotinine < 10)
Number of differentially abundant OTUs, and total
## [1] 121
## Mode FALSE TRUE
## logical 63 58
## Mode FALSE TRUE
## logical 38 83
Correlation between adjusted smoking and cotinine coefficients, all OTUs:
As above, using strict serum cotinine cutoff (<10)
Correlation between adjusted smoking and cotinine coefficients, FDR < 0.05 in smoking:
##
## Pearson's product-moment correlation
##
## data: logFC_smoking and logFC_cotinine
## t = 3.8131, df = 17, p-value = 0.001391
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.3249855 0.8660843
## sample estimates:
## cor
## 0.6789709
Sensitivity analysis:
## , , FDRcutoff = no
##
## counfounding
## secondhand crude adjusted
## cot14 0.4 0.28
## cot10 0.4 0.34
##
## , , FDRcutoff = yes
##
## counfounding
## secondhand crude adjusted
## cot14 NA 0.34
## cot10 0 NA
## , , FDRcutoff = no
##
## counfounding
## secondhand crude adjusted
## cot14 5e-06 2e-03
## cot10 9e-06 3e-04
##
## , , FDRcutoff = yes
##
## counfounding
## secondhand crude adjusted
## cot14 NA 3e-04
## cot10 0.6 NA
Repeat, using the strict definition of second-hand smokers (cotinine < 10)
## [1] "No results"
## $tab
##
## Enriched in smokers p0 Depleted in smokers
## OTU is aerobic 23 0.0362776 55
## OTU is not aerobic 611 0.9637224 457
##
## p1 oddsratio lower upper p.value
## OTU is aerobic 0.1074219 1.0000000 NA NA NA
## OTU is not aerobic 0.8925781 0.3127808 0.1894164 0.5164911 2.682452e-06
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
## $tab
##
## Enriched in smokers p0 Depleted in smokers
## OTU is anaerobic 407 0.6419558 266
## OTU is not anaerobic 227 0.3580442 246
##
## p1 oddsratio lower upper p.value
## OTU is anaerobic 0.5195312 1.000000 NA NA NA
## OTU is not anaerobic 0.4804688 1.658143 1.307573 2.102704 3.107853e-05
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
## $tab
##
## Enriched in smokers p0 Depleted in smokers
## OTU is F Anaerobic 204 0.3217666 191
## OTU is not F Anaerobic 430 0.6782334 321
##
## p1 oddsratio lower upper p.value
## OTU is F Anaerobic 0.3730469 1.0000000 NA NA NA
## OTU is not F Anaerobic 0.6269531 0.7973213 0.624298 1.018298 0.07029177
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
## DataFrame with 3 rows and 4 columns
## GENE.SET ES NES PVAL
## <character> <numeric> <numeric> <numeric>
## 1 aero -0.825 -1.72 0.00436
## 2 anae 0.333 0.887 0.569
## 3 fana -0.24 -0.77 0.742
## 100 permutations completed
## 200 permutations completed
## 300 permutations completed
## 400 permutations completed
## 500 permutations completed
## 600 permutations completed
## 700 permutations completed
## 800 permutations completed
## 900 permutations completed
## 1000 permutations completed
## DataFrame with 3 rows and 4 columns
## GENE.SET GLOB.STAT NGLOB.STAT PVAL
## <character> <numeric> <numeric> <numeric>
## 1 aero 7 0.636 0.003
## 2 fana 8 0.154 0.567
## 3 anae 11 0.126 0.908
## DataFrame with 3 rows and 4 columns
## GENE.SET ES NES PVAL
## <character> <numeric> <numeric> <numeric>
## 1 anae 0.576 1.42 0.115
## 2 fana -0.405 -1.29 0.205
## 3 aero 0.429 0.932 0.538
## 100 permutations completed
## 200 permutations completed
## 300 permutations completed
## 400 permutations completed
## 500 permutations completed
## 600 permutations completed
## 700 permutations completed
## 800 permutations completed
## 900 permutations completed
## 1000 permutations completed
## DataFrame with 3 rows and 4 columns
## GENE.SET GLOB.STAT NGLOB.STAT PVAL
## <character> <numeric> <numeric> <numeric>
## 1 aero 0 0 0.001
## 2 anae 0 0 0.001
## 3 fana 0 0 0.001
## Estimating GSVA scores for 3 gene sets.
## Computing observed enrichment scores
## Estimating ECDFs with Gaussian kernels
## Using parallel with 1 cores
##
|
| | 0%
|
|====================== | 33%
|
|============================================= | 67%
|
|===================================================================| 100%
## logFC AveExpr t P.Value adj.P.Val B
## aero 0.0049390950 0.063396833 0.8947032 0.3756454 0.6151923 -7.392942
## anae 0.0029017486 -0.003614764 0.8313163 0.4101282 0.6151923 -7.447853
## fana 0.0007153343 0.034927979 0.1784040 0.8591962 0.8591962 -7.781513
## Estimating GSVA scores for 3 gene sets.
## Computing observed enrichment scores
## Estimating ECDFs with Gaussian kernels
## Using parallel with 1 cores
##
|
| | 0%
|
|====================== | 33%
|
|============================================= | 67%
|
|===================================================================| 100%
## logFC AveExpr t P.Value adj.P.Val B
## anae 9.312388e-05 0.01061843 2.635005 0.009409142 0.02519808 -8.951131
## fana -1.031180e-04 -0.02637825 -2.421534 0.016798721 0.02519808 -9.469995
## aero 9.331210e-05 0.10299623 1.397472 0.164590432 0.16459043 -11.384173
## DataFrame with 3 rows and 4 columns
## GENE.SET ES NES PVAL
## <character> <numeric> <numeric> <numeric>
## 1 fana -0.489 -1.65 0.0359
## 2 anae 0.404 1.12 0.331
## 3 aero 0.311 0.726 0.799
## DataFrame with 3 rows and 4 columns
## GENE.SET NR.GENES NR.SIG.GENES PVAL
## <character> <numeric> <numeric> <numeric>
## 1 anae 87 4 0.281
## 2 fana 53 1 0.885
## 3 aero 13 0 1
## DataFrame with 3 rows and 4 columns
## GENE.SET ES NES PVAL
## <character> <numeric> <numeric> <numeric>
## 1 fana -0.514 -1.71 0.0253
## 2 aero 0.541 1.18 0.267
## 3 anae 0.351 1.03 0.418
## DataFrame with 3 rows and 4 columns
## GENE.SET NR.GENES NR.SIG.GENES PVAL
## <character> <numeric> <numeric> <numeric>
## 1 fana 50 1 0.566
## 2 anae 84 1 0.818
## 3 aero 13 0 1
## DataFrame with 3 rows and 4 columns
## GENE.SET ES NES PVAL
## <character> <numeric> <numeric> <numeric>
## 1 aero -0.697 -1.56 0.0405
## 2 fana -0.219 -0.747 0.813
## 3 anae 0.241 0.678 0.851
## DataFrame with 3 rows and 4 columns
## GENE.SET NR.GENES NR.SIG.GENES PVAL
## <character> <numeric> <numeric> <numeric>
## 1 anae 86 0 1
## 2 fana 53 0 1
## 3 aero 13 0 1
## R version 3.5.2 (2018-12-20)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Debian GNU/Linux 9 (stretch)
##
## Matrix products: default
## BLAS: /usr/lib/openblas-base/libblas.so.3
## LAPACK: /usr/lib/libopenblasp-r0.2.19.so
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=C
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## attached base packages:
## [1] stats4 parallel stats graphics grDevices utils datasets
## [8] methods base
##
## other attached packages:
## [1] DESeq2_1.22.2 bindrcpp_0.2.2
## [3] nychanesmicrobiome_0.1.2 kableExtra_1.0.1
## [5] sas7bdat_0.5 lsr_0.5
## [7] phyloseq_1.26.1 edgeR_3.24.3
## [9] limma_3.38.3 EnrichmentBrowser_2.12.1
## [11] graph_1.60.0 SummarizedExperiment_1.12.0
## [13] DelayedArray_0.8.0 BiocParallel_1.16.5
## [15] matrixStats_0.54.0 Biobase_2.42.0
## [17] GenomicRanges_1.34.0 GenomeInfoDb_1.18.1
## [19] IRanges_2.16.0 S4Vectors_0.20.1
## [21] BiocGenerics_0.28.0 magrittr_1.5
## [23] tidyr_0.8.2 ggplot2_3.1.0
## [25] dplyr_0.7.8 BiocStyle_2.10.0
## [27] BiocManager_1.30.4
##
## loaded via a namespace (and not attached):
## [1] circlize_0.4.5 backports_1.1.3 Hmisc_4.1-1
## [4] plyr_1.8.4 igraph_1.2.3 lazyeval_0.2.1
## [7] GSEABase_1.44.0 splines_3.5.2 digest_0.6.18
## [10] foreach_1.4.4 htmltools_0.3.6 checkmate_1.9.1
## [13] memoise_1.1.0 cluster_2.0.7-1 ComplexHeatmap_1.20.0
## [16] Biostrings_2.50.2 readr_1.3.1 annotate_1.60.0
## [19] R.utils_2.7.0 colorspace_1.4-0 blob_1.1.1
## [22] rvest_0.3.2 rappdirs_0.3.1 haven_2.0.0
## [25] xfun_0.4 crayon_1.3.4 RCurl_1.95-4.11
## [28] jsonlite_1.6 genefilter_1.64.0 bindr_0.1.1
## [31] survival_2.43-3 zoo_1.8-4 iterators_1.0.10
## [34] ape_5.2 glue_1.3.0 gtable_0.2.0
## [37] zlibbioc_1.28.0 XVector_0.22.0 webshot_0.5.1
## [40] GetoptLong_0.1.7 Rhdf5lib_1.4.2 shape_1.4.4
## [43] SparseM_1.77 scales_1.0.0 DBI_1.0.0
## [46] Rcpp_1.0.0 viridisLite_0.3.0 xtable_1.8-3
## [49] htmlTable_1.13.1 foreign_0.8-71 bit_1.1-14
## [52] Formula_1.2-3 GSVA_1.30.0 survey_3.35-1
## [55] htmlwidgets_1.3 httr_1.4.0 RColorBrewer_1.1-2
## [58] acepack_1.4.1 pkgconfig_2.0.2 XML_3.98-1.16
## [61] R.methodsS3_1.7.1 nnet_7.3-12 locfit_1.5-9.1
## [64] later_0.7.5 tidyselect_0.2.5 labeling_0.3
## [67] rlang_0.3.1 reshape2_1.4.3 AnnotationDbi_1.44.0
## [70] munsell_0.5.0 tools_3.5.2 RSQLite_2.1.1
## [73] ade4_1.7-13 evaluate_0.12 biomformat_1.10.1
## [76] stringr_1.3.1 yaml_2.2.0 knitr_1.21
## [79] bit64_0.9-7 purrr_0.2.5 nlme_3.1-137
## [82] mime_0.6 R.oo_1.22.0 KEGGgraph_1.42.0
## [85] xml2_1.2.0 shinythemes_1.1.2 compiler_3.5.2
## [88] rstudioapi_0.9.0 e1071_1.7-0.1 statmod_1.4.30
## [91] tibble_2.0.1 geneplotter_1.60.0 stringi_1.2.4
## [94] highr_0.7 forcats_0.3.0 lattice_0.20-38
## [97] Matrix_1.2-15 vegan_2.5-3 permute_0.9-4
## [100] multtest_2.38.0 pillar_1.3.1 GlobalOptions_0.1.0
## [103] data.table_1.12.0 bitops_1.0-6 httpuv_1.4.5.1
## [106] R6_2.3.0 latticeExtra_0.6-28 promises_1.0.1
## [109] bookdown_0.9 gridExtra_2.3 codetools_0.2-15
## [112] MASS_7.3-51.1 assertthat_0.2.0 rhdf5_2.26.2
## [115] rjson_0.2.20 safe_3.22.0 withr_2.1.2
## [118] GenomeInfoDbData_1.2.0 mgcv_1.8-26 hms_0.4.2
## [121] grid_3.5.2 rpart_4.1-13 labelled_2.0.2
## [124] tableone_0.9.3 class_7.3-14 rmarkdown_1.11
## [127] shiny_1.2.0 base64enc_0.1-3 epitools_0.5-10