From e14ce80e2b79a67b5824d0cd9b0af8b26fcf70b7 Mon Sep 17 00:00:00 2001 From: "Ian Buller, PhD, MA" Date: Sat, 12 Sep 2020 15:52:38 -0400 Subject: [PATCH] Large initial commit for gateR package One main function gating() Five internal functions rrs() lotrrs() pval_correct() lrr_plot() pval_plot() Full README.md with example using data from {flowWorkspaceData} Full vignette using toy data --- .Rbuildignore | 5 + .gitignore | 12 +- DESCRIPTION | 71 +++++++- LICENSE | 201 --------------------- LICENSE.md | 194 +++++++++++++++++++++ NAMESPACE | 31 +++- R/gating.R | 219 +++++++++++++++++++++++ R/hello.R | 18 -- R/lotrrs.R | 283 ++++++++++++++++++++++++++++++ R/lrr_plot.R | 108 ++++++++++++ R/pval_correct.R | 84 +++++++++ R/pval_plot.R | 49 ++++++ R/rrs.R | 209 ++++++++++++++++++++++ README.md | 168 +++++++++++++++++- build/build.R | 171 ++++++++++++++++++ build/hexsticker_gateR.R | 32 ++++ gateR.Rproj | 19 ++ man/figures/gate1.png | Bin 0 -> 61675 bytes man/figures/gate2.png | Bin 0 -> 62100 bytes man/figures/gateR.png | Bin 0 -> 208305 bytes man/figures/gator.png | Bin 0 -> 66587 bytes man/figures/postgate.png | Bin 0 -> 33179 bytes man/gating.Rd | 123 +++++++++++++ man/hello.Rd | 12 -- man/lotrrs.Rd | 104 +++++++++++ man/lrr_plot.Rd | 43 +++++ man/pval_correct.Rd | 36 ++++ man/pval_plot.Rd | 26 +++ man/rrs.Rd | 93 ++++++++++ vignettes/vignette.Rmd | 367 +++++++++++++++++++++++++++++++++++++++ 30 files changed, 2435 insertions(+), 243 deletions(-) delete mode 100644 LICENSE create mode 100644 LICENSE.md create mode 100644 R/gating.R delete mode 100644 R/hello.R create mode 100644 R/lotrrs.R create mode 100644 R/lrr_plot.R create mode 100644 R/pval_correct.R create mode 100644 R/pval_plot.R create mode 100644 R/rrs.R create mode 100644 build/build.R create mode 100644 build/hexsticker_gateR.R create mode 100644 gateR.Rproj create mode 100644 man/figures/gate1.png create mode 100644 man/figures/gate2.png create mode 100644 man/figures/gateR.png create mode 100644 man/figures/gator.png create mode 100644 man/figures/postgate.png create mode 100644 man/gating.Rd delete mode 100644 man/hello.Rd create mode 100644 man/lotrrs.Rd create mode 100644 man/lrr_plot.Rd create mode 100644 man/pval_correct.Rd create mode 100644 man/pval_plot.Rd create mode 100644 man/rrs.Rd create mode 100644 vignettes/vignette.Rmd diff --git a/.Rbuildignore b/.Rbuildignore index 91114bf..b211b57 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -1,2 +1,7 @@ +^LICENSE\.md$ ^.*\.Rproj$ ^\.Rproj\.user$ +^vignette\.Rmd$ +^build$ +^figures$ +^gator\.png$ diff --git a/.gitignore b/.gitignore index 26fad6f..edf4413 100644 --- a/.gitignore +++ b/.gitignore @@ -16,17 +16,19 @@ # RStudio files .Rproj.user/ +.Rproj # produced vignettes -vignettes/*.html +#vignettes/*.html vignettes/*.pdf # OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3 .httr-oauth # knitr and R markdown default cache directories -/*_cache/ +*_cache/ /cache/ +*_files/ # Temporary files created by R markdown *.utf8.md @@ -34,3 +36,9 @@ vignettes/*.pdf # Shiny token, see https://shiny.rstudio.com/articles/shinyapps.html rsconnect/ + +# Mac OSX +.DS_Store + +# R installed data +*.rds diff --git a/DESCRIPTION b/DESCRIPTION index 510eac1..07b6cce 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,11 +1,66 @@ -Package: gateRR +Package: gateR Type: Package -Title: What the Package Does (Title Case) -Version: 0.1.0 -Author: Who wrote it -Maintainer: The package maintainer -Description: More about what it does (maybe more than one line) - Use four spaces when indenting paragraphs within the Description. -License: What license is it under? +Title: Gating strategy for mass cytometry using kernel density estimation +Version: 0.1.0.9000 +Date: 2020-09-12 +Authors@R: + c(person(given = "Ian D.", + family = "Buller", + role = c("aut", "cre", "cph"), + email = "ian.buller@nih.gov", + comment = c(ORCID = "0000-0001-9477-8582")), + person(given = "Elena", + family = "Hsieh", + role = "ctb", + email = "elena.hsieh@cuanschutz.edu"), + person(given = "Debashis", + family = "Ghosh", + role = "ctb", + email = "debashis.ghosh@cuanschutz.edu"), + person(given = "Lance A.", + family = "Waller", + role = "ctb", + email = "lwaller@emory.edu"), + person(given = "NCI", + role = c("cph")) + ) +Maintainer: Ian D. Buller +Description: Estimates statistically significant flourescent marker combination values within + which one immunologically distinctive group (i.e., disease case) is more associated than + another group (i.e., healthy control), successively, using various combinations (i.e., + "gates") of flourescent markers to examine features of cells that may be different between + groups. For a two group comparison, the {gateR} package uses the spatial relative risk + function that is estimated using the {sparr} package. Details about the {sparr} package + methods can be found in the tutorial: Davies et al. (2018) . Details + about kernel density estimation can be found in J. F. Bithell (1990) . + More information about relative risk functions using kernel density estimation can be + found in J. F. Bithell (1991) . +License: Apache License (>= 2.0) Encoding: UTF-8 LazyData: true +Roxygen: list(markdown = TRUE) +RoxygenNote: 7.1.1 +Depends: R (>= 3.5.0) +Imports: + fields, + graphics, + grDevices, + maptools, + raster, + sp, + sparr, + spatstat.core, + stats, + tibble, + utils +Suggests: + flowWorkspaceData, + knitr, + ncdfFlow, + spelling, + testthat +VignetteBuilder: knitr +Language: en-US +URL: https://github.com/Waller-SUSAN/gateR +BugReports: https://github.com/Waller-SUSAN/gateR/issues +Author: Ian D. Buller [aut, cre, cph] diff --git a/LICENSE b/LICENSE deleted file mode 100644 index b09cd78..0000000 --- a/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..523138c --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,194 @@ +Apache License +============== + +_Version 2.0, January 2004_ +_<>_ + +### Terms and Conditions for use, reproduction, and distribution + +#### 1. Definitions + +“License” shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +“Licensor” shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +“Legal Entity” shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, “control” means **(i)** the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or **(ii)** ownership of fifty percent (50%) or more of the +outstanding shares, or **(iii)** beneficial ownership of such entity. + +“You” (or “Your”) shall mean an individual or Legal Entity exercising +permissions granted by this License. + +“Source” form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +“Object” form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +“Work” shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +“Derivative Works” shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +“Contribution” shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +“submitted” means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as “Not a Contribution.” + +“Contributor” shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +#### 2. Grant of Copyright License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +#### 3. Grant of Patent License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +#### 4. Redistribution + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +* **(a)** You must give any other recipients of the Work or Derivative Works a copy of +this License; and +* **(b)** You must cause any modified files to carry prominent notices stating that You +changed the files; and +* **(c)** You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +* **(d)** If the Work includes a “NOTICE” text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. + +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +#### 5. Submission of Contributions + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +#### 6. Trademarks + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +#### 7. Disclaimer of Warranty + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +#### 8. Limitation of Liability + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +#### 9. Accepting Warranty or Additional Liability + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +_END OF TERMS AND CONDITIONS_ + +### APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets `[]` replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same “printed page” as the copyright notice for easier identification within +third-party archives. + + Copyright 2020 Ian D. Buller; NCI + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/NAMESPACE b/NAMESPACE index d75f824..46eb2de 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1 +1,30 @@ -exportPattern("^[[:alpha:]]+") +# Generated by roxygen2: do not edit by hand + +export(gating) +export(lotrrs) +export(lrr_plot) +export(pval_correct) +export(pval_plot) +export(rrs) +importFrom(fields,image.plot) +importFrom(grDevices,chull) +importFrom(grDevices,colorRampPalette) +importFrom(graphics,close.screen) +importFrom(graphics,par) +importFrom(graphics,screen) +importFrom(graphics,split.screen) +importFrom(maptools,unionSpatialPolygons) +importFrom(pgirmess,correlog) +importFrom(raster,cut) +importFrom(raster,extent) +importFrom(raster,raster) +importFrom(raster,rasterToPolygons) +importFrom(raster,values) +importFrom(sp,coordinates) +importFrom(sp,gridded) +importFrom(sp,over) +importFrom(sparr,OS) +importFrom(sparr,risk) +importFrom(spatstat.core,owin) +importFrom(spatstat.core,ppp) +importFrom(tibble,tibble) diff --git a/R/gating.R b/R/gating.R new file mode 100644 index 0000000..9f244a4 --- /dev/null +++ b/R/gating.R @@ -0,0 +1,219 @@ +#' Gating strategy for mass cytometry data using spatial relative risk functions +#' +#' Extracts cells within statistically significant combinations of flourescent markers, successively, for a set of markers. Statistically significant combinations are idetnified using two-tailed p-values of a relative risk surface assuming asymptotic normality. This function is currently available for two-level comparisons of a single group (e.g., case/control) or two groups (e.g., case/control at time 1 and time 2). Provides functionality for basic visualization and multiple testing correction. +#' +#' @param dat Input data frame flow cytometry data with the following features (columns): 1) ID, 2) Condition A ID, 3) Condition B ID (optional), and a set of markers. +#' @param vars A vector of characters with the name of features (columns) within \code{dat} to use as markers for each gate. See details below. +#' @param n_conditions A numeric value of either 1 or 2 designating if the gating is performed with one condition or two conditions. +#' @param numerator Logical. If \code{TRUE} (the default), cells will be extracted within all statistically significant numerator (i.e., case) clusters. If \code{FALSE}, cells will be extracted within all statistically significant denominator (i.e., control) clusters. +#' @param alpha Numeric. The two-tailed alpha level for significance threshold (default is 0.05). +#' @param p_correct Character string specifying whether to apply a correction for multiple comparisons including a Bonferroni correction \code{p_correct = "uncorrelated"} or a correlated Bonferroni correction \code{p_correct = "correlated"}. If \code{p_correct = "none"} then no correction is applied. +#' @param nbc Optional. An integer for the number of bins when \code{p_correct = "correlated"}. Similar to \code{nbclass} argument in \code{\link[pgirmess]{nbclass}}. The default is the average number of gridded knots in one-dimension (i.e., x-axis). +#' @param doplot Logical. If \code{TRUE}, the output includes basic data visualizations. +#' @param rcols Character string of length three (3) specifying the colors for: 1) Group A, 2) Neither, and 3) Group B designations. The defaults are \code{c("#FF0000", "#cccccc", "#0000FF")} or \code{c("red", "grey80", "blue")}. +#' @param win Optional. Object of class \code{owin} for a custom two-dimensional window within which to estimate the surfaces. The default is NULL and calculates a convex hull around the data. +#' @param verbose Logical. If \code{TRUE} will print function progress during execution. If \code{FALSE} (the default), will not print. +#' @param ... Arguments passed to \code{\link[sparr]{risk}} to select bandwidth, edge correction, and resolution. +#' +#' @details This function performs a sequential gating strategy for mass cytometry data comparing two levels with one or two conditions. Gates are typically two-dimensional space comprised of two flourescent markers. The two-level comparison allows for the estimation of a spatial relative risk function and the computation of p-value based on an assumption of asymptotic normality. Cells within statistically significant areas are extracted and used in the next gate. This function relies heavily upon the \code{\link[sparr]{risk}} function. Basic visualization is available if \code{doplot = TRUE}. +#' +#' The \code{vars} argument must be a vector with an even-numbered length where the odd-numbered elements are the markers used on the x-axis of a gate and the even-numbered elements are the markers used on the y-axis of a gate. For example, if \code{vars = c("V1", "V2", "V3", and "V4")} then the first gate is "V1" on the x-axis and "V2" on the y-axis and then the second gate is V3" on the x-axis and "V4" on the y-axis. Makers can be repeated in successive gates. +#' +#' The \code{n_conditions} argument specifies if the gating strategy is performed for one condition or two conditions. If \code{n_conditions = 1}, then the function performs a one condition gating strategy using the internal \code{rrs} function, which computes the statistically significant areas (clusers) of a relative risk surface at each gate and selects the cells within the clusters specified by the \code{numerator} argument. If \code{n_conditions = 2}, then the function performs a two conditions gating strategy using the internal \code{lotrrs} function, which computes the statistically significant areas (clusers) of a ratio of relative risk surfaces at each gate and selects the cells within the clusters specified by the \code{numerator} argument. See the documentation for the internal \code{rrs} and \code{lotrrs} functions for more details. +#' +#' The p-value surface of the ratio of relative risk surfaces is estimated assuming asymptotic normality of the ratio value at each gridded knot. The bandwidth is fixed across all layers. +#' +#' Provides functionality for a correction for multiple testing. If \code{p_correct = "uncorrelated"}, then a conventional Bonferroni correction is calculated by dividing the \code{alpha} level by the number of gridded knots across the estimated surface. The default in the \code{\link[sparr]{risk}} function is a resolution of 128 x 128 or n = 16,384 knots and a custom resolution can be specified using the \code{resolution} argument within the \code{\link[sparr]{risk}} function. If \code{p_correct = "correlated"}, then a Bonferroni correction that takes into account the spatial correlation of the surface is calculated within the internal \code{pval_correct} function. The \code{alpha} level is divided by the minimum number of knots that are not spatially correlated. The minimum number of knots that are not spatially correlated is computed by counting the knots that are a distance apart that exceeds the minimum distance of non-significant spatial correlation based on a correlogram using the \code{\link[pgirmess]{correlog}} function. If \code{p_correct = "none"}, then the function does not account for multiple testing and uses the uncorrected \code{alpha} level. See the internal \code{pval_correct} function documentation for more details. +#' +#' @return An object of class \code{list}. This is a named list with the following components: +#' +#' #' \describe{ +#' \item{\code{obs}}{An object of class 'tibble' of the same features as \code{dat} that includes the information for the cells extracted with significant clusters in the final gate.} +#' \item{\code{gate}}{An object of class 'list' of 'rrs' objects from each gate.} +#' } +#' +#' The objects of class 'rrs' is similar to the output of the \code{\link[sparr]{risk}} function with two additional components: +#' \describe{ +#' \item{\code{rr}}{An object of class 'im' with the relative risk surface.} +#' \item{\code{f}}{An object of class 'im' with the spatial density of the numerator.} +#' \item{\code{g}}{An object of class 'im' with the spatial density of the denominator.} +#' \item{\code{P}}{An object of class 'im' with the asymptotic p-value surface.} +#' \item{\code{lrr}}{An object of class 'im' with the log relative risk surface.} +#' \item{\code{alpha}}{A numeric value for the alpha level used within the gate.} +#' } +#' +#' @importFrom grDevices chull +#' @importFrom maptools unionSpatialPolygons +#' @importFrom raster rasterToPolygons values +#' @importFrom sp coordinates over +#' @importFrom spatstat.core owin +#' @importFrom tibble tibble +#' @export +#' +#' @examples +#' library(flowWorkspaceData) +#' library(ncdfFlow) +#' +#' # Use 'extdata' from the {flowWorkspaceData} package +#' flowDataPath <- system.file("extdata", package = "flowWorkspaceData") +#' fcsFiles <- list.files(pattern = "CytoTrol", flowDataPath, full = TRUE) +#' ncfs <- ncdfFlow::read.ncdfFlowSet(fcsFiles) +#' fr1 <- ncfs[[1]] +#' fr2 <- ncfs[[2]] +#' +#' ## Comparison of two samples (single condition) "g1" +#' ## Two gates (four markers) "CD4", "CD38", "CD8", and "CD3" +#' ## Log10 Transformation for both markers +#' ## Remove cells with NA and Inf values +#' +#' # First sample +#' obs_dat1 <- data.frame("id" = seq(1, nrow(fr1@exprs), 1), +#' "g1" = rep(1, nrow(fr1@exprs)), +#' "log10_CD4" = log(fr1@exprs[ , 5], 10), +#' "log10_CD38" = log(fr1@exprs[ , 6], 10), +#' "log10_CD8" = log(fr1@exprs[ , 7], 10), +#' "log10_CD3" = log(fr1@exprs[ , 8], 10)) +#' # Second sample +#' obs_dat2 <- data.frame("id" = seq(1, nrow(fr2@exprs), 1), +#' "g1" = rep(2, nrow(fr2@exprs)), +#' "log10_CD4" = log(fr2@exprs[ , 5], 10), +#' "log10_CD38" = log(fr2@exprs[ , 6], 10), +#' "log10_CD8" = log(fr2@exprs[ , 7], 10), +#' "log10_CD3" = log(fr2@exprs[ , 8], 10)) +#' # Full set +#' obs_dat <- rbind(obs_dat1, obs_dat2) +#' obs_dat <- obs_dat[complete.cases(obs_dat), ] # remove NAs +#' obs_dat <- obs_dat[is.finite(rowSums(obs_dat)),] # remove Infs +#' obs_dat$g1 <- as.factor(obs_dat$g1) # set "g1" as binary factor +#' +#' # Run gating() function +#' ## Single condition, no multiple testing correction +#' test_gate <- gateR::gating(dat = obs_dat, +#' vars = c("log10_CD4", "log10_CD38", +#' "log10_CD8", "log10_CD3"), +#' n_condition = 1, +#' p_cor = "none") +#' +gating <- function(dat, + vars, + n_condition = c(1, 2), + numerator = TRUE, + alpha = 0.05, + p_cor = c("none", "correlated", "uncorrelated"), + nbc = NULL, + doplot = FALSE, + rcols = c("#FF0000", "#cccccc", "#0000FF"), + win = NULL, + verbose = FALSE, + ...) { + + if (numerator == TRUE) { type_cluster <- "numerator" + } else { + type_cluster <- "denominator" + } + + + # Format data input + dat <- tibble::tibble(dat) + dat <- dat[!is.na(dat[ , which(colnames(dat) %in% vars[1])]) & + !is.na(dat[ , which(colnames(dat) %in% vars[2])]), ] + + if (n_condition == 2 & nrow(unique(dat[ , 3])) != 2) { stop("Must have two conditions") } + + if (n_condition == 2) { dat_gate <- dat[ , c(1:3, which(colnames(dat) %in% vars))] + } else { + dum_condition <- rep(1, nrow(dat)) + dat_gate <- dat[ , c(1:2, which(colnames(dat) %in% vars))] + dat_gate <- tibble::add_column(dat_gate, condition = dum_condition, .after = 2) + } + dat <- as.data.frame(dat) + dat_gate <- as.data.frame(dat_gate) + n_gate <- length(vars) / 2 # calculate the number of gates + + # Create empty list to save output of each gate + list_gate <- vector('list', length(n_gate)) + + # Gating + for (k in 1:n_gate) { + + if (k == 1) { j <- 1 } else { j <- k * 2 - 1 } # vars indexing per gate + + # format data by selecting the desired vars + dat_gate <- dat_gate[!is.na(dat_gate[ , which(colnames(dat_gate) %in% vars[j])]) & + !is.na(dat_gate[ , which(colnames(dat_gate) %in% vars[j + 1])]), ] + xvar <- which(colnames(dat_gate) %in% vars[j]) + yvar <- which(colnames(dat_gate) %in% vars[j + 1]) + df <- dat_gate[ , c(1:3, xvar, yvar)] + df <- df[!is.na(df[ , 4]) & !is.na(df[ , 5]), ] # remove NAs + + # Create custom window with a convex hull + chul <- grDevices::chull(df[ , 4:5]) + chul_coords <- df[ , 4:5][c(chul, chul[1]), ] + win_gate <- spatstat.core::owin(poly = list(x = rev(chul_coords[ , 1]), + y = rev(chul_coords[ , 2]))) + + # Estimate significant relative risk areas + ## Bonferroni correction only necessary in first gate + if (k == 1) { p_cor <- p_cor } else { p_cor <- "none"} + + if (n_condition == 2) { + out <- lotrrs(dat = df, + win = win_gate, + doplot = doplot, + alpha = alpha, + p_correct = p_cor, + verbose = verbose, + ...) + } else { + out <- rrs(dat = df, + win = win_gate, + doplot = doplot, + alpha = alpha, + p_correct = p_cor, + verbose = verbose, + ...) + } + + # Convert p-value surface into a categorized raster + ## v == 2 : significant T1 numerator; v == 1: not + Ps <- pval_plot(input = out$P, alpha = out$alpha) + list_gate[[k]] <- out # save for output + rm(out, df, win_gate) # conserve memory + + # Go back one gate if current gate has no significant area and produce output of previous gate + if (all(raster::values(Ps)[!is.na(raster::values(Ps))] == 2) | all(is.na(raster::values(Ps)))) { + cat(paste("Gate", k, "yeilded no significant", type_cluster, "cluster(s)...", + "Returning results from previous gate\n", + sep = " ")) + output <- dat[which(dat[ , 1] %in% dat_gate[ , 1]), ] + out_list <- list("obs" = output, "gate" = list_gate) + return(out_list) + } + + # convert categorized raster to gridded polygons + out_pol <- raster::rasterToPolygons(Ps) + rm(Ps) # conserve memory + + if (numerator == TRUE) { v <- 1 } else { v <- 3 } + # combine gridded polygons of similar categories + pols <- maptools::unionSpatialPolygons(out_pol[out_pol$layer == v, ], + IDs = rep(1, length(out_pol[out_pol$layer == v, ]))) + rm(out_pol) # conserve memory + + # Overlay points + sp::coordinates(dat_gate) <- ~ cbind(dat_gate[,which(colnames(dat_gate) %in% vars[j])], + dat_gate[,which(colnames(dat_gate) %in% vars[j + 1])]) + + # extract points within significant cluster + dat_gate <- as.data.frame(dat_gate[!is.na(sp::over(dat_gate, pols)), ]) + rm(pols) # conserve memory + + # Output for the final gate + if (k == n_gate) { + cat(paste("Observations within significant", type_cluster, "cluster(s) of Gate", k, "\n",sep = " ")) + output <- dat[which(dat[ , 1] %in% dat_gate[ , 1]), ] + out_list <- list("obs" = output, "gate" = list_gate) + return(out_list) + } + } +} diff --git a/R/hello.R b/R/hello.R deleted file mode 100644 index 3d348f2..0000000 --- a/R/hello.R +++ /dev/null @@ -1,18 +0,0 @@ -# Hello, world! -# -# This is an example function named 'hello' -# which prints 'Hello, world!'. -# -# You can learn more about package authoring with RStudio at: -# -# http://r-pkgs.had.co.nz/ -# -# Some useful keyboard shortcuts for package authoring: -# -# Install Package: 'Cmd + Shift + B' -# Check Package: 'Cmd + Shift + E' -# Test Package: 'Cmd + Shift + T' - -hello <- function() { - print("Hello, world!") -} diff --git a/R/lotrrs.R b/R/lotrrs.R new file mode 100644 index 0000000..561c2aa --- /dev/null +++ b/R/lotrrs.R @@ -0,0 +1,283 @@ +#' A single gate for two conditions +#' +#' Estimates a ratio of relative risk surfaces and computes the asymptotic p-value surface for a single gate with two conditions. Includes features for basic visualization. This function is used internally within the \code{\link{gating}} function to extract the points within the significant areas. This function can also be used as a standalone function. +#' +#' @param dat Input data frame flow cytometry data with five (5) features (columns): 1) ID, 2) Condition A ID, 3) Condition B ID, 4) Marker A as x-coordinate, 5) Marker B as y-coordinate. +#' @param alpha Numeric. The two-tailed alpha level for significance threshold (default is 0.05). +#' @param p_correct Character string specifying whether to apply a correction for multiple comparisons including a Bonferroni correction \code{p_correct = "uncorrelated"} or a correlated Bonferroni correction \code{p_correct = "correlated"}. If \code{p_correct = "none"} then no correction is applied. +#' @param nbc Optional. An integer for the number of bins when \code{p_correct = "correlated"}. Similar to \code{nbclass} argument in \code{\link[pgirmess]{nbclass}}. The default is the average number of gridded knots in one-dimension (i.e., x-axis). +#' @param doplot Logical. If \code{TRUE}, the output includes basic data visualizations. +#' @param rcols Character string of length three (3) specifying the colors for: 1) Group A, 2) Neither, and 3) Group B designations. The defaults are \code{c("#FF0000", "#cccccc", "#0000FF")} or \code{c("red", "grey80", "blue")}. +#' @param win Optional. Object of class \code{owin} for a custom two-dimensional window within which to estimate the surfaces. The default is NULL and calculates a convex hull around the data. +#' @param verbose Logical. If \code{TRUE} will print function progress during execution. If \code{FALSE} (the default), will not print. +#' @param ... Arguments passed to \code{\link[sparr]{risk}} to select bandwidth, edge correction, and resolution. +#' +#' @details This function estimates a ratio of relative risk surfaces and computes the asymptotic p-value surface for a single gate with two conditions using three successive \code{\link[sparr]{risk}} functions. A relative risk surface is estimated for Condition A at each level of Condition B and then a ratio of the two relative risk surfaces is computed. +#' +#' \deqn{RR_{Condition B1} = \frac{Condition A2 of B1}{Condition A1 of B1}} +#' \deqn{RR_{Condition B2} = \frac{Condition A2 of B2}{Condition A1 of B2}} +#' \deqn{ln(rRR) = ln\left (\frac{RR_{Condition B2}}{CRR_{Condition B2}}\right )} +#' +#' The p-value surface of the ratio of relative risk surfaces is estimated assuming asymptotic normality of the ratio value at each gridded knot. The bandwidth is fixed across all layers. Basic visualization is available if \code{doplot = TRUE}. +#' +#' Provides functionality for a correction for multiple testing. If \code{p_correct = "uncorrelated"}, then a conventional Bonferroni correction is calculated by dividing the \code{alpha} level by the number of gridded knots across the estimated surface. The default in the \code{\link[sparr]{risk}} function is a resolution of 128 x 128 or n = 16,384 knots and a custom resolution can be specified using the \code{resolution} argument within the \code{\link[sparr]{risk}} function. If \code{p_correct = "correlated"}, then a Bonferroni correction that takes into account the spatial correlation of the surface is calculated within the internal \code{pval_correct} function. The \code{alpha} level is divided by the minimum number of knots that are not spatially correlated. The minimum number of knots that are not spatially correlated is computed by counting the knots that are a distance apart that exceeds the minimum distance of non-significant spatial correlation based on a correlogram using the \code{\link[pgirmess]{correlog}} function. If \code{p_correct = "none"}, then the function does not account for multiple testing and uses the uncorrected \code{alpha} level. See the internal \code{pval_correct} function documentation for more details. +#' +#' @return An object of class 'list' where each element is a object of class 'rrs' created by the \code{\link[sparr]{risk}} function with two additional components: +#' +#' \describe{ +#' \item{\code{rr}}{An object of class 'im' with the relative risk surface.} +#' \item{\code{f}}{An object of class 'im' with the spatial density of the numerator.} +#' \item{\code{g}}{An object of class 'im' with the spatial density of the denominator.} +#' \item{\code{P}}{An object of class 'im' with the asymptotic p-value surface.} +#' \item{\code{lrr}}{An object of class 'im' with the log relative risk surface.} +#' \item{\code{alpha}}{A numeric value for the alpha level used within the gate.} +#' } +#' +#' @importFrom fields image.plot +#' @importFrom graphics close.screen par screen split.screen +#' @importFrom grDevices chull +#' @importFrom raster extent values +#' @importFrom spatstat.core owin ppp +#' @importFrom sparr OS risk +#' @export +#' +#' @examples +#' library(flowWorkspaceData) +#' library(ncdfFlow) +#' library(stats) +#' +#' # Use 'extdata' from the {flowWorkspaceData} package +#' flowDataPath <- system.file("extdata", package = "flowWorkspaceData") +#' fcsFiles <- list.files(pattern = "CytoTrol", flowDataPath, full = TRUE) +#' ncfs <- ncdfFlow::read.ncdfFlowSet(fcsFiles) +#' fr1 <- ncfs[[1]] +#' fr2 <- ncfs[[2]] +#' +#' ## Comparison of two samples at two time points (two conditions) "g1" and "g2" +#' ## (Create a random binary variable for "g2") +#' ## One gate (two markers) "CD4", "CD38" +#' ## Log10 Transformation for both markers +#' ## Remove cells with NA and Inf values +#' +#' # First sample +#' obs_dat1 <- data.frame("id" = seq(1, nrow(fr1@exprs), 1), +#' "g1" = rep(1, nrow(fr1@exprs)), +#' "g2" = stats::rbinom(nrow(fr1@exprs), 1, 0.5), +#' "log10_CD4" = log(fr1@exprs[ , 5], 10), +#' "log10_CD38" = log(fr1@exprs[ , 6], 10)) +#' # Second sample +#' obs_dat2 <- data.frame("id" = seq(1, nrow(fr2@exprs), 1), +#' "g1" = rep(2, nrow(fr2@exprs)), +#' "g2" = stats::rbinom(nrow(fr2@exprs), 1, 0.5), +#' "log10_CD4" = log(fr2@exprs[ , 5], 10), +#' "log10_CD38" = log(fr2@exprs[ , 6], 10)) +#' # Full set +#' obs_dat <- rbind(obs_dat1, obs_dat2) +#' obs_dat <- obs_dat[complete.cases(obs_dat), ] # remove NAs +#' obs_dat <- obs_dat[is.finite(rowSums(obs_dat)),] # remove Infs +#' obs_dat$g1 <- as.factor(obs_dat$g1) # set "g1" as binary factor +#' obs_dat$g2 <- as.factor(obs_dat$g2) # set "g2" as binary factor +#' +#' # Run lotrrs() function +#' test_lotrrs <- lotrrs(dat = obs_dat, p_cor = "none") +#' +lotrrs <- function(dat, + alpha = 0.05, + p_correct = c("none", "correlated", "uncorrelated"), + nbc = NULL, + doplot = FALSE, + rcols = c("#FF0000", "#cccccc", "#0000FF"), + win = NULL, + verbose = FALSE, + ...) { + + `%!in%` <- function(x, y)!(`%in%`(x, y)) # helpful custom function + + # Inputs + ## dat + if ("data.frame" %!in% class(dat)) { stop("'dat' must be class 'data.frame'") } + ## win + if (!is.null(win) & class(win) != "owin") { stop("'win' must be class 'owin'") } + if (is.null(win)) { + dat <- as.data.frame(dat) + dat <- dat[!is.na(dat[ , 4]) & !is.na(dat[ , 5]) , ] + chul <- grDevices::chull(dat[ , 4:5]) + chul_coords <- dat[ , 4:5][c(chul, chul[1]), ] + win <- spatstat.core::owin(poly = list(x = rev(chul_coords[ , 1]), + y = rev(chul_coords[ , 2]))) + } + ## p-value correction + if (is.null(p_correct)) { p_correct <- "none" } + + Vnames <- names(dat) # axis names + names(dat) <- c("id", "G1", "G2", "V1", "V2") + levels(dat$G1) <- c("case", "control") + levels(dat$G2) <- c("0", "1") + + # Create two PPPs + t0_df <- dat[dat$G2 == "0", ] + t1_df <- dat[dat$G2 == "1", ] + suppressMessages(suppressWarnings(t_ppp <- spatstat.core::ppp(x = dat$V1, + y = dat$V2, + marks = dat$G1, + window = win))) + suppressMessages(suppressWarnings(t0_ppp <- spatstat.core::ppp(x = t0_df$V1, + y = t0_df$V2, + marks = t0_df$G1, + window = win))) + suppressMessages(suppressWarnings(t1_ppp <- spatstat.core::ppp(x = t1_df$V1, + y = t1_df$V2, + marks = t1_df$G1, + window = win))) + + # Estimate two SRRs + t_h0 <- sparr::OS(t_ppp, "geometric") + rm(t_ppp) # conserve memory + t0_rr <- sparr::risk(t0_ppp, + h0 = t_h0, + log = FALSE, + edge = "diggle", + verbose = verbose, + ...) + t1_rr <- sparr::risk(t1_ppp, + h0 = t_h0, + log = FALSE, + edge = "diggle", + verbose = verbose, + ...) + + # Create objects of class 'bivden' + t0_bd <- sparr::bivariate.density(t0_ppp, + h0 = t_h0, + edge = "diggle", + verbose = FALSE, + ...) + t1_bd <- sparr::bivariate.density(t1_ppp, + h0 = t_h0, + edge = "diggle", + verbose = FALSE, + ...) + t0_rr_bd <- list("z" = t0_rr$rr, + "h0" = t0_rr$f$h0, + "hp" = t0_rr$f$hp, + "h" = t0_rr$f$h, + "him" = t0_rr$f$him, + "q" = t0_bd$q, + "gamma" = t0_rr$f$gamma, + "geometric" = t0_rr$f$geometric, + "pp" = t0_ppp) + t1_rr_bd <- list("z" = t1_rr$rr, + "h0" = t1_rr$f$h0, + "hp" = t1_rr$f$hp, + "h" = t1_rr$f$h, + "him" = t1_rr$f$him, + "q" = t1_bd$q, + "gamma" = t1_rr$f$gamma, + "geometric" = t1_rr$f$geometric, + "pp" = t1_ppp) + class(t0_rr_bd) <- "bivden" + class(t1_rr_bd) <- "bivden" + rm(t0_ppp, t1_ppp, t0_bd, t1_bd) # conserve memory + + # Estimate the spatial relative risk surface of the two spatial relative risks + ## Also estimate the asymptotic p-value surface + suppressMessages(suppressWarnings(out <- sparr::risk(f = t1_rr_bd, + g = t0_rr_bd, + h0 = t_h0, + tolerate = TRUE, + edge = "diggle", + verbose = verbose, + log = FALSE, + ...))) + + suppressMessages(suppressWarnings(out$rr <- t1_rr_bd$z/t0_rr_bd$z)) + suppressMessages(suppressWarnings(out$lrr <- log(t1_rr_bd$z) - log(t0_rr_bd$z))) + rm(t0_rr_bd, t1_rr_bd) # conserve memory + + if (all(is.na(out$rr$v))) { + cat("relative risk unable to be estimated") + return(out) + } + + # Alpha level + if (p_correct == "none") { out$alpha <- alpha } + if (p_correct == "correlated") { + cat("Please be patient... Calculating correlated Bonferroni correction\n") + alpha_correct <- pval_correct(input = out$lrr, alpha = alpha, nbc = nbc) + out$alpha <- alpha_correct$correlated + } + if (p_correct == "uncorrelated") { out$alpha <- alpha / prod(out$rr$dim) } + + if (doplot == TRUE) { + # Graphics + op <- graphics::par(no.readonly = TRUE) + on.exit(graphics::par(op)) + # Plotting inputs + ## Colorkeys + tr_plot <- lrr_plot(input = out$lrr, cols = rcols, midpoint = 0) + ## Extent + blim <- as.vector(raster::extent(tr_plot$v)) + xlims <- blim[1:2] + ylims <- blim[3:4] + + # Plot of ratio and p-values + #Vnames <- names(dat) # axis names + Ps <- pval_plot(out$P, alpha = out$alpha) + if (all(raster::values(Ps)[!is.na(raster::values(Ps))] == 2) | all(is.na(raster::values(Ps)))) { + pcols <- rcols[2] + brp <- c(1, 3) + atp <- 2 + labp <- "No" + } else { + pcols <- rcols + brp <- c(1, 1.67, 2.33, 3) + atp <- c(1.33, 2, 2.67) + labp <- c("Numerator", "Insignificant", "Denominator") + } + + graphics::par(pty = "s", bg = "white") + invisible(graphics::split.screen(matrix(c(0, 0.45, 0.55, 1, 0.14, 0.14, 0.86, 0.86), + ncol = 4))) + graphics::screen(1) + fields::image.plot(tr_plot$v, + breaks = tr_plot$breaks, + col = tr_plot$cols, + xlim = xlims, + ylim = ylims, + axes = TRUE, + cex.lab = 1, + xlab = paste(Vnames[4], "\n", sep = ""), + ylab = Vnames[5], + cex = 1, + horizontal = TRUE, + axis.args = list(at = tr_plot$at, + labels = tr_plot$labels, + cex.axis = 0.67), + main = paste("log of the\nrelative risk surfaces\n(bandwidth:", + round(t_h0, digits = 3), + "units)", + sep = " ")) + par(bg = "transparent") + graphics::screen(2) + fields::image.plot(Ps, + breaks = brp, + col = pcols, + xlim = xlims, + ylim = ylims, + xlab = paste(Vnames[4], "\n", sep = ""), + ylab = "", + cex = 1, + axes = TRUE, + horizontal = TRUE, + axis.args = list(at = atp, + labels = labp, + cex.axis = 0.67), + main = paste("significant p-values\n(alpha = ", + formatC(out$alpha, format = "e", digits = 2), + ")", + sep = "")) + graphics::close.screen(all = TRUE) # exit split-screen mode + } + + return(out) +} diff --git a/R/lrr_plot.R b/R/lrr_plot.R new file mode 100644 index 0000000..5ce1b7a --- /dev/null +++ b/R/lrr_plot.R @@ -0,0 +1,108 @@ +#' Prepare log relative risk values for plotting with a diverging color palette +#' +#' Internal function to convert an object of class 'im' to values readable by \code{\link[fields]{image.plot}} function within the \code{\link{rrs}} and \code{\link{lotrrs}} functions. +#' +#' @param input An object of class 'rrs' from the \code{\link{lrren}} function. +#' @param plot_cols Character string of length three (3) specifying the colors for plotting: 1) presence, 2) neither, and 3) absence from the \code{\link{plot_obs}} function. +#' @param midpoint Numeric. The value to center the diverging color palette. +#' @param thresh_up Numeric. The upper value to concatenate the color key. The default (NULL) uses the maximum value from \code{input}. +#' @param thresh_low Numeric. The lower value to concatenate the color key. The default (NULL) uses the minimum value from \code{input}. +#' @param digits Integer. The number of significant digits for the labels using the \code{round} function (default is 1). +#' +#' @return An object of class 'list'. This is a named list with the following components: +#' +#' \describe{ +#' \item{\code{v}}{An object of class 'vector' for the estimated ecological niche values.} +#' \item{\code{cols}}{An object of class 'vector', returns diverging color palette values.} +#' \item{\code{breaks}}{An object of class 'vector', returns diverging color palette breaks.} +#' \item{\code{at}}{An object of class 'vector', returns legend breaks.} +#' \item{\code{labels}}{An object of class 'vector', returns legend labels.} +#' } +#' +#' @importFrom grDevices colorRampPalette +#' @importFrom raster raster +#' @importFrom sp coordinates gridded +#' @export +#' +#' @keywords internal +#' +lrr_plot <- function(input, + cols, + midpoint = 0, + thresh_up = NULL, + thresh_low = NULL, + digits = 1) { + + # Inputs + if (class(input) != "im") { + stop("The 'input' argument must be of class 'im' from an 'rrs' object.") + } + + if (length(cols) != 3) { + stop("The 'cols' argument must be a vector of length 3") + } + + # Coordinates of grid points within input 'im' + rx <- rep(input$xcol, length(input$yrow)) + for(i in 1:length(input$yrow)) { + if (i == 1) { ry <- rep(input$yrow[i], length(input$xcol)) } + if (i != 1) { ry <- c(ry, rep(input$yrow[i], length(input$xcol))) } + } + + out <- data.frame("x" = rx, + "y" = ry, + "v" = as.vector(t(input$v))) + out$v <- ifelse(is.infinite(out$v), NA, out$v) + out <- na.omit(out) # remove NAs + sp::coordinates(out) <- ~ x + y # convert to spatialpixelsdataframe + suppressMessages(suppressWarnings(sp::gridded(out) <- TRUE)) # gridded + out <- raster::raster(out) # create raster + + # Restrict spurious log relative risk values + if (!is.null(thresh_low)) { + out[out <= thresh_low] <- thresh_low + } + if (!is.null(thresh_up)) { + out[out >= thresh_up] <- thresh_up + } + + # Identify ramp above and below midpoint + lowerhalf <- length(out[out < midpoint & !is.na(out)]) # values below 0 + upperhalf <- length(out[out > midpoint & !is.na(out)]) # values above 0 + nhalf <- length(out[!is.na(out)]) / 2 # number of values at half + min_absolute_value <- min(out[is.finite(out)], na.rm = TRUE) # minimum absolute value of raster + max_absolute_value <- max(out[is.finite(out)], na.rm = TRUE) # maximum absolute value of raster + + # Color ramp parameters + ## Colors + ### vector of colors for values below midpoint + rc1 <- grDevices::colorRampPalette(colors = c(cols[3], cols[2]), space = "Lab")(lowerhalf) + ### vector of colors for values above midpoint + rc2 <- grDevices::colorRampPalette(colors = c(cols[2], cols[1]), space = "Lab")(upperhalf) + ### compile colors + rampcols <- c(rc1, rc2) + ## Breaks + ### vector of breaks for values below midpoint + rb1 <- seq(min_absolute_value, midpoint, length.out = lowerhalf + 1) + ### vector of breaks for values above midpoint + rb2 <- seq(midpoint, max_absolute_value, length.out = upperhalf + 1)[-1] + ### compile breaks + rampbreaks <- c(rb1, rb2) + + # At for colorkey lables + rbr <- max_absolute_value - min_absolute_value + rbt <- rbr / 4 + rbs <- seq(min_absolute_value, max_absolute_value, rbt) + rbm <- which.min(abs(rbs - midpoint)) + rbs[rbm] <- midpoint + + # Text for colorkey labels + rbl <- round(rbs, digits = digits) + + # Output + out <- list("v" = out$v, + "cols" = rampcols, + "breaks" = rampbreaks, + "at" = rbs, + "labels" = rbl) +} diff --git a/R/pval_correct.R b/R/pval_correct.R new file mode 100644 index 0000000..b705251 --- /dev/null +++ b/R/pval_correct.R @@ -0,0 +1,84 @@ +#' Calculate p-value corrections +#' +#' Internal function to calculate various p-value corrections including a correlated and uncorrelated Bonferroni correction for use within the \code{\link{rrs}} and \code{\link{lotrrs}} function. +#' +#' @param input An object of class 'rrs' from the \code{\link{rrs}} or \code{\link{lotrrs}} function. +#' @param alpha Numeric. The two-tailed alpha level for significance threshold (default in \code{\link{rrs}} and \code{\link{lotrrs}} functions is 0.05). +#' @param nbc Integer. The number of bins. Similar to \code{nbclass} argument in \code{\link[pgirmess]{correlog}} function. The default is the average number of gridded knots in one-dimension (i.e., x-axis). +#' +#' @details This function provides functionality for multiple testing correction in two ways: +#' +#' \enumerate{ +#' \item Computes a conventional Bonferroni correction ("uncorrelated") by dividing the \code{alpha} level by the number of gridded knots across the estimated surface. The default in the \code{\link[sparr]{risk}} function is a resolution of 128 x 128 or n = 16,384 knots. +#' \item Computs a correlated Bonferroni correction ("correlated") by taking in account the spatial correlation of the relative risk surface values (if using the \code{rrs} function for a single condition gate) or the ratio of relative risk surfaces values (if using the \code{lotrrs} function for a two condition gate). The \code{alpha} level is divided by the minimum number of knots that are not spatially correlated. The minimum number of knots that are not spatially correlated is computed by counting the knots that are a distance apart that exceeds the minimum distance of non-significant spatial correlation based on a correlogram using the \code{\link[pgirmess]{correlog}} function. +#' } +#' +#' @return An object of class 'list'. This is a named list with the following components: +#' +#' \describe{ +#' \item{\code{uncorrected}}{Numeric. Returns the uncorrected p-value.} +#' \item{\code{correlated}}{Numeric. Returns the correlated Bonferroni corrected p-value.} +#' \item{\code{uncorrelated}}{Numeric. Returns the uncorrelated Bonferroni corrected p-value.} +#' } +#' +#' @importFrom pgirmess correlog +#' @export +#' +#' @keywords internal +#' +pval_correct <- function(input, + alpha = 0.05, + nbc = NULL) { + +# Inputs + if (class(input) != "im") { + stop("The 'input' argument must be of class 'im' from an 'rrs' object.") + } + +# Calculate correlated Bonferroni correction +## Prepare data +### Coordinates of grid points within input 'im' + rx <- rep(input$xcol, length(input$yrow)) + for(i in 1:length(input$yrow)) { + if (i == 1) { ry <- rep(input$yrow[i], length(input$xcol)) } + if (i != 1) { ry <- c(ry, rep(input$yrow[i], length(input$xcol))) } + } +### Create data frame of values to estimate spatial correlation + out <- data.frame("x" = rx, + "y" = ry, + "v" = as.vector(t(input$v))) + out$v <- ifelse(is.infinite(out$v), NA, out$v) # omit inifite values + out <- out[!is.na(out$v),] # omit NA values + + if(is.null(nbc)) { nbc <- round(mean(length(input$xcol), length(input$yrow)))} + +## Estimate spatial correlation + out_cor <- pgirmess::correlog(coords = out[ , 1:2], + z = out[ , 3], + method = "Moran", + randomisation = FALSE, + nbclass = nbc) + +## Find shortest distance without significant correlation + corr_eff <- out_cor[ , 1][min(which(out_cor[ , 3] >= alpha))] + +## Bonferroni + x_kern <- length(input$xcol) # number of kernels in x-axis + y_kern <- length(input$yrow) # number of kernels in y-axis + x_dist_kern <- input$ystep # distance between kernels in x-axis + y_dist_kern <- input$ystep # distance between kernels in y-axis + n_x_kern <- corr_eff / x_dist_kern # number of x-axis kernels within correlation distance + n_y_kern <- corr_eff / y_dist_kern # number of y- axis kernels within correlation distance + x_uncorr <- x_kern / n_x_kern # number of uncorrelated x-axis kernels + y_uncorr <- y_kern / n_y_kern # number of uncorrelated y-axis kernels + n_uncorr <- x_uncorr * y_uncorr # total number of uncorrelated kernels + + alpha <- alpha # uncorrected + alpha_correlated <- alpha / n_uncorr # correlated Bonferroni + alpha_bonferroni <- alpha / (x_kern * y_kern) # uncorrelated Bonferroni (including tests outside window) + + out_alpha <- list("uncorrected" = alpha, + "correlated" = alpha_correlated, + "uncorrelated" = alpha_bonferroni) + return(out_alpha) +} diff --git a/R/pval_plot.R b/R/pval_plot.R new file mode 100644 index 0000000..0d6d783 --- /dev/null +++ b/R/pval_plot.R @@ -0,0 +1,49 @@ +#' Prepare significant p-values for plotting +#' +#' Internal function to convert an object of class 'im' to values readable by \code{\link[fields]{image.plot}} function within the \code{\link{rrs}}, \code{\link{lotrrs}}, and \code{\link{gate}} functions. +#' +#' @param input An object of class 'rrs' from the \code{\link{lrren}} function. +#' @param alpha Numeric. The two-tailed alpha level for significance threshold (default in \code{\link{rrs}}, \code{\link{lotrrs}}, and \code{\link{gate}} functions is 0.05). +#' +#' @return An object of class 'raster' with categorical values: +#' +#' \itemize{ +#' \item A value of 1: Significant numerator. +#' \item A value of 2: Insignificant. +#' \item A value of 3: Significant demoninator. +#' } +#' +#' @importFrom raster cut raster +#' @importFrom sp coordinates gridded +#' @export +#' +#' @keywords internal +#' +pval_plot <- function(input, + alpha) { + + # Inputs + if (class(input) != "im") { + stop("The 'input' argument must be of class 'im' from an 'rrs' object.") + } + + # Coordinates of grid points within input 'im' + rx <- rep(input$xcol, length(input$yrow)) + for(i in 1:length(input$yrow)) { + if (i == 1) { ry <- rep(input$yrow[i], length(input$xcol)) } + if (i != 1) { ry <- c(ry, rep(input$yrow[i], length(input$xcol))) } + } + + out <- data.frame("x" = rx, + "y" = ry, + "v" = as.vector(t(input$v))) + out$v <- ifelse(is.infinite(out$v), NA, out$v) + out <- na.omit(out) # remove NAs + sp::coordinates(out) <- ~ x + y # convert to spatialpixelsdataframe + suppressMessages(suppressWarnings(sp::gridded(out) <- TRUE)) # gridded + out <- raster::raster(out) # create raster + out <- raster::cut(out, + breaks = c(-Inf, alpha / 2, 1 - alpha / 2, Inf), + right = FALSE) + return(out) +} diff --git a/R/rrs.R b/R/rrs.R new file mode 100644 index 0000000..2e927c4 --- /dev/null +++ b/R/rrs.R @@ -0,0 +1,209 @@ +#' A single gate for a single condition +#' +#' Estimates a relative risk surface and computes the asymptotic p-value surface for a single gate with a single condition. Includes features for basic visualization. This function is used internally within the \code{\link{gating}} function to extract the points within the significant areas. This function can also be used as a standalone function. +#' +#' @param dat Input data frame flow cytometry data with four (4) features (columns): 1) ID, 2) Condition A ID, 3) Marker A as x-coordinate, 4) Marker B as y-coordinate. +#' @param alpha Numeric. The two-tailed alpha level for significance threshold (default is 0.05). +#' @param p_correct Character string specifying whether to apply a correction for multiple comparisons including a Bonferroni correction \code{p_correct = "uncorrelated"} or a correlated Bonferroni correction \code{p_correct = "correlated"}. If \code{p_correct = "none"} then no correction is applied. +#' @param nbc Optional. An integer for the number of bins when \code{p_correct = "correlated"}. Similar to \code{nbclass} argument in \code{\link[pgirmess]{nbclass}}. The default is the average number of gridded knots in one-dimension (i.e., x-axis). +#' @param doplot Logical. If \code{TRUE}, the output includes basic data visualizations. +#' @param rcols Character string of length three (3) specifying the colors for: 1) Group A, 2) Neither, and 3) Group B designations. The defaults are \code{c("#FF0000", "#cccccc", "#0000FF")} or \code{c("red", "grey80", "blue")}. +#' @param win Optional. Object of class \code{owin} for a custom two-dimensional window within which to estimate the surfaces. The default is NULL and calculates a convex hull around the data. +#' @param verbose Logical. If \code{TRUE} will print function progress during execution. If \code{FALSE} (the default), will not print. +#' @param ... Arguments passed to \code{\link[sparr]{risk}} to select bandwidth, edge correction, and resolution. +#' +#' @details This function estimates a relative risk surface and computes the asymptotic p-value surface for a single gate and single condition using the \code{\link[sparr]{risk}} function. Bandwidth is fixed across both layers (numerator and demoninator spatial densities). Basic visualization is available if \code{doplot = TRUE}. +#' +#' Provides functionality for a correction for multiple testing. If \code{p_correct = "uncorrelated"}, then a conventional Bonferroni correction is calculated by dividing the \code{alpha} level by the number of gridded knots across the estimated surface. The default in the \code{\link[sparr]{risk}} function is a resolution of 128 x 128 or n = 16,384 knots and a custom resolution can be specified using the \code{resolution} argument within the \code{\link[sparr]{risk}} function. If \code{p_correct = "correlated"}, then a Bonferroni correction that takes into account the spatial correlation of the surface is calculated within the internal \code{pval_correct} function. The \code{alpha} level is divided by the minimum number of knots that are not spatially correlated. The minimum number of knots that are not spatially correlated is computed by counting the knots that are a distance apart that exceeds the minimum distance of non-significant spatial correlation based on a correlogram using the \code{\link[pgirmess]{correlog}} function. If \code{p_correct = "none"}, then the function does not account for multiple testing and uses the uncorrected \code{alpha} level. See the internal \code{pval_correct} function documentation for more details. +#' +#' @return An object of class 'list' where each element is a object of class 'rrs' created by the \code{\link[sparr]{risk}} function with two additional components: +#' +#' \describe{ +#' \item{\code{rr}}{An object of class 'im' with the relative risk surface.} +#' \item{\code{f}}{An object of class 'im' with the spatial density of the numerator.} +#' \item{\code{g}}{An object of class 'im' with the spatial density of the denominator.} +#' \item{\code{P}}{An object of class 'im' with the asymptotic p-value surface.} +#' \item{\code{lrr}}{An object of class 'im' with the log relative risk surface.} +#' \item{\code{alpha}}{A numeric value for the alpha level used within the gate.} +#' } +#' +#' @importFrom fields image.plot +#' @importFrom graphics close.screen par screen split.screen +#' @importFrom grDevices chull +#' @importFrom raster extent values +#' @importFrom spatstat.core owin ppp +#' @importFrom sparr OS risk +#' @export +#' +#' @examples +#' library(flowWorkspaceData) +#' library(ncdfFlow) +#' +#' # Use 'extdata' from the {flowWorkspaceData} package +#' flowDataPath <- system.file("extdata", package = "flowWorkspaceData") +#' fcsFiles <- list.files(pattern = "CytoTrol", flowDataPath, full = TRUE) +#' ncfs <- ncdfFlow::read.ncdfFlowSet(fcsFiles) +#' fr1 <- ncfs[[1]] +#' fr2 <- ncfs[[2]] +#' +#' ## Comparison of two samples (single condition) "g1" +#' ## One gate (two markers) "CD4", "CD38" +#' ## Log10 Transformation for both markers +#' ## Remove cells with NA and Inf values +#' +#' # First sample +#' obs_dat1 <- data.frame("id" = seq(1, nrow(fr1@exprs), 1), +#' "g1" = rep(1, nrow(fr1@exprs)), +#' "log10_CD4" = log(fr1@exprs[ , 5], 10), +#' "log10_CD38" = log(fr1@exprs[ , 6], 10)) +#' # Second sample +#' obs_dat2 <- data.frame("id" = seq(1, nrow(fr2@exprs), 1), +#' "g1" = rep(2, nrow(fr2@exprs)), +#' "log10_CD4" = log(fr2@exprs[ , 5], 10), +#' "log10_CD38" = log(fr2@exprs[ , 6], 10)) +#' # Full set +#' obs_dat <- rbind(obs_dat1, obs_dat2) +#' obs_dat <- obs_dat[complete.cases(obs_dat), ] # remove NAs +#' obs_dat <- obs_dat[is.finite(rowSums(obs_dat)),] # remove Infs +#' obs_dat$g1 <- as.factor(obs_dat$g1) # set "g1" as binary factor +#' +#' # Run rrs() function +#' test_rrs <- rrs(dat = obs_dat, p_cor = "none") +#' +rrs <- function(dat, + alpha = 0.05, + p_correct = c("none", "correlated", "uncorrelated"), + nbc = NULL, + doplot = FALSE, + rcols = c("#FF0000", "#cccccc", "#0000FF"), + win = NULL, + verbose = FALSE, + ...) { + + `%!in%` <- function(x, y)!(`%in%`(x, y)) # helpful custom function + + # Inputs + ## dat + if ("data.frame" %!in% class(dat)) { stop("'dat' must be class 'data.frame'") } + ## win + if (!is.null(win) & class(win) != "owin") { stop("'win' must be class 'owin'") } + if (is.null(win)) { + dat <- as.data.frame(dat) + dat <- dat[!is.na(dat[ , 4]) & !is.na(dat[ , 5]) , ] + chul <- grDevices::chull(dat[ , 4:5]) + chul_coords <- dat[ , 4:5][c(chul, chul[1]), ] + win <- spatstat.core::owin(poly = list(x = rev(chul_coords[ , 1]), + y = rev(chul_coords[ , 2]))) + } + ## p-value correction + if (is.null(p_correct)) { p_correct <- "none" } + + Vnames <- names(dat) # axis names + names(dat) <- c("id", "G1", "G2", "V1", "V2") + levels(dat$G1) <- c("case", "control") + + # Create PPP + suppressMessages(suppressWarnings(c1_ppp <- spatstat.core::ppp(x = dat$V1, + y = dat$V2, + marks = dat$G1, + window = win))) + + # Estimate SRR and p-values + c1_h0 <- sparr::OS(c1_ppp, "geometric") + suppressMessages(suppressWarnings(out <- sparr::risk(f = c1_ppp, + h0 = c1_h0, + tolerate = TRUE, + edge = "diggle", + verbose = verbose, + log = FALSE, + ...))) + + if (all(is.na(out$rr$v))) { + cat("relative risk unable to be estimated") + return(out) + } + + # Alpha level + if (p_correct == "none") { out$alpha <- alpha } + if (p_correct == "correlated") { + cat("Please be patient... Calculating correlated Bonferroni correction\n") + alpha_correct <- pval_correct(input = out$lrr, alpha = alpha, nbc = nbc) + out$alpha <- alpha_correct$correlated + } + if (p_correct == "uncorrelated") { out$alpha <- alpha / prod(out$rr$dim) } + + if (doplot == TRUE) { + # Graphics + op <- graphics::par(no.readonly = TRUE) + on.exit(graphics::par(op)) + # Plotting inputs + ## Display log RR + out$lrr <- log(out$rr) + ## Colorkeys + c1_plot <- lrr_plot(input = out$lrr, cols = rcols, midpoint = 0) + ## Extent + blim <- as.vector(raster::extent(c1_plot$v)) + xlims <- blim[1:2] + ylims <- blim[3:4] + + # Plot of ratio and p-values + #Vnames <- names(dat) # axis names + Ps <- pval_plot(out$P, alpha = out$alpha) + if (all(raster::values(Ps)[!is.na(raster::values(Ps))] == 2) | all(is.na(raster::values(Ps)))) { + pcols <- rcols[2] + brp <- c(1, 3) + atp <- 2 + labp <- "No" + } else { + pcols <- rcols + brp <- c(1, 1.67, 2.33, 3) + atp <- c(1.33, 2, 2.67) + labp <- c("Numerator", "Insignificant", "Denominator") + } + + graphics::par(pty = "s", bg = "white") + invisible(graphics::split.screen(matrix(c(0, 0.45, 0.55, 1, 0.14, 0.14, 0.86, 0.86), + ncol = 4))) + graphics::screen(1) + fields::image.plot(c1_plot$v, + breaks = c1_plot$breaks, + col = c1_plot$cols, + xlim = xlims, + ylim = ylims, + axes = TRUE, + cex.lab = 1, + xlab = paste(Vnames[4], "\n", sep = ""), + ylab = Vnames[5], + cex = 1, + horizontal = TRUE, + axis.args = list(at = c1_plot$at, + labels = c1_plot$labels, + cex.axis = 0.67), + main = paste("log relative risk\n(bandwidth:", + round(c1_h0, digits = 3), + "units)", + sep = " ")) + par(bg = "transparent") + graphics::screen(2) + fields::image.plot(Ps, + breaks = brp, + col = pcols, + xlim = xlims, + ylim = ylims, + xlab = paste(Vnames[4], "\n", sep = ""), + ylab = "", + cex = 1, + axes = TRUE, + horizontal = TRUE, + axis.args = list(at = atp, + labels = labp, + cex.axis = 0.67), + main = paste("significant p-values\n(alpha = ", + formatC(out$alpha, format = "e", digits = 2), + ")", + sep = "")) + graphics::close.screen(all = TRUE) # exit split-screen mode + } + + return(out) +} diff --git a/README.md b/README.md index 623eab8..b27940b 100644 --- a/README.md +++ b/README.md @@ -1 +1,167 @@ -# gateRR +gateR: Gating strategy for mass cytometry using kernel density estimation +=================================================== + +

+ +Overview + +

+ +The `gateR` package is a suite of `R` functions to identify significant spatial clustering of mass cytometry data used in immunological investigations. For a two group comparison we detect clusters using the kernel-based spatial relative risk function that is estimated using the [sparr](https://CRAN.R-project.org/package=sparr) package. The tests are conducted in two-dimenstional space comprised of two flourescent markers. + +Examples for a single condition: + +1. Disease case v. healthy control +2. Time 1 v. Time 0 + +For a two group comparison for two conditions we estimate two relative risk surfaces for one condition and then a ratio of the relative risks. For example: + +1. Estimate a relative risk surface for +A. Time 1: Disease case v. healthy control +B. Time 0: Disease case v. healthy control +2. Estimate relative risk surface for Time 1 v. Time 2 + +Within areas where the relative risk exceeds an asymptotic normal assumption, the `gateR` package has functionality to examine the features of these cells. Basic visualization is also supported. + +

+ +Installation + +

+ +To install the release version from CRAN: + + install.packages("gateR") + +To install the development version from GitHub: + + devtools::install_github("Waller-SUSAN/gateR") + +

+ +Available functions + +

+ + ++++ + + + + + + + + + + + + + + + + + +
FunctionDescription
gatingMain function. Conduct a gating strategy for mass cytometry data.
rrsCalled within `gating`, one condition comparison.
lotrrsCalled within `gating`, two condition comparison.
+ +## Usage +``` r +# ------------------ # +# Necessary packages # +# ------------------ # + +library(flowWorkspaceData) +library(ncdfFlow) +library(stats) + +# ---------------- # +# Data preparation # +# ---------------- # + +# Use 'extdata' from the {flowWorkspaceData} package +flowDataPath <- system.file("extdata", package = "flowWorkspaceData") +fcsFiles <- list.files(pattern = "CytoTrol", flowDataPath, full = TRUE) +ncfs <- ncdfFlow::read.ncdfFlowSet(fcsFiles) +fr1 <- ncfs[[1]] +fr2 <- ncfs[[2]] + +## Comparison of two samples (single condition) "g1" +## Two gates (four markers) "CD4", "CD38", "CD8", and "CD3" +## Log10 Transformation for all markers +## Remove cells with NA and Inf values + +# First sample +obs_dat1 <- data.frame("id" = seq(1, nrow(fr1@exprs), 1), + "g1" = rep(1, nrow(fr1@exprs)), + "log10_CD4" = log(fr1@exprs[ , 5], 10), + "log10_CD38" = log(fr1@exprs[ , 6], 10), + "log10_CD8" = log(fr1@exprs[ , 7], 10), + "log10_CD3" = log(fr1@exprs[ , 8], 10)) +# Second sample +obs_dat2 <- data.frame("id" = seq(1, nrow(fr2@exprs), 1), + "g1" = rep(2, nrow(fr2@exprs)), + "log10_CD4" = log(fr2@exprs[ , 5], 10), + "log10_CD38" = log(fr2@exprs[ , 6], 10), + "log10_CD8" = log(fr2@exprs[ , 7], 10), + "log10_CD3" = log(fr2@exprs[ , 8], 10)) +# Full set +obs_dat <- rbind(obs_dat1, obs_dat2) +obs_dat <- obs_dat[complete.cases(obs_dat), ] # remove NAs +obs_dat <- obs_dat[is.finite(rowSums(obs_dat)),] # remove Infs +obs_dat$g1 <- as.factor(obs_dat$g1) # set "g1" as binary factor + +# --------- # +# Run gateR # +# --------- # + +# Single Condition +## A p-value uncorrected for multiple testing +test_gate <- gateR::gating(dat = obs_dat, + vars = c("log10_CD4", "log10_CD38", "log10_CD8", "log10_CD3"), + n_condition = 1, + doplot = TRUE, + p_cor = "none") + +# -------------------- # +# Post-gate assessment # +# -------------------- # + +# Density of log10 CD4 post-gating +graphics::plot(stats::density(test_gate$obs[test_gate$obs$g1 == 1, 3]), + main = "log10 CD4", + lty = 2) +graphics::lines(stats::density(test_gate$obs[test_gate$obs$g1 == 2, 3]), + lty = 3) +graphics::legend("topright", + legend = c("Sample 1", "Sample 2"), + lty = c(2, 3), + bty = "n") + +# --------------------------------------------- # +# Perform a single gate without data extraction # +# --------------------------------------------- # + +# Single condition +## A p-value uncorrected for multiple testing +test_rrs <- gateR::rrs(dat = obs_dat, + p_cor = "none") + +# Two conditions +## Create a second condition (randomly split the data) +## In practice, use data with a measured second condition +g2 <- stats::rbinom(nrow(obs_dat), 1, 0.5) +obs_dat$g2 <- as.factor(g2) +obs_dat <- obs_dat[ , c(1:2,7,3:6)] + +## A p-value uncorrected for multiple testing +test_lotrrs <- gateR::lotrrs(dat = obs_dat, + p_cor = "none") +``` +![](man/figures/gate1.png) + +![](man/figures/gate2.png) + +![](man/figures/postgate.png) diff --git a/build/build.R b/build/build.R new file mode 100644 index 0000000..d0e3142 --- /dev/null +++ b/build/build.R @@ -0,0 +1,171 @@ +install.packages(c("devtools", "roxygen2", "testthat", "knitr")) +library(devtools) +devtools::has_devel() +library(roxygen2) +library(testthat) + +devtools::load_all() + +getOption("gateR") + +# Convert roxygen components to .Rd files +devtools::document() +?gateR + +# Create Vignette +install() +build() + +# Testing +use_testthat() +use_test() +test() + +# NAMESPACE +document() +install() + +# Check +check() + +# Ignore .R files from /build directory +usethis::use_build_ignore(c("build")) +usethis::use_build_ignore(c("figures")) + +# Example in README +# ------------------ # +# Necessary packages # +# ------------------ # + +library(flowWorkspaceData) +library(ncdfFlow) +library(stats) + +# ---------------- # +# Data preparation # +# ---------------- # + +# Use 'extdata' from the {flowWorkspaceData} package +flowDataPath <- system.file("extdata", package = "flowWorkspaceData") +fcsFiles <- list.files(pattern = "CytoTrol", flowDataPath, full = TRUE) +ncfs <- ncdfFlow::read.ncdfFlowSet(fcsFiles) +fr1 <- ncfs[[1]] +fr2 <- ncfs[[2]] + +## Comparison of two samples (single condition) "g1" +## Two gates (Four markers) "CD4", "CD38", "CD8", and "CD3" +## Log10 Transformation for all markers +## Remove cells with NA and Inf values + +# First sample +obs_dat1 <- data.frame("id" = seq(1, nrow(fr1@exprs), 1), + "g1" = rep(1, nrow(fr1@exprs)), + "log10_CD4" = log(fr1@exprs[ , 5], 10), + "log10_CD38" = log(fr1@exprs[ , 6], 10), + "log10_CD8" = log(fr1@exprs[ , 7], 10), + "log10_CD3" = log(fr1@exprs[ , 8], 10)) +# Second sample +obs_dat2 <- data.frame("id" = seq(1, nrow(fr2@exprs), 1), + "g1" = rep(2, nrow(fr2@exprs)), + "log10_CD4" = log(fr2@exprs[ , 5], 10), + "log10_CD38" = log(fr2@exprs[ , 6], 10), + "log10_CD8" = log(fr2@exprs[ , 7], 10), + "log10_CD3" = log(fr2@exprs[ , 8], 10)) +# Full set +obs_dat <- rbind(obs_dat1, obs_dat2) +obs_dat <- obs_dat[complete.cases(obs_dat), ] # remove NAs +obs_dat <- obs_dat[is.finite(rowSums(obs_dat)),] # remove Infs +obs_dat$g1 <- as.factor(obs_dat$g1) # set "g1" as binary factor + +# --------- # +# Run gateR # +# --------- # + +# Single Condition +## A p-value uncorrected for multiple testing +test_gate <- gateR::gating(dat = obs_dat, + vars = c("log10_CD4", "log10_CD38", "log10_CD8", "log10_CD3"), + n_condition = 1, + doplot = TRUE, + p_cor = "none") + +# -------------------- # +# Post-gate assessment # +# -------------------- # + +# Density of log10 CD4 post-gating +graphics::plot(stats::density(test_gate$obs[test_gate$obs$g1 == 1, 3]), + main = "log10 CD4", + lty = 2) +graphics::lines(stats::density(test_gate$obs[test_gate$obs$g1 == 2, 3]), + lty = 3) +graphics::legend("topright", + legend = c("Sample 1", "Sample 2"), + lty = c(2, 3), + bty = "n") + +# --------------------------------------------- # +# Perform a single gate without data extraction # +# --------------------------------------------- # + +# Single condition +## A p-value uncorrected for multiple testing +test_rrs <- gateR::rrs(dat = obs_dat, + p_cor = "none") + +# Two conditions +## Create a second condition (randomly split the data) +## In practice, use data with a measured second condition +g2 <- stats::rbinom(nrow(obs_dat), 1, 0.5) +obs_dat$g2 <- as.factor(g2) +obs_dat <- obs_dat[ , c(1:2,7,3:6)] + +## A p-value uncorrected for multiple testing +test_lotrrs <- gateR::lotrrs(dat = obs_dat, + doplot = FALSE, + p_cor = "none") + + +# Example in lotrrs() + library(flowWorkspaceData) + library(ncdfFlow) + library(stats) + +# Use 'extdata' from the {flowWorkspaceData} package + flowDataPath <- system.file("extdata", package = "flowWorkspaceData") + fcsFiles <- list.files(pattern = "CytoTrol", flowDataPath, full = TRUE) + ncfs <- ncdfFlow::read.ncdfFlowSet(fcsFiles) + fr1 <- ncfs[[1]] + fr2 <- ncfs[[2]] + +## Comparison of two samples at two time points (two conditions) "g1" and "g2" +## (Create a random binary variable for "g2") +## One gates (Two markers) "CD4", "CD38" +## Log10 Transformation for both markers +## Remove cells with NA and Inf values + +# First sample + obs_dat1 <- data.frame("id" = seq(1, nrow(fr1@exprs), 1), + "g1" = rep(1, nrow(fr1@exprs)), + "g2" = stats::rbinom(nrow(fr1@exprs), 1, 0.5), + "log10_CD4" = log(fr1@exprs[ , 5], 10), + "log10_CD38" = log(fr1@exprs[ , 6], 10)) +# Second sample + obs_dat2 <- data.frame("id" = seq(1, nrow(fr2@exprs), 1), + "g1" = rep(2, nrow(fr2@exprs)), + "g2" = stats::rbinom(nrow(fr2@exprs), 1, 0.5), + "log10_CD4" = log(fr2@exprs[ , 5], 10), + "log10_CD38" = log(fr2@exprs[ , 6], 10)) +# Full set + obs_dat <- rbind(obs_dat1, obs_dat2) + obs_dat <- obs_dat[complete.cases(obs_dat), ] # remove NAs + obs_dat <- obs_dat[is.finite(rowSums(obs_dat)),] # remove Infs + obs_dat$g1 <- as.factor(obs_dat$g1) # set "g1" as binary factor + obs_dat$g2 <- as.factor(obs_dat$g2) # set "g2" as binary factor + +# Run lotrrs() function + test_lotrrs <- lotrrs(dat = obs_dat, p_cor = "none") + + + +plot(out_gate$rrs[[2]]) diff --git a/build/hexsticker_gateR.R b/build/hexsticker_gateR.R new file mode 100644 index 0000000..fcada3d --- /dev/null +++ b/build/hexsticker_gateR.R @@ -0,0 +1,32 @@ +# ----------------------------------------------------- # +# HexSticker for the {gateR} package +# +# Created by: Ian Buller, Ph.D., M.A. (GitHub: @idblr) +# Created on: September 10, 2020 +# +# Recently modified by: +# Recently modified on: +# +# Notes: +# A) Uses the "hexSticker" package +# B) Modified image: https://publicdomainvectors.org/en/free-clipart/Crocodile-in-egg-shell/78578.html +# ----------------------------------------------------- # + +# Packages +library(hexSticker) + +# Image file +path_image <- "./man/figures/gator.png" + +# Create hexSticker +## the alligator palette https://www.color-hex.com/color-palette/33955 +## And colors from image https://html-color-codes.info/colors-from-image/ +s <- hexSticker::sticker(subplot = path_image, + package = "gateR", p_size = 8, p_color = "#577D45", + s_x = 1, s_y = 0.8, s_width = 0.8, s_height = 0.8, + h_fill = "#ffedb2", + h_color = "#577D45", + dpi = 1000, + filename = "./man/figures/gateR.png", + white_around_sticker = F) +# -------------------- END OF CODE -------------------- # diff --git a/gateR.Rproj b/gateR.Rproj new file mode 100644 index 0000000..60b3a1b --- /dev/null +++ b/gateR.Rproj @@ -0,0 +1,19 @@ +Version: 1.0 + +RestoreWorkspace: Default +SaveWorkspace: Default +AlwaysSaveHistory: Default + +EnableCodeIndexing: Yes +UseSpacesForTab: Yes +NumSpacesForTab: 2 +Encoding: UTF-8 + +RnwWeave: knitr +LaTeX: XeLaTeX + +AutoAppendNewline: Yes + +BuildType: Package +PackageUseDevtools: Yes +PackageInstallArgs: --no-multiarch --with-keep.source diff --git a/man/figures/gate1.png b/man/figures/gate1.png new file mode 100644 index 0000000000000000000000000000000000000000..27a2c11efacee25f5b6e63749b3f45fa1ae2fbe1 GIT binary patch literal 61675 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 uIDU0*40MhmlqYBbTrM literal 0 HcmV?d00001 diff --git a/man/figures/gate2.png b/man/figures/gate2.png new file mode 100644 index 0000000000000000000000000000000000000000..79226c46c78f2fcd122450aaa706c2a6d6a929e9 GIT binary patch literal 62100 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 NW=56=9~lxU{{nNfa8>{S literal 0 HcmV?d00001 diff --git a/man/figures/gateR.png b/man/figures/gateR.png new file mode 100644 index 0000000000000000000000000000000000000000..583d7519df2eb85c00dc45abf573a197b89c513b GIT binary patch literal 208305 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 z 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

{>F=S6>fRxV22L`p;qC2~0S{NyL7GZ-0MH(`d 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 lo<{jM$Q4GNw$!qDCE{RZ}V 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 S*6)7<{#2DT6$`Fg1pN<$|E@#; literal 0 HcmV?d00001 diff --git a/man/figures/postgate.png b/man/figures/postgate.png new file mode 100644 index 0000000000000000000000000000000000000000..e9e7220722609c21fe52cd54f9be164e28d78e32 GIT binary patch literal 33179 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 literal 0 HcmV?d00001 diff --git a/man/gating.Rd b/man/gating.Rd new file mode 100644 index 0000000..ac45232 --- /dev/null +++ b/man/gating.Rd @@ -0,0 +1,123 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/gating.R +\name{gating} +\alias{gating} +\title{Gating strategy for mass cytometry data using spatial relative risk functions} +\usage{ +gating( + dat, + vars, + n_condition = c(1, 2), + numerator = TRUE, + alpha = 0.05, + p_cor = c("none", "correlated", "uncorrelated"), + nbc = NULL, + doplot = FALSE, + rcols = c("#FF0000", "#cccccc", "#0000FF"), + win = NULL, + verbose = FALSE, + ... +) +} +\arguments{ +\item{dat}{Input data frame flow cytometry data with the following features (columns): 1) ID, 2) Condition A ID, 3) Condition B ID (optional), and a set of markers.} + +\item{vars}{A vector of characters with the name of features (columns) within \code{dat} to use as markers for each gate. See details below.} + +\item{numerator}{Logical. If \code{TRUE} (the default), cells will be extracted within all statistically significant numerator (i.e., case) clusters. If \code{FALSE}, cells will be extracted within all statistically significant denominator (i.e., control) clusters.} + +\item{alpha}{Numeric. The two-tailed alpha level for significance threshold (default is 0.05).} + +\item{nbc}{Optional. An integer for the number of bins when \code{p_correct = "correlated"}. Similar to \code{nbclass} argument in \code{\link[pgirmess]{nbclass}}. The default is the average number of gridded knots in one-dimension (i.e., x-axis).} + +\item{doplot}{Logical. If \code{TRUE}, the output includes basic data visualizations.} + +\item{rcols}{Character string of length three (3) specifying the colors for: 1) Group A, 2) Neither, and 3) Group B designations. The defaults are \code{c("#FF0000", "#cccccc", "#0000FF")} or \code{c("red", "grey80", "blue")}.} + +\item{win}{Optional. Object of class \code{owin} for a custom two-dimensional window within which to estimate the surfaces. The default is NULL and calculates a convex hull around the data.} + +\item{verbose}{Logical. If \code{TRUE} will print function progress during execution. If \code{FALSE} (the default), will not print.} + +\item{...}{Arguments passed to \code{\link[sparr]{risk}} to select bandwidth, edge correction, and resolution.} + +\item{n_conditions}{A numeric value of either 1 or 2 designating if the gating is performed with one condition or two conditions.} + +\item{p_correct}{Character string specifying whether to apply a correction for multiple comparisons including a Bonferroni correction \code{p_correct = "uncorrelated"} or a correlated Bonferroni correction \code{p_correct = "correlated"}. If \code{p_correct = "none"} then no correction is applied.} +} +\value{ +An object of class \code{list}. This is a named list with the following components: + +#' \describe{ +\item{\code{obs}}{An object of class 'tibble' of the same features as \code{dat} that includes the information for the cells extracted with significant clusters in the final gate.} +\item{\code{gate}}{An object of class 'list' of 'rrs' objects from each gate.} +} + +The objects of class 'rrs' is similar to the output of the \code{\link[sparr]{risk}} function with two additional components: +\describe{ +\item{\code{rr}}{An object of class 'im' with the relative risk surface.} +\item{\code{f}}{An object of class 'im' with the spatial density of the numerator.} +\item{\code{g}}{An object of class 'im' with the spatial density of the denominator.} +\item{\code{P}}{An object of class 'im' with the asymptotic p-value surface.} +\item{\code{lrr}}{An object of class 'im' with the log relative risk surface.} +\item{\code{alpha}}{A numeric value for the alpha level used within the gate.} +} +} +\description{ +Extracts cells within statistically significant combinations of flourescent markers, successively, for a set of markers. Statistically significant combinations are idetnified using two-tailed p-values of a relative risk surface assuming asymptotic normality. This function is currently available for two-level comparisons of a single group (e.g., case/control) or two groups (e.g., case/control at time 1 and time 2). Provides functionality for basic visualization and multiple testing correction. +} +\details{ +This function performs a sequential gating strategy for mass cytometry data comparing two levels with one or two conditions. Gates are typically two-dimensional space comprised of two flourescent markers. The two-level comparison allows for the estimation of a spatial relative risk function and the computation of p-value based on an assumption of asymptotic normality. Cells within statistically significant areas are extracted and used in the next gate. This function relies heavily upon the \code{\link[sparr]{risk}} function. Basic visualization is available if \code{doplot = TRUE}. + +The \code{vars} argument must be a vector with an even-numbered length where the odd-numbered elements are the markers used on the x-axis of a gate and the even-numbered elements are the markers used on the y-axis of a gate. For example, if \code{vars = c("V1", "V2", "V3", and "V4")} then the first gate is "V1" on the x-axis and "V2" on the y-axis and then the second gate is V3" on the x-axis and "V4" on the y-axis. Makers can be repeated in successive gates. + +The \code{n_conditions} argument specifies if the gating strategy is performed for one condition or two conditions. If \code{n_conditions = 1}, then the function performs a one condition gating strategy using the internal \code{rrs} function, which computes the statistically significant areas (clusers) of a relative risk surface at each gate and selects the cells within the clusters specified by the \code{numerator} argument. If \code{n_conditions = 2}, then the function performs a two conditions gating strategy using the internal \code{lotrrs} function, which computes the statistically significant areas (clusers) of a ratio of relative risk surfaces at each gate and selects the cells within the clusters specified by the \code{numerator} argument. See the documentation for the internal \code{rrs} and \code{lotrrs} functions for more details. + +The p-value surface of the ratio of relative risk surfaces is estimated assuming asymptotic normality of the ratio value at each gridded knot. The bandwidth is fixed across all layers. + +Provides functionality for a correction for multiple testing. If \code{p_correct = "uncorrelated"}, then a conventional Bonferroni correction is calculated by dividing the \code{alpha} level by the number of gridded knots across the estimated surface. The default in the \code{\link[sparr]{risk}} function is a resolution of 128 x 128 or n = 16,384 knots and a custom resolution can be specified using the \code{resolution} argument within the \code{\link[sparr]{risk}} function. If \code{p_correct = "correlated"}, then a Bonferroni correction that takes into account the spatial correlation of the surface is calculated within the internal \code{pval_correct} function. The \code{alpha} level is divided by the minimum number of knots that are not spatially correlated. The minimum number of knots that are not spatially correlated is computed by counting the knots that are a distance apart that exceeds the minimum distance of non-significant spatial correlation based on a correlogram using the \code{\link[pgirmess]{correlog}} function. If \code{p_correct = "none"}, then the function does not account for multiple testing and uses the uncorrected \code{alpha} level. See the internal \code{pval_correct} function documentation for more details. +} +\examples{ + library(flowWorkspaceData) + library(ncdfFlow) + +# Use 'extdata' from the {flowWorkspaceData} package + flowDataPath <- system.file("extdata", package = "flowWorkspaceData") + fcsFiles <- list.files(pattern = "CytoTrol", flowDataPath, full = TRUE) + ncfs <- ncdfFlow::read.ncdfFlowSet(fcsFiles) + fr1 <- ncfs[[1]] + fr2 <- ncfs[[2]] + +## Comparison of two samples (single condition) "g1" +## Two gates (four markers) "CD4", "CD38", "CD8", and "CD3" +## Log10 Transformation for both markers +## Remove cells with NA and Inf values + +# First sample + obs_dat1 <- data.frame("id" = seq(1, nrow(fr1@exprs), 1), + "g1" = rep(1, nrow(fr1@exprs)), + "log10_CD4" = log(fr1@exprs[ , 5], 10), + "log10_CD38" = log(fr1@exprs[ , 6], 10), + "log10_CD8" = log(fr1@exprs[ , 7], 10), + "log10_CD3" = log(fr1@exprs[ , 8], 10)) +# Second sample + obs_dat2 <- data.frame("id" = seq(1, nrow(fr2@exprs), 1), + "g1" = rep(2, nrow(fr2@exprs)), + "log10_CD4" = log(fr2@exprs[ , 5], 10), + "log10_CD38" = log(fr2@exprs[ , 6], 10), + "log10_CD8" = log(fr2@exprs[ , 7], 10), + "log10_CD3" = log(fr2@exprs[ , 8], 10)) +# Full set + obs_dat <- rbind(obs_dat1, obs_dat2) + obs_dat <- obs_dat[complete.cases(obs_dat), ] # remove NAs + obs_dat <- obs_dat[is.finite(rowSums(obs_dat)),] # remove Infs + obs_dat$g1 <- as.factor(obs_dat$g1) # set "g1" as binary factor + +# Run gating() function +## Single condition, no multiple testing correction + test_gate <- gateR::gating(dat = obs_dat, + vars = c("log10_CD4", "log10_CD38", + "log10_CD8", "log10_CD3"), + n_condition = 1, + p_cor = "none") + +} diff --git a/man/hello.Rd b/man/hello.Rd deleted file mode 100644 index 0fa7c4b..0000000 --- a/man/hello.Rd +++ /dev/null @@ -1,12 +0,0 @@ -\name{hello} -\alias{hello} -\title{Hello, World!} -\usage{ -hello() -} -\description{ -Prints 'Hello, world!'. -} -\examples{ -hello() -} diff --git a/man/lotrrs.Rd b/man/lotrrs.Rd new file mode 100644 index 0000000..54dfe5a --- /dev/null +++ b/man/lotrrs.Rd @@ -0,0 +1,104 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/lotrrs.R +\name{lotrrs} +\alias{lotrrs} +\title{A single gate for two conditions} +\usage{ +lotrrs( + dat, + alpha = 0.05, + p_correct = c("none", "correlated", "uncorrelated"), + nbc = NULL, + doplot = FALSE, + rcols = c("#FF0000", "#cccccc", "#0000FF"), + win = NULL, + verbose = FALSE, + ... +) +} +\arguments{ +\item{dat}{Input data frame flow cytometry data with five (5) features (columns): 1) ID, 2) Condition A ID, 3) Condition B ID, 4) Marker A as x-coordinate, 5) Marker B as y-coordinate.} + +\item{alpha}{Numeric. The two-tailed alpha level for significance threshold (default is 0.05).} + +\item{p_correct}{Character string specifying whether to apply a correction for multiple comparisons including a Bonferroni correction \code{p_correct = "uncorrelated"} or a correlated Bonferroni correction \code{p_correct = "correlated"}. If \code{p_correct = "none"} then no correction is applied.} + +\item{nbc}{Optional. An integer for the number of bins when \code{p_correct = "correlated"}. Similar to \code{nbclass} argument in \code{\link[pgirmess]{nbclass}}. The default is the average number of gridded knots in one-dimension (i.e., x-axis).} + +\item{doplot}{Logical. If \code{TRUE}, the output includes basic data visualizations.} + +\item{rcols}{Character string of length three (3) specifying the colors for: 1) Group A, 2) Neither, and 3) Group B designations. The defaults are \code{c("#FF0000", "#cccccc", "#0000FF")} or \code{c("red", "grey80", "blue")}.} + +\item{win}{Optional. Object of class \code{owin} for a custom two-dimensional window within which to estimate the surfaces. The default is NULL and calculates a convex hull around the data.} + +\item{verbose}{Logical. If \code{TRUE} will print function progress during execution. If \code{FALSE} (the default), will not print.} + +\item{...}{Arguments passed to \code{\link[sparr]{risk}} to select bandwidth, edge correction, and resolution.} +} +\value{ +An object of class 'list' where each element is a object of class 'rrs' created by the \code{\link[sparr]{risk}} function with two additional components: + +\describe{ +\item{\code{rr}}{An object of class 'im' with the relative risk surface.} +\item{\code{f}}{An object of class 'im' with the spatial density of the numerator.} +\item{\code{g}}{An object of class 'im' with the spatial density of the denominator.} +\item{\code{P}}{An object of class 'im' with the asymptotic p-value surface.} +\item{\code{lrr}}{An object of class 'im' with the log relative risk surface.} +\item{\code{alpha}}{A numeric value for the alpha level used within the gate.} +} +} +\description{ +Estimates a ratio of relative risk surfaces and computes the asymptotic p-value surface for a single gate with two conditions. Includes features for basic visualization. This function is used internally within the \code{\link{gating}} function to extract the points within the significant areas. This function can also be used as a standalone function. +} +\details{ +This function estimates a ratio of relative risk surfaces and computes the asymptotic p-value surface for a single gate with two conditions using three successive \code{\link[sparr]{risk}} functions. A relative risk surface is estimated for Condition A at each level of Condition B and then a ratio of the two relative risk surfaces is computed. + +\deqn{RR_{Condition B1} = \frac{Condition A2 of B1}{Condition A1 of B1}} +\deqn{RR_{Condition B2} = \frac{Condition A2 of B2}{Condition A1 of B2}} +\deqn{ln(rRR) = ln\left (\frac{RR_{Condition B2}}{CRR_{Condition B2}}\right )} + +The p-value surface of the ratio of relative risk surfaces is estimated assuming asymptotic normality of the ratio value at each gridded knot. The bandwidth is fixed across all layers. Basic visualization is available if \code{doplot = TRUE}. + +Provides functionality for a correction for multiple testing. If \code{p_correct = "uncorrelated"}, then a conventional Bonferroni correction is calculated by dividing the \code{alpha} level by the number of gridded knots across the estimated surface. The default in the \code{\link[sparr]{risk}} function is a resolution of 128 x 128 or n = 16,384 knots and a custom resolution can be specified using the \code{resolution} argument within the \code{\link[sparr]{risk}} function. If \code{p_correct = "correlated"}, then a Bonferroni correction that takes into account the spatial correlation of the surface is calculated within the internal \code{pval_correct} function. The \code{alpha} level is divided by the minimum number of knots that are not spatially correlated. The minimum number of knots that are not spatially correlated is computed by counting the knots that are a distance apart that exceeds the minimum distance of non-significant spatial correlation based on a correlogram using the \code{\link[pgirmess]{correlog}} function. If \code{p_correct = "none"}, then the function does not account for multiple testing and uses the uncorrected \code{alpha} level. See the internal \code{pval_correct} function documentation for more details. +} +\examples{ + library(flowWorkspaceData) + library(ncdfFlow) + library(stats) + +# Use 'extdata' from the {flowWorkspaceData} package + flowDataPath <- system.file("extdata", package = "flowWorkspaceData") + fcsFiles <- list.files(pattern = "CytoTrol", flowDataPath, full = TRUE) + ncfs <- ncdfFlow::read.ncdfFlowSet(fcsFiles) + fr1 <- ncfs[[1]] + fr2 <- ncfs[[2]] + +## Comparison of two samples at two time points (two conditions) "g1" and "g2" +## (Create a random binary variable for "g2") +## One gate (two markers) "CD4", "CD38" +## Log10 Transformation for both markers +## Remove cells with NA and Inf values + +# First sample + obs_dat1 <- data.frame("id" = seq(1, nrow(fr1@exprs), 1), + "g1" = rep(1, nrow(fr1@exprs)), + "g2" = stats::rbinom(nrow(fr1@exprs), 1, 0.5), + "log10_CD4" = log(fr1@exprs[ , 5], 10), + "log10_CD38" = log(fr1@exprs[ , 6], 10)) +# Second sample + obs_dat2 <- data.frame("id" = seq(1, nrow(fr2@exprs), 1), + "g1" = rep(2, nrow(fr2@exprs)), + "g2" = stats::rbinom(nrow(fr2@exprs), 1, 0.5), + "log10_CD4" = log(fr2@exprs[ , 5], 10), + "log10_CD38" = log(fr2@exprs[ , 6], 10)) +# Full set + obs_dat <- rbind(obs_dat1, obs_dat2) + obs_dat <- obs_dat[complete.cases(obs_dat), ] # remove NAs + obs_dat <- obs_dat[is.finite(rowSums(obs_dat)),] # remove Infs + obs_dat$g1 <- as.factor(obs_dat$g1) # set "g1" as binary factor + obs_dat$g2 <- as.factor(obs_dat$g2) # set "g2" as binary factor + +# Run lotrrs() function + test_lotrrs <- lotrrs(dat = obs_dat, p_cor = "none") + +} diff --git a/man/lrr_plot.Rd b/man/lrr_plot.Rd new file mode 100644 index 0000000..ad2def0 --- /dev/null +++ b/man/lrr_plot.Rd @@ -0,0 +1,43 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/lrr_plot.R +\name{lrr_plot} +\alias{lrr_plot} +\title{Prepare log relative risk values for plotting with a diverging color palette} +\usage{ +lrr_plot( + input, + cols, + midpoint = 0, + thresh_up = NULL, + thresh_low = NULL, + digits = 1 +) +} +\arguments{ +\item{input}{An object of class 'rrs' from the \code{\link{lrren}} function.} + +\item{midpoint}{Numeric. The value to center the diverging color palette.} + +\item{thresh_up}{Numeric. The upper value to concatenate the color key. The default (NULL) uses the maximum value from \code{input}.} + +\item{thresh_low}{Numeric. The lower value to concatenate the color key. The default (NULL) uses the minimum value from \code{input}.} + +\item{digits}{Integer. The number of significant digits for the labels using the \code{round} function (default is 1).} + +\item{plot_cols}{Character string of length three (3) specifying the colors for plotting: 1) presence, 2) neither, and 3) absence from the \code{\link{plot_obs}} function.} +} +\value{ +An object of class 'list'. This is a named list with the following components: + +\describe{ +\item{\code{v}}{An object of class 'vector' for the estimated ecological niche values.} +\item{\code{cols}}{An object of class 'vector', returns diverging color palette values.} +\item{\code{breaks}}{An object of class 'vector', returns diverging color palette breaks.} +\item{\code{at}}{An object of class 'vector', returns legend breaks.} +\item{\code{labels}}{An object of class 'vector', returns legend labels.} +} +} +\description{ +Internal function to convert an object of class 'im' to values readable by \code{\link[fields]{image.plot}} function within the \code{\link{rrs}} and \code{\link{lotrrs}} functions. +} +\keyword{internal} diff --git a/man/pval_correct.Rd b/man/pval_correct.Rd new file mode 100644 index 0000000..e51e476 --- /dev/null +++ b/man/pval_correct.Rd @@ -0,0 +1,36 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/pval_correct.R +\name{pval_correct} +\alias{pval_correct} +\title{Calculate p-value corrections} +\usage{ +pval_correct(input, alpha = 0.05, nbc = NULL) +} +\arguments{ +\item{input}{An object of class 'rrs' from the \code{\link{rrs}} or \code{\link{lotrrs}} function.} + +\item{alpha}{Numeric. The two-tailed alpha level for significance threshold (default in \code{\link{rrs}} and \code{\link{lotrrs}} functions is 0.05).} + +\item{nbc}{Integer. The number of bins. Similar to \code{nbclass} argument in \code{\link[pgirmess]{correlog}} function. The default is the average number of gridded knots in one-dimension (i.e., x-axis).} +} +\value{ +An object of class 'list'. This is a named list with the following components: + +\describe{ +\item{\code{uncorrected}}{Numeric. Returns the uncorrected p-value.} +\item{\code{correlated}}{Numeric. Returns the correlated Bonferroni corrected p-value.} +\item{\code{uncorrelated}}{Numeric. Returns the uncorrelated Bonferroni corrected p-value.} +} +} +\description{ +Internal function to calculate various p-value corrections including a correlated and uncorrelated Bonferroni correction for use within the \code{\link{rrs}} and \code{\link{lotrrs}} function. +} +\details{ +This function provides functionality for multiple testing correction in two ways: + +\enumerate{ +\item Computes a conventional Bonferroni correction ("uncorrelated") by dividing the \code{alpha} level by the number of gridded knots across the estimated surface. The default in the \code{\link[sparr]{risk}} function is a resolution of 128 x 128 or n = 16,384 knots. +\item Computs a correlated Bonferroni correction ("correlated") by taking in account the spatial correlation of the relative risk surface values (if using the \code{rrs} function for a single condition gate) or the ratio of relative risk surfaces values (if using the \code{lotrrs} function for a two condition gate). The \code{alpha} level is divided by the minimum number of knots that are not spatially correlated. The minimum number of knots that are not spatially correlated is computed by counting the knots that are a distance apart that exceeds the minimum distance of non-significant spatial correlation based on a correlogram using the \code{\link[pgirmess]{correlog}} function. +} +} +\keyword{internal} diff --git a/man/pval_plot.Rd b/man/pval_plot.Rd new file mode 100644 index 0000000..e860ae5 --- /dev/null +++ b/man/pval_plot.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/pval_plot.R +\name{pval_plot} +\alias{pval_plot} +\title{Prepare significant p-values for plotting} +\usage{ +pval_plot(input, alpha) +} +\arguments{ +\item{input}{An object of class 'rrs' from the \code{\link{lrren}} function.} + +\item{alpha}{Numeric. The two-tailed alpha level for significance threshold (default in \code{\link{rrs}}, \code{\link{lotrrs}}, and \code{\link{gate}} functions is 0.05).} +} +\value{ +An object of class 'raster' with categorical values: + +\itemize{ +\item A value of 1: Significant numerator. +\item A value of 2: Insignificant. +\item A value of 3: Significant demoninator. +} +} +\description{ +Internal function to convert an object of class 'im' to values readable by \code{\link[fields]{image.plot}} function within the \code{\link{rrs}}, \code{\link{lotrrs}}, and \code{\link{gate}} functions. +} +\keyword{internal} diff --git a/man/rrs.Rd b/man/rrs.Rd new file mode 100644 index 0000000..f753f32 --- /dev/null +++ b/man/rrs.Rd @@ -0,0 +1,93 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/rrs.R +\name{rrs} +\alias{rrs} +\title{A single gate for a single condition} +\usage{ +rrs( + dat, + alpha = 0.05, + p_correct = c("none", "correlated", "uncorrelated"), + nbc = NULL, + doplot = FALSE, + rcols = c("#FF0000", "#cccccc", "#0000FF"), + win = NULL, + verbose = FALSE, + ... +) +} +\arguments{ +\item{dat}{Input data frame flow cytometry data with four (4) features (columns): 1) ID, 2) Condition A ID, 3) Marker A as x-coordinate, 4) Marker B as y-coordinate.} + +\item{alpha}{Numeric. The two-tailed alpha level for significance threshold (default is 0.05).} + +\item{p_correct}{Character string specifying whether to apply a correction for multiple comparisons including a Bonferroni correction \code{p_correct = "uncorrelated"} or a correlated Bonferroni correction \code{p_correct = "correlated"}. If \code{p_correct = "none"} then no correction is applied.} + +\item{nbc}{Optional. An integer for the number of bins when \code{p_correct = "correlated"}. Similar to \code{nbclass} argument in \code{\link[pgirmess]{nbclass}}. The default is the average number of gridded knots in one-dimension (i.e., x-axis).} + +\item{doplot}{Logical. If \code{TRUE}, the output includes basic data visualizations.} + +\item{rcols}{Character string of length three (3) specifying the colors for: 1) Group A, 2) Neither, and 3) Group B designations. The defaults are \code{c("#FF0000", "#cccccc", "#0000FF")} or \code{c("red", "grey80", "blue")}.} + +\item{win}{Optional. Object of class \code{owin} for a custom two-dimensional window within which to estimate the surfaces. The default is NULL and calculates a convex hull around the data.} + +\item{verbose}{Logical. If \code{TRUE} will print function progress during execution. If \code{FALSE} (the default), will not print.} + +\item{...}{Arguments passed to \code{\link[sparr]{risk}} to select bandwidth, edge correction, and resolution.} +} +\value{ +An object of class 'list' where each element is a object of class 'rrs' created by the \code{\link[sparr]{risk}} function with two additional components: + +\describe{ +\item{\code{rr}}{An object of class 'im' with the relative risk surface.} +\item{\code{f}}{An object of class 'im' with the spatial density of the numerator.} +\item{\code{g}}{An object of class 'im' with the spatial density of the denominator.} +\item{\code{P}}{An object of class 'im' with the asymptotic p-value surface.} +\item{\code{lrr}}{An object of class 'im' with the log relative risk surface.} +\item{\code{alpha}}{A numeric value for the alpha level used within the gate.} +} +} +\description{ +Estimates a relative risk surface and computes the asymptotic p-value surface for a single gate with a single condition. Includes features for basic visualization. This function is used internally within the \code{\link{gating}} function to extract the points within the significant areas. This function can also be used as a standalone function. +} +\details{ +This function estimates a relative risk surface and computes the asymptotic p-value surface for a single gate and single condition using the \code{\link[sparr]{risk}} function. Bandwidth is fixed across both layers (numerator and demoninator spatial densities). Basic visualization is available if \code{doplot = TRUE}. + +Provides functionality for a correction for multiple testing. If \code{p_correct = "uncorrelated"}, then a conventional Bonferroni correction is calculated by dividing the \code{alpha} level by the number of gridded knots across the estimated surface. The default in the \code{\link[sparr]{risk}} function is a resolution of 128 x 128 or n = 16,384 knots and a custom resolution can be specified using the \code{resolution} argument within the \code{\link[sparr]{risk}} function. If \code{p_correct = "correlated"}, then a Bonferroni correction that takes into account the spatial correlation of the surface is calculated within the internal \code{pval_correct} function. The \code{alpha} level is divided by the minimum number of knots that are not spatially correlated. The minimum number of knots that are not spatially correlated is computed by counting the knots that are a distance apart that exceeds the minimum distance of non-significant spatial correlation based on a correlogram using the \code{\link[pgirmess]{correlog}} function. If \code{p_correct = "none"}, then the function does not account for multiple testing and uses the uncorrected \code{alpha} level. See the internal \code{pval_correct} function documentation for more details. +} +\examples{ + library(flowWorkspaceData) + library(ncdfFlow) + +# Use 'extdata' from the {flowWorkspaceData} package + flowDataPath <- system.file("extdata", package = "flowWorkspaceData") + fcsFiles <- list.files(pattern = "CytoTrol", flowDataPath, full = TRUE) + ncfs <- ncdfFlow::read.ncdfFlowSet(fcsFiles) + fr1 <- ncfs[[1]] + fr2 <- ncfs[[2]] + +## Comparison of two samples (single condition) "g1" +## One gate (two markers) "CD4", "CD38" +## Log10 Transformation for both markers +## Remove cells with NA and Inf values + +# First sample + obs_dat1 <- data.frame("id" = seq(1, nrow(fr1@exprs), 1), + "g1" = rep(1, nrow(fr1@exprs)), + "log10_CD4" = log(fr1@exprs[ , 5], 10), + "log10_CD38" = log(fr1@exprs[ , 6], 10)) +# Second sample + obs_dat2 <- data.frame("id" = seq(1, nrow(fr2@exprs), 1), + "g1" = rep(2, nrow(fr2@exprs)), + "log10_CD4" = log(fr2@exprs[ , 5], 10), + "log10_CD38" = log(fr2@exprs[ , 6], 10)) +# Full set + obs_dat <- rbind(obs_dat1, obs_dat2) + obs_dat <- obs_dat[complete.cases(obs_dat), ] # remove NAs + obs_dat <- obs_dat[is.finite(rowSums(obs_dat)),] # remove Infs + obs_dat$g1 <- as.factor(obs_dat$g1) # set "g1" as binary factor + +# Run rrs() function + test_rrs <- rrs(dat = obs_dat, p_cor = "none") + +} diff --git a/vignettes/vignette.Rmd b/vignettes/vignette.Rmd new file mode 100644 index 0000000..44ddd2b --- /dev/null +++ b/vignettes/vignette.Rmd @@ -0,0 +1,367 @@ +--- +title: "gateR: Gating strategy for mass cytometry using kernel density estimation" +author: 'Ian D. Buller, Ph.D., M.A. (Github: @idblr)' +date: "`r Sys.Date()`" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{gateR: Gating strategy for mass cytometry using kernel density estimation} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r setup, include = FALSE} + knitr::opts_chunk$set(echo = TRUE, warning = FALSE, message = FALSE, cache = FALSE, fig.width = 7, fig.height = 7, fig.show = "hold") +``` + +Start with the necessary packages and seed for the vignette. + +```{r packages} + loadedPackages <- c("gateR", "graphics", "maptools", "raster", "sp", "sparr", "spatstat.core", "stats", "tibble", "utils") + invisible(lapply(loadedPackages, library, character.only = TRUE)) + set.seed(1234) # for reproducibility +``` + +### Generate random toy data using the `spatstat.core` package + +Unique function to randomly generate data multivariate normal (MVN) around a central point. Parameters include the centroid coordinates (`centre`), number of observations to generate (`ncell`), and the standard deviation of the normal distribution (`scalar`). + +```{r rand_mvn function} + rand_mvn <- function(centre, ncell, scalar) { + x0 <- centre[1] + y0 <- centre[2] + x1 <- rep(x0, ncell) + y1 <- rep(y0, ncell) + x2 <- x1 + stats::rnorm(ncell, 0, scalar) + y2 <- y1 + stats::rnorm(ncell, 0, scalar) + x <- cbind(x2, y2) + } +``` + +#### Gate 1: Marker 1 and Marker 2 + +At Time 0, we generate 100,000 cases and 100,000 controls (`ncell = 100000`) randomly MVN with a case centroid at (`0.55, 0.55`) and a control centroid at (`0.40, 0.40`) within a unit square window `(0, 1)`, and cases have a more focal cluster (`scalar = 0.05`) than controls (`scalar = 0.15`). + +```{r gate 1 time 0} +# Initial parameters + ncell <- 100000 # number of observations per group per time + t0_cas_center <- c(0.55, 0.55) + t0_con_center <- c(0.40, 0.40) +# V1 and V2 at Time 0 + t0_cas <- rand_mvn(centre = t0_cas_center, ncell = ncell, scalar = 0.05) + t0_con <- rand_mvn(centre = t0_con_center, ncell = ncell, scalar = 0.15) + graphics::par(pty = "s") + graphics::plot(t0_con, + col = "blue", + xlim = c(0, 1), + ylim = c(0, 1), + main = "Gate 1, Time 0", + xlab = "V1", + ylab = "V2") + graphics::points(t0_cas, col = "orangered4") +``` + +At Time 1, we generate 100,000 cases and 100,000 controls (`ncell = 100000`) randomly MVN with a case centroid at (`0.45, 0.45`) and a control centroid at (`0.40, 0.40`) within a unit square window `(0, 1)`, and cases have a more focal cluster (`scalar = 0.05`) than controls (`scalar = 0.10`). + +```{r gate 1 time 1} +# Initial parameters + t1_cas_center <- c(0.45, 0.45) + t1_con_center <- c(0.40, 0.40) +# V1 and V2 at Time 1 + t1_cas <- rand_mvn(centre = t1_cas_center, ncell = ncell, scalar = 0.05) + t1_con <- rand_mvn(centre = t1_con_center, ncell = ncell, scalar = 0.10) + graphics::par(pty = "s") + graphics::plot(t1_con, + col = "cornflowerblue", + xlim = c(0, 1), + ylim = c(0, 1), + main = "Gate 1, Time 1", + xlab = "V1", + ylab = "V2") + graphics::points(t1_cas, col = "orangered1") +``` + +```{r compile data} +# compile data + df_full <- tibble::tibble("id" = seq(1, ncell * 2 * 2, 1), + "group" = factor(c(rep("case", ncell * 2), + rep("control", ncell * 2))), + "time" = factor(c(rep("1", ncell), rep("0", ncell), + rep("1", ncell), rep("0", ncell))), + "V1" = c(t1_cas[ , 1], t0_cas[ , 1], t1_con[ , 1], t0_con[ , 1]), + "V2" = c(t1_cas[ , 2], t0_cas[ , 2], t1_con[ , 2], t0_con[ , 2])) +``` + +#### Gate 2: Marker 3 and Marker 4 + +At Time 0, we generate 100,000 cases and 100,000 controls (`ncell = 100000`) randomly MVN with a case centroid at (`0.55, 0.55`) and a control centroid at (`0.50, 0.50`) within a unit square window `(0, 05)`, but both have the same amount of spread (`scalar = 0.10`). + +```{r gate 2 time 0} +# Initial parameters + t0_cas_center <- c(0.55, 0.55) + t0_con_center <- c(0.50, 0.50) +# V3 and V4 at Time 0 + t0_cas <- rand_mvn(centre = t0_cas_center, ncell = ncell, scalar = 0.05) + t0_con <- rand_mvn(centre = t0_con_center, ncell = ncell, scalar = 0.10) + graphics::par(pty = "s") + graphics::plot(t0_con, + col = "blue", + xlim = c(0, 1), + ylim = c(0, 1), + main = "Gate 2, Time 0", + xlab = "V3", + ylab = "V4") + graphics::points(t0_cas, col = "orangered4") +``` + +At Time 1, we generate 100,000 cases and 100,000 controls (`ncell = 100000`) randomly with a case centroid at (`0.65, 0.65`) and control a centroid at (`0.50, 0.50`) within a unit square window `(0, 1)`, and cases have a more focal cluster (`scalar = 0.05`) than controls (`scalar = 0.10`). + +```{r gate 2 time 1} +# Initial parameters + t1_cas_center <- c(0.65, 0.65) + t1_con_center <- c(0.50, 0.50) +# V3 and V4 at Time 1 + t1_cas <- rand_mvn(centre = t1_cas_center, ncell = ncell, scalar = 0.05) + t1_con <- rand_mvn(centre = t1_con_center, ncell = ncell, scalar = 0.10) + graphics::par(pty = "s") + graphics::plot(t1_con, + col = "cornflowerblue", + xlim = c(0, 1), + ylim = c(0, 1), + main = "Gate 2, Time 1", + xlab = "V3", + ylab = "V4") + graphics::points(t1_cas, col = "orangered1") +``` + +Compile the toy data into a data frame + +```{r append data} + df_full$V3 <- c(t1_cas[ , 1], t0_cas[ , 1], t1_con[ , 1], t0_con[ , 1]) + df_full$V4 <- c(t1_cas[ , 2], t0_cas[ , 2], t1_con[ , 2], t0_con[ , 2]) +``` + +Generate random values for two example cytokines and append to the data frame. + +```{r cytokines} +# Two Cytokines + C1 <- stats::rchisq(ncell * 4, df = 5) # Random Chi-square distribution + C2 <- stats::rnorm(ncell * 4, 0, 1) # Random Gaussian distribution +# Append to data.frame + df_full$C1 <- C1 + df_full$C2 <- C2 +# Visualize histograms by the two group conditions + graphics::par(mfrow = c(2, 2), pty = "s") + graphics::plot(stats::density(df_full$C1[df_full$group == "case" + & df_full$time == "0"]), + main = "Cytokine 1 of Cases at Time 0") + graphics::plot(stats::density(df_full$C1[df_full$group == "case" + & df_full$time == "1"]), + main = "Cytokine 1 of Cases at Time 1") + graphics::plot(stats::density(df_full$C1[df_full$group == "control" + & df_full$time == "0"]), + main = "Cytokine 1 of Controls at Time 0") + graphics::plot(stats::density(df_full$C1[df_full$group == "control" + & df_full$time == "1"]), + main = "Cytokine 1 of Controls at Time 1") + graphics::plot(stats::density(df_full$C2[df_full$group == "case" + & df_full$time == "0"]), + main = "Cytokine 2 of Cases at Time 0") + graphics::plot(stats::density(df_full$C2[df_full$group == "case" + & df_full$time == "1"]), + main = "Cytokine 2 of Cases at Time 1") + graphics::plot(stats::density(df_full$C2[df_full$group == "control" + & df_full$time == "0"]), + main = "Cytokine 2 of Controls at Time 0") + graphics::plot(stats::density(df_full$C2[df_full$group == "control" + & df_full$time == "1"]), + main = "Cytokine 2 of Controls at Time 1") +``` + +The toy data frame has nine columns (id, groups, markers, and cytokines). + +```{r full data} + df_save <- df_full # create copy for latter example + utils::head(df_full) +``` + +### For a two conditions + +```{r 2C} +# Initial parameters + alpha <- 0.05 + vars <- c("V1", "V2", "V3", "V4") + p_cor <- "uncorrelated" + set.seed(1234) # for reproducibility + +# Gates 1 and 2 + start_time <- Sys.time() # record start time + out_gate <- gateR::gating(dat = df_save, + vars = vars, + n_condition = 2, + doplot = TRUE, + alpha = alpha, + p_cor = p_cor) + end_time <- Sys.time() # record end time + total_time <- end_time - start_time # calculate duration of gateRR() example +``` + +The gating process took about `r round(total_time, digits = 1)` *seconds* on a Macbook Pro (4 variables, 2 gates, 2 cytokines, `r format(nrow(df_save), big.mark= ",")` observations). The corrected signficance level in the first gate was `r formatC(out_gate$lrr[[1]]$alpha, format = "e", digits = 2)`. The histograms for the two cytokines are the same as above. + +```{r 2C cytokines A} +# Plot of Cytokine 1 + graphics::par(mfrow = c(1, 2), pty = "s") + graphics::plot(stats::density(out_gate$obs$C1[out_gate$obs$group == "case" + & out_gate$obs$time == "1"]), + col = "red", main = "Cytokine 1 of cases\npost-gating", + xlim = c(-5, 30), + ylim = c(0, 0.2)) + graphics::plot(stats::density(out_gate$obs$C1[out_gate$obs$group == "control" + & out_gate$obs$time == "1"]), + col = "blue", + main = "Cytokine 1 of controls\npost-gating", + xlim = c(-5, 30), + ylim = c(0, 0.2)) +# Plot of Cytokine 2 + graphics::par(mfrow = c(1, 2), pty = "s") + graphics::plot(stats::density(out_gate$obs$C2[out_gate$obs$group == "case" + & out_gate$obs$time == "1"]), + col = "red", + main = "Cytokine 2 of cases\npost-gating", + xlim = c(-5, 5), + ylim = c(0, 0.5)) + graphics::plot(stats::density(out_gate$obs$C2[out_gate$obs$group == "control" + & out_gate$obs$time == "1"]), + col = "blue", + main = "Cytokine 2 of controls\npost-gating", + xlim = c(-5, 5), + ylim = c(0, 0.5)) +``` + +Compare histograms before and after gating. Gating reduced the overall sample size of observations from `r format(nrow(df_save), big.mark= ",")` (cases & controls and Time 0 & Time 1) to `r format(nrow(out_gate$obs), big.mark = ",")` observations (cases & controls and Time 0 & Time 1). + +```{r 2C cytokines B} +# Plot of Cytokine 1 + graphics::par(mfrow = c(1, 2), pty = "s") + graphics::plot(stats::density(df_save$C1[df_save$group == "case" + & df_save$time == "1"]), + col = "black", + lty = 1, + main = "Cytokine 1 of cases\npre-gating", + xlim = c(-5, 30), + ylim = c(0, 0.2)) + graphics::plot(stats::density(out_gate$obs$C1[out_gate$obs$group == "case" + & out_gate$obs$time == "1"]), + col = "black", + lty = 1, + main = "Cytokine 1 of cases\npost-gating", + xlim = c(-5, 30), + ylim = c(0, 0.2)) +# Plot of Cytokine 2 + graphics::par(mfrow = c(1, 2), pty = "s") + graphics::plot(stats::density(df_save$C2[df_save$group == "case" + & df_save$time == "1"]), + col = "black", + lty = 1, + main = "Cytokine 2 of cases\npre-gating", + xlim = c(-5, 5), + ylim = c(0, 0.5)) + graphics::plot(stats::density(out_gate$obs$C2[out_gate$obs$group == "case" + & out_gate$obs$time == "1"]), + col = "black", + lty = 1, + main = "Cytokine 2 of cases\npost-gating", + xlim = c(-5 ,5), + ylim = c(0, 0.5)) +``` + +### For a one condition (using only T0) + +```{r 1C} +# Data subset, only T0 + df_sub <- df_save[df_save$time == 0, ] # For only condition Time = 0 + +# Initial parameters + alpha <- 0.05 + vars <- c("V1", "V2", "V3", "V4") + p_cor <- "uncorrelated" + set.seed(1234) # for reproducibility + +# Gates 1 and 2 + start_time <- Sys.time() # record start time + out_gate <- gateR::gating(dat = df_sub, + vars = vars, + doplot = TRUE, + n_condition = 1, + alpha = alpha, + p_cor = p_cor) + end_time <- Sys.time() # record end time + total_time <- end_time - start_time # calculate duration of gateRR() example +``` + +The gating process took about `r round(total_time, digits = 1)` *seconds* on a Macbook Pro (4 variables, 2 gates, 2 cytokines, `r format(nrow(df_sub), big.mark= ",")` observations). The corrected signficance level in the first gate was `r formatC(out_gate$lrr[[1]]$alpha, format = "e", digits = 2)`. The histograms for the two cytokines are the same as above. + +```{r 1C cytokines A} +# Plot of Cytokine 1 + graphics::par(mfrow = c(1, 2), pty = "s") + graphics::plot(stats::density(out_gate$obs$C1[out_gate$obs$group == "case"]), + col = "red", + main = "Cytokine 1 of cases\npost-gating", + xlim = c(-5, 30), + ylim = c(0, 0.2)) + graphics::plot(stats::density(out_gate$obs$C1[out_gate$obs$group == "control"]), + col = "blue", + main = "Cytokine 1 of controls\npost-gating", + xlim = c(-5, 30), + ylim = c(0, 0.2)) +# Plot of Cytokine 2 + graphics::par(mfrow = c(1, 2), pty = "s") + graphics::plot(stats::density(out_gate$obs$C2[out_gate$obs$group == "case"]), + col = "red", + main = "Cytokine 2 of cases\npost-gating", + xlim = c(-5, 5), + ylim = c(0, 0.5)) + graphics::plot(stats::density(out_gate$obs$C2[out_gate$obs$group == "control"]), + col = "blue", + main = "Cytokine 2 of controls\npost-gating", + xlim = c(-5, 5), + ylim = c(0, 0.5)) +``` + +Compare histograms before and after gating. Gating reduced the overall sample size of observations from `r format(nrow(df_sub), big.mark= ",")` (cases & controls) to `r format(nrow(out_gate$obs), big.mark = ",")` observations (cases & controls). + +```{r 1C cytokines B} +# Plot of Cytokine 1 + graphics::par(mfrow = c(1, 2), pty = "s") + graphics::plot(stats::density(df_save$C1[df_save$group == "case"]), + col = "black", + lty = 1, + main = "Cytokine 1 of cases\npre-gating", + xlim = c(-5, 30), + ylim = c(0, 0.2)) + graphics::plot(stats::density(out_gate$obs$C1[out_gate$obs$group == "case"]), + col = "black", + lty = 1, + main = "Cytokine 1 of cases\npost-gating", + xlim = c(-5, 30), + ylim = c(0, 0.2)) +# Plot of Cytokine 2 + graphics::par(mfrow = c(1, 2), pty = "s") + graphics::plot(stats::density(df_save$C2[df_save$group == "case"]), + col = "black", + lty = 1, + main = "Cytokine 2 of cases\npre-gating", + xlim = c(-5, 5), + ylim = c(0, 0.5)) + graphics::plot(stats::density(out_gate$obs$C2[out_gate$obs$group == "case"]), + col = "black", + lty = 1, + main = "Cytokine 2 of cases\npost-gating", + xlim = c(-5 ,5), + ylim = c(0, 0.5)) +``` + +### Current limitations + +1. Extracts observations at *all* significant clusters (either case or controls). There is no ability to select which case cluster for the next gate. +2. Only two dimensions (i.e., Markers) per gate. +3. Only two group comparisons (e.g., case v. control) per gate.