From 65ffff67b9ddcd4cd8d0a5f44e40416268f87e90 Mon Sep 17 00:00:00 2001 From: jasenfinch Date: Wed, 17 Nov 2021 09:48:14 +0000 Subject: [PATCH 1/5] sanitiseTable() now limits the number of characters allowed in strings --- NAMESPACE | 1 + R/sanitise.R | 19 +++++++++++++++++-- man/sanitiseTable.Rd | 4 +++- tests/testthat/test-sanitise.R | 10 +++++++++- 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index 637c14e..0804971 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -83,6 +83,7 @@ importFrom(profilePro,processingParameters) importFrom(profilePro,technique) importFrom(purrr,map) importFrom(purrr,map_chr) +importFrom(purrr,map_df) importFrom(readr,write_csv) importFrom(stats,IQR) importFrom(stats,quantile) diff --git a/R/sanitise.R b/R/sanitise.R index 1351a1d..dda734f 100644 --- a/R/sanitise.R +++ b/R/sanitise.R @@ -1,15 +1,17 @@ #' Sanitise a data table -#' @description Sanitise a data table by restricting the number of rows and rounding numeric columns. +#' @description Sanitise a data table by restricting the number of rows or characters and rounding numeric columns. #' @param x A tibble or data.frame containing the data to be sanitised #' @param maxRows Maximum number of rows with which to restrict the table #' @param sigFig Significant figures with which to round numeric columns +#' @param maxCharacters Maximum number of characters allowed in a string before it is truncated #' @examples #' sanitiseTable(iris,maxRows = 10,sigFig = 1) #' @importFrom dplyr mutate_if +#' @importFrom purrr map_df #' @export -sanitiseTable <- function(x,maxRows = 5000,sigFig = 3){ +sanitiseTable <- function(x,maxRows = 5000,sigFig = 3,maxCharacters = 100){ x <- mutate_if(x,is.numeric,signif,digits = sigFig) if (nrow(x) > maxRows){ @@ -17,5 +19,18 @@ sanitiseTable <- function(x,maxRows = 5000,sigFig = 3){ x <- x[seq_len(maxRows),] } + a <- map_df(x,~{ + if (typeof(.x) == 'character'){ + limit_characters <- .x %>% + nchar() %>% + {. > maxCharacters} + + .x[limit_characters] <- str_sub(.x[limit_characters],1,maxCharacters) %>% + str_c(.,'...') + } + + return(.x) + }) + return(x) } diff --git a/man/sanitiseTable.Rd b/man/sanitiseTable.Rd index 8bca359..4a89def 100644 --- a/man/sanitiseTable.Rd +++ b/man/sanitiseTable.Rd @@ -4,7 +4,7 @@ \alias{sanitiseTable} \title{Sanitise a data table} \usage{ -sanitiseTable(x, maxRows = 5000, sigFig = 3) +sanitiseTable(x, maxRows = 5000, sigFig = 3, maxCharacters = 100) } \arguments{ \item{x}{A tibble or data.frame containing the data to be sanitised} @@ -12,6 +12,8 @@ sanitiseTable(x, maxRows = 5000, sigFig = 3) \item{maxRows}{Maximum number of rows with which to restrict the table} \item{sigFig}{Significant figures with which to round numeric columns} + +\item{maxCharacters}{Maximum number of characters allowed in a string before it is truncated} } \description{ Sanitise a data table by restricting the number of rows and rounding numeric columns. diff --git a/tests/testthat/test-sanitise.R b/tests/testthat/test-sanitise.R index fcb9272..f9aa20a 100644 --- a/tests/testthat/test-sanitise.R +++ b/tests/testthat/test-sanitise.R @@ -2,9 +2,17 @@ test_that("tables can be sanitised", { n_rows <- 10 sig_figs <- 1 + max_char <- 3 - x <- sanitiseTable(iris,maxRows = n_rows,sigFig = sig_figs) + test_table <- iris %>% + mutate(Species = as.character(Species)) + + x <- sanitiseTable(test_table, + maxRows = n_rows, + sigFig = sig_figs, + maxCharacters = max_char) expect_equal(nrow(x),n_rows) expect_equal(x$Sepal.Length[1],5) + expect_equal(max(nchar(x$Species)),max_char) }) From 70abc86f937e8eadfb314416d813532ffb163696 Mon Sep 17 00:00:00 2001 From: jasenfinch Date: Wed, 17 Nov 2021 09:48:37 +0000 Subject: [PATCH 2/5] fix url in _pkgdown.yml --- _pkgdown.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_pkgdown.yml b/_pkgdown.yml index 146a9c3..3ed8d62 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -1 +1 @@ -url: https://jasenfinch.github.io/metaboMisc/ \ No newline at end of file +url: https://jasenfinch.github.io/metaboMisc/ From 56a82d6ac314d3e8150bc1f6c879b1c0d55ebf1f Mon Sep 17 00:00:00 2001 From: jasenfinch Date: Wed, 17 Nov 2021 09:49:01 +0000 Subject: [PATCH 3/5] bumped version to 0.5.8 --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index b628768..643caac 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: metaboMisc Title: Miscellaneous Functions for Metabolomics Analyses -Version: 0.5.7 +Version: 0.5.8 Authors@R: person("Jasen", "Finch", email = "jsf9@aber.ac.uk", role = c("aut", "cre")) Description: Miscellaneous helper functions for metabolomics analyses that do not yet have a permanent home. URL: https://jasenfinch.github.io/metaboMisc From 2ec0ab3b3fcc38db1bcacd30e96e71bd821f9133 Mon Sep 17 00:00:00 2001 From: jasenfinch Date: Wed, 17 Nov 2021 09:51:18 +0000 Subject: [PATCH 4/5] updated package NEWS --- NEWS.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS.md b/NEWS.md index a4098f8..afb4bb1 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,7 @@ +# metabMisc 0.5.8 + +* Numbers of characters in strings are now limited by `sanitiseTable()`. + # metaboMisc 0.5.7 * Removed `aberHRML/metaboData` from the Remotes field in the DESCRIPTION to ensure that the CRAN version of metaboData is installed. From e3c5343f2f792a3bc47e6526367117d48385aa5d Mon Sep 17 00:00:00 2001 From: jasenfinch Date: Wed, 17 Nov 2021 09:54:13 +0000 Subject: [PATCH 5/5] updated pkgdown site --- docs/404.html | 2 +- docs/authors.html | 2 +- docs/index.html | 2 +- docs/news/index.html | 11 +- docs/pkgdown.yml | 2 +- docs/reference/Rplot002.png | Bin 25219 -> 25227 bytes docs/reference/addAssignments.html | 2 +- docs/reference/convertSampleInfo.html | 2 +- docs/reference/detectBatchDiff.html | 59 +++++--- docs/reference/detectMissInjections.html | 49 +++--- docs/reference/detectModellingParameters.html | 49 +++--- .../detectPretreatmentParameters.html | 116 ++++++++------- docs/reference/export.html | 2 +- docs/reference/exportCSV.html | 7 +- docs/reference/featureSummary.html | 49 +++--- docs/reference/index.html | 2 +- docs/reference/plotRSD-1.png | Bin 73841 -> 73892 bytes docs/reference/plotRSD-2.png | Bin 72657 -> 72712 bytes docs/reference/plotRSD.html | 49 ++++-- docs/reference/preTreatModes.html | 140 ++++++++++-------- docs/reference/reduce.html | 98 +++++++----- docs/reference/reexports.html | 2 +- docs/reference/sanitiseTable.html | 34 +++-- docs/reference/suitableParallelPlan.html | 10 +- 24 files changed, 421 insertions(+), 268 deletions(-) diff --git a/docs/404.html b/docs/404.html index e24e55f..688cbb6 100644 --- a/docs/404.html +++ b/docs/404.html @@ -71,7 +71,7 @@ metaboMisc - 0.5.7 + 0.5.8 diff --git a/docs/authors.html b/docs/authors.html index d46507d..e766a83 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -71,7 +71,7 @@ metaboMisc - 0.5.7 + 0.5.8 diff --git a/docs/index.html b/docs/index.html index f85b484..24b1da3 100644 --- a/docs/index.html +++ b/docs/index.html @@ -31,7 +31,7 @@ metaboMisc - 0.5.7 + 0.5.8 diff --git a/docs/news/index.html b/docs/news/index.html index 235ee42..ac75df0 100644 --- a/docs/news/index.html +++ b/docs/news/index.html @@ -71,7 +71,7 @@ metaboMisc - 0.5.7 + 0.5.8 @@ -114,6 +114,13 @@

Changelog

Source: NEWS.md +
+

+metabMisc 0.5.8

+ +

metaboMisc 0.5.7

@@ -176,7 +183,7 @@

  • Improved documentation and added examples.

  • Added unit testing infrastructure.

  • Added detectPretreatmentParameters and detectModellingParameters methods.

  • -
  • The magrittr pipe (%>%) is now re-exported.

  • +
  • The magrittr pipe (%>%) is now re-exported.

  • diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml index 6e16535..696fe44 100644 --- a/docs/pkgdown.yml +++ b/docs/pkgdown.yml @@ -2,7 +2,7 @@ pandoc: 2.11.4 pkgdown: 1.6.1 pkgdown_sha: ~ articles: {} -last_built: 2021-09-27T10:19Z +last_built: 2021-11-17T09:52Z urls: reference: https://jasenfinch.github.io/metaboMisc//reference article: https://jasenfinch.github.io/metaboMisc//articles diff --git a/docs/reference/Rplot002.png b/docs/reference/Rplot002.png index 70b7b5998359a279c5cbda114f31c02a7a458737..a0035e23801cdcb70cf952f5cf3e62d713536cef 100644 GIT binary patch delta 6639 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 nQE> delta 6747 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 metaboMisc - 0.5.7 + 0.5.8
    diff --git a/docs/reference/convertSampleInfo.html b/docs/reference/convertSampleInfo.html index 344f27f..b6fb723 100644 --- a/docs/reference/convertSampleInfo.html +++ b/docs/reference/convertSampleInfo.html @@ -72,7 +72,7 @@ metaboMisc - 0.5.7 + 0.5.8 diff --git a/docs/reference/detectBatchDiff.html b/docs/reference/detectBatchDiff.html index d892d75..548b349 100644 --- a/docs/reference/detectBatchDiff.html +++ b/docs/reference/detectBatchDiff.html @@ -72,7 +72,7 @@ metaboMisc - 0.5.7 + 0.5.8 @@ -153,25 +153,44 @@

    Details

    Analysis of Variance (ANOVA) is used to detect differences in total ion count (TIC) averages between batches/blocks.

    Examples

    -
    ## Retrieve file paths and sample information for example data -files <- metaboData::filePaths('FIE-HRMS','BdistachyonEcotypes')[1:2] - -info <- metaboData::runinfo('FIE-HRMS','BdistachyonEcotypes')[1:2,] - -## Perform spectral binning -analysis <- binneR::binneRlyse(files, - info, - parameters = binneR::detectParameters(files)) -
    #> -#> Attaching package: ‘purrr’
    #> The following object is masked from ‘package:metaboMisc’: -#> -#> reduce
    #> binneR v2.5.3 Mon Sep 27 11:19:18 2021
    #> ________________________________________________________________________________
    #> Scans: 5:14
    #> ________________________________________________________________________________
    #> Reading raw data
    #> Gathering bins
    #> Removing single scan events
    #> Averaging intensities across scans
    #> Calculating bin metrics
    #> Calculating accurate m/z
    #> Building intensity matrix
    #> Gathering file headers
    #>
    #> Completed! [2.9S]
    -## Detect batch differences -batch_diff <- detectBatchDiff(analysis) -
    #> Batches with < 3 replicates removed: "3", "5"
    #> Only 1 batch detected, skipping detection
    -## Display batch diffferences -batch_diff -
    #> NULL
    +
    ## Retrieve file paths and sample information for example data
    +files <- metaboData::filePaths('FIE-HRMS','BdistachyonEcotypes')[1:2]
    +
    +info <- metaboData::runinfo('FIE-HRMS','BdistachyonEcotypes')[1:2,]
    +
    +## Perform spectral binning
    +analysis <- binneR::binneRlyse(files, 
    +                               info, 
    +                               parameters = binneR::detectParameters(files))
    +#> 
    +#> Attaching package: ‘purrr’
    +#> The following object is masked from ‘package:metaboMisc’:
    +#> 
    +#>     reduce
    +#> binneR v2.6.2 Wed Nov 17 09:52:25 2021
    +#> ________________________________________________________________________________
    +#> Scans: 5:14 
    +#> ________________________________________________________________________________
    +#> Reading raw data
    +#> Gathering bins
    +#> Removing single scan events
    +#> Averaging intensities across scans
    +#> Calculating bin metrics
    +#> Calculating accurate m/z
    +#> Building intensity matrix
    +#> Gathering file headers
    +#> 
    +#> Completed! [2.6S]
    +
    +## Detect batch differences
    +batch_diff <- detectBatchDiff(analysis)
    +#> Batches with < 3 replicates removed: "3", "5"
    +#> Only 1 batch detected, skipping detection
    +
    +## Display batch diffferences
    +batch_diff
    +#> NULL
    +
    @@ -149,22 +149,37 @@

    Details

    Samples with a total ion count (TIC) below 1.5 times the inter-quartile range are detected as miss injections.

    Examples

    -
    ## Retrieve file paths and sample information for example data -files <- metaboData::filePaths('FIE-HRMS','BdistachyonEcotypes')[1:2] - -info <- metaboData::runinfo('FIE-HRMS','BdistachyonEcotypes')[1:2,] - -## Perform spectral binning -analysis <- binneR::binneRlyse(files, - info, - parameters = binneR::detectParameters(files)) -
    #> binneR v2.5.3 Mon Sep 27 11:19:22 2021
    #> ________________________________________________________________________________
    #> Scans: 5:14
    #> ________________________________________________________________________________
    #> Reading raw data
    #> Gathering bins
    #> Removing single scan events
    #> Averaging intensities across scans
    #> Calculating bin metrics
    #> Calculating accurate m/z
    #> Building intensity matrix
    #> Gathering file headers
    #>
    #> Completed! [2.3S]
    -## Detect miss injections -miss_injections <- detectMissInjections(analysis) - -## Display detected miss injections -miss_injections$missInjections -
    #> numeric(0)
    +
    ## Retrieve file paths and sample information for example data
    +files <- metaboData::filePaths('FIE-HRMS','BdistachyonEcotypes')[1:2]
    +
    +info <- metaboData::runinfo('FIE-HRMS','BdistachyonEcotypes')[1:2,]
    +
    +## Perform spectral binning
    +analysis <- binneR::binneRlyse(files, 
    +                               info, 
    +                               parameters = binneR::detectParameters(files))
    +#> binneR v2.6.2 Wed Nov 17 09:52:29 2021
    +#> ________________________________________________________________________________
    +#> Scans: 5:14 
    +#> ________________________________________________________________________________
    +#> Reading raw data
    +#> Gathering bins
    +#> Removing single scan events
    +#> Averaging intensities across scans
    +#> Calculating bin metrics
    +#> Calculating accurate m/z
    +#> Building intensity matrix
    +#> Gathering file headers
    +#> 
    +#> Completed! [1.9S]
    +
    +## Detect miss injections
    +miss_injections <- detectMissInjections(analysis)
    +
    +## Display detected miss injections
    +miss_injections$missInjections
    +#> numeric(0)
    +
    @@ -157,22 +157,37 @@

    Value

    S4 object of class AnalysisParameters

    Examples

    -
    ## Retrieve file paths and sample information for example data -files <- metaboData::filePaths('FIE-HRMS','BdistachyonEcotypes')[1:2] - -info <- metaboData::runinfo('FIE-HRMS','BdistachyonEcotypes')[1:2,] - -## Perform spectral binning -analysis <- binneR::binneRlyse(files, - info, - parameters = binneR::detectParameters(files)) -
    #> binneR v2.5.3 Mon Sep 27 11:19:25 2021
    #> ________________________________________________________________________________
    #> Scans: 5:14
    #> ________________________________________________________________________________
    #> Reading raw data
    #> Gathering bins
    #> Removing single scan events
    #> Averaging intensities across scans
    #> Calculating bin metrics
    #> Calculating accurate m/z
    #> Building intensity matrix
    #> Gathering file headers
    #>
    #> Completed! [2.2S]
    -## Detect modelling parameters -modelling_parameters <- detectModellingParameters(analysis) - -modelling_parameters -
    #> Parameters: -#>
    +
    ## Retrieve file paths and sample information for example data
    +files <- metaboData::filePaths('FIE-HRMS','BdistachyonEcotypes')[1:2]
    +
    +info <- metaboData::runinfo('FIE-HRMS','BdistachyonEcotypes')[1:2,]
    +
    +## Perform spectral binning
    +analysis <- binneR::binneRlyse(files, 
    +                               info, 
    +                               parameters = binneR::detectParameters(files))
    +#> binneR v2.6.2 Wed Nov 17 09:52:32 2021
    +#> ________________________________________________________________________________
    +#> Scans: 5:14 
    +#> ________________________________________________________________________________
    +#> Reading raw data
    +#> Gathering bins
    +#> Removing single scan events
    +#> Averaging intensities across scans
    +#> Calculating bin metrics
    +#> Calculating accurate m/z
    +#> Building intensity matrix
    +#> Gathering file headers
    +#> 
    +#> Completed! [1.9S]
    +
    +## Detect modelling parameters
    +modelling_parameters <- detectModellingParameters(analysis)
    +
    +modelling_parameters
    +#> Parameters:
    +#> 
    +
    @@ -142,55 +142,71 @@

    Value

    S4 object of class AnalysisParameters

    Examples

    -
    ## Retreive example file paths and sample information -file_paths <- metaboData::filePaths('FIE-HRMS','BdistachyonEcotypes') %>% - .[61:63] - -sample_information <- metaboData::runinfo('FIE-HRMS','BdistachyonEcotypes') %>% - dplyr::filter(name == 'QC01' | name == 'QC02' | name == 'QC03') - -## Detect spectral binning parameters -bp <- binneR::detectParameters(file_paths) - -## Perform spectral binning -bd <- binneR::binneRlyse(file_paths,sample_information,bp) -
    #> binneR v2.5.3 Mon Sep 27 11:19:28 2021
    #> ________________________________________________________________________________
    #> Scans: 5:13
    #> ________________________________________________________________________________
    #> Reading raw data
    #> Gathering bins
    #> Removing single scan events
    #> Averaging intensities across scans
    #> Calculating bin metrics
    #> Calculating accurate m/z
    #> Building intensity matrix
    #> Gathering file headers
    #>
    #> Completed! [3.2S]
    -## Detect pre-treatment parameters -pp <- detectPretreatmentParameters(bd) -
    #> Only 1 batch detected, skipping detection
    -pp -
    #> Parameters: -#> pre-treatment -#> QC -#> occupancyFilter -#> cls = class -#> QCidx = QC -#> occupancy = 2/3 -#> impute -#> cls = class -#> QCidx = QC -#> occupancy = 2/3 -#> parallel = variables -#> seed = 1234 -#> RSDfilter -#> cls = class -#> QCidx = QC -#> RSDthresh = 50 -#> removeQC -#> cls = class -#> QCidx = QC -#> occupancyFilter -#> maximum -#> cls = class -#> occupancy = 2/3 -#> impute -#> class -#> cls = class -#> occupancy = 2/3 -#> seed = 1234 -#> transform -#> TICnorm -#>
    +
    ## Retreive example file paths and sample information 
    +file_paths <- metaboData::filePaths('FIE-HRMS','BdistachyonEcotypes') %>% 
    +   .[61:63]
    +
    +sample_information <- metaboData::runinfo('FIE-HRMS','BdistachyonEcotypes') %>% 
    +    dplyr::filter(name == 'QC01' | name == 'QC02' | name == 'QC03')
    +
    +## Detect spectral binning parameters
    +bp <- binneR::detectParameters(file_paths)
    +
    +## Perform spectral binning
    +bd <- binneR::binneRlyse(file_paths,sample_information,bp)
    +#> binneR v2.6.2 Wed Nov 17 09:52:35 2021
    +#> ________________________________________________________________________________
    +#> Scans: 5:13 
    +#> ________________________________________________________________________________
    +#> Reading raw data
    +#> Gathering bins
    +#> Removing single scan events
    +#> Averaging intensities across scans
    +#> Calculating bin metrics
    +#> Calculating accurate m/z
    +#> Building intensity matrix
    +#> Gathering file headers
    +#> 
    +#> Completed! [2.7S]
    +
    +## Detect pre-treatment parameters
    +pp <- detectPretreatmentParameters(bd) 
    +#> Only 1 batch detected, skipping detection
    +
    +pp
    +#> Parameters:
    +#> pre-treatment
    +#> 	QC
    +#> 		occupancyFilter
    +#> 			cls = class
    +#> 			QCidx = QC
    +#> 			occupancy = 2/3
    +#> 		impute
    +#> 			cls = class
    +#> 			QCidx = QC
    +#> 			occupancy = 2/3
    +#> 			parallel = variables
    +#> 			seed = 1234
    +#> 		RSDfilter
    +#> 			cls = class
    +#> 			QCidx = QC
    +#> 			RSDthresh = 50
    +#> 		removeQC
    +#> 			cls = class
    +#> 			QCidx = QC
    +#> 	occupancyFilter
    +#> 		maximum
    +#> 			cls = class
    +#> 			occupancy = 2/3
    +#> 	impute
    +#> 		class
    +#> 			cls = class
    +#> 			occupancy = 2/3
    +#> 			seed = 1234
    +#> 	transform
    +#> 		TICnorm
    +#> 
    +
    diff --git a/docs/reference/exportCSV.html b/docs/reference/exportCSV.html index a381af3..118d4f3 100644 --- a/docs/reference/exportCSV.html +++ b/docs/reference/exportCSV.html @@ -72,7 +72,7 @@ metaboMisc - 0.5.7 + 0.5.8 @@ -147,8 +147,9 @@

    Details

    If the file path directory does not exist, the directory is created prior to export.

    Examples

    -
    exportCSV(iris, "iris.csv") -
    #> [1] "iris.csv"
    +
    exportCSV(iris, "iris.csv")
    +#> [1] "iris.csv"
    +
    @@ -139,22 +139,37 @@

    Value

    A tibble containing feature summaries

    Examples

    -
    ## Retrieve file paths and sample information for example data -files <- metaboData::filePaths('FIE-HRMS','BdistachyonEcotypes')[1:2] - -info <- metaboData::runinfo('FIE-HRMS','BdistachyonEcotypes')[1:2,] - -## Perform spectral binning -analysis <- binneR::binneRlyse(files, - info, - parameters = binneR::detectParameters(files)) -
    #> binneR v2.5.3 Mon Sep 27 11:19:33 2021
    #> ________________________________________________________________________________
    #> Scans: 5:14
    #> ________________________________________________________________________________
    #> Reading raw data
    #> Gathering bins
    #> Removing single scan events
    #> Averaging intensities across scans
    #> Calculating bin metrics
    #> Calculating accurate m/z
    #> Building intensity matrix
    #> Gathering file headers
    #>
    #> Completed! [2.3S]
    -featureSummary(analysis) -
    #> # A tibble: 2 × 3 -#> Mode `Number of bins` `Missing Data (%)` -#> <chr> <int> <dbl> -#> 1 Negative 1188 6.48 -#> 2 Positive 1550 9.68
    +
    ## Retrieve file paths and sample information for example data
    +files <- metaboData::filePaths('FIE-HRMS','BdistachyonEcotypes')[1:2]
    +
    +info <- metaboData::runinfo('FIE-HRMS','BdistachyonEcotypes')[1:2,]
    +
    +## Perform spectral binning
    +analysis <- binneR::binneRlyse(files, 
    +                               info, 
    +                               parameters = binneR::detectParameters(files))
    +#> binneR v2.6.2 Wed Nov 17 09:52:39 2021
    +#> ________________________________________________________________________________
    +#> Scans: 5:14 
    +#> ________________________________________________________________________________
    +#> Reading raw data
    +#> Gathering bins
    +#> Removing single scan events
    +#> Averaging intensities across scans
    +#> Calculating bin metrics
    +#> Calculating accurate m/z
    +#> Building intensity matrix
    +#> Gathering file headers
    +#> 
    +#> Completed! [3.5S]
    +
    +featureSummary(analysis)
    +#> # A tibble: 2 × 3
    +#>   Mode     `Number of bins` `Missing Data (%)`
    +#>   <chr>               <int>              <dbl>
    +#> 1 Negative             1188               6.48
    +#> 2 Positive             1550               9.68
    +
    diff --git a/docs/reference/plotRSD-1.png b/docs/reference/plotRSD-1.png index 2fb9f21d44ce2193a4f850d553fc9b3540ea4bf5..ef02af58aa497cc86eaa2844d202e4a0df84165f 100644 GIT binary patch delta 5457 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 delta 5413 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 r@`2$iRAkOdhh&@o=kKuc{Ep0We)X$Q metaboMisc - 0.5.7 + 0.5.8 @@ -144,20 +144,39 @@

    Value

    A list of plots of RSD distributions

    Examples

    -
    ## Retrieve file paths and sample information for example data -files <- metaboData::filePaths('FIE-HRMS','BdistachyonEcotypes')[1:2] - -info <- metaboData::runinfo('FIE-HRMS','BdistachyonEcotypes')[1:2,] - -## Perform spectral binning -analysis <- binneR::binneRlyse(files, - info, - parameters = binneR::detectParameters(files)) -
    #> binneR v2.5.3 Mon Sep 27 11:19:36 2021
    #> ________________________________________________________________________________
    #> Scans: 5:14
    #> ________________________________________________________________________________
    #> Reading raw data
    #> Gathering bins
    #> Removing single scan events
    #> Averaging intensities across scans
    #> Calculating bin metrics
    #> Calculating accurate m/z
    #> Building intensity matrix
    #> Gathering file headers
    #>
    #> Completed! [3S]
    -## Plot RSD distributions -plotRSD(analysis) -
    #> $n
    #> -#> $p
    #>
    +
    ## Retrieve file paths and sample information for example data
    +files <- metaboData::filePaths('FIE-HRMS','BdistachyonEcotypes')[1:2]
    +
    +info <- metaboData::runinfo('FIE-HRMS','BdistachyonEcotypes')[1:2,]
    +
    +## Perform spectral binning
    +analysis <- binneR::binneRlyse(files, 
    +                               info, 
    +                               parameters = binneR::detectParameters(files))
    +#> binneR v2.6.2 Wed Nov 17 09:52:44 2021
    +#> ________________________________________________________________________________
    +#> Scans: 5:14 
    +#> ________________________________________________________________________________
    +#> Reading raw data
    +#> Gathering bins
    +#> Removing single scan events
    +#> Averaging intensities across scans
    +#> Calculating bin metrics
    +#> Calculating accurate m/z
    +#> Building intensity matrix
    +#> Gathering file headers
    +#> 
    +#> Completed! [3S]
    +
    +## Plot RSD distributions
    +plotRSD(analysis)
    +#> $n
    +
    +#> 
    +#> $p
    +
    +#> 
    +
    @@ -150,66 +150,84 @@

    Value

    S4 object of class Analysis

    Examples

    -
    #> -#> Attaching package: ‘metabolyseR’
    #> The following object is masked from ‘package:stats’: -#> -#> anova
    #> The following objects are masked from ‘package:base’: -#> -#> raw, split
    -## Retrieve file paths and sample information for example data -files <- metaboData::filePaths('FIE-HRMS','BdistachyonEcotypes')[1:2] - -info <- metaboData::runinfo('FIE-HRMS','BdistachyonEcotypes')[1:2,] - -## Detect spectral binning parameters -bp <- binneR::detectParameters(files) - -## Perform spectral binning -analysis <- binneR::binneRlyse(files, - info, - parameters = bp) -
    #> binneR v2.5.3 Mon Sep 27 11:19:42 2021
    #> ________________________________________________________________________________
    #> Scans: 5:14
    #> ________________________________________________________________________________
    #> Reading raw data
    #> Gathering bins
    #> Removing single scan events
    #> Averaging intensities across scans
    #> Calculating bin metrics
    #> Calculating accurate m/z
    #> Building intensity matrix
    #> Gathering file headers
    #>
    #> Completed! [2.3S]
    -## Declare pre-treatment parameters -pre_treatment_parameters <- analysisParameters('pre-treatment') -parameters(pre_treatment_parameters, - 'pre-treatment') <- preTreatmentParameters( - list( - occupancyFilter = 'maximum', - impute = 'all', - transform = 'TICnorm' - ) -) -changeParameter(pre_treatment_parameters,'parallel') <- 'no' - -## Perform pre-treatment -pre_treated_data <- preTreatModes(analysis, - pre_treatment_parameters) -
    #> -#> metabolyseR v0.14.3 Mon Sep 27 11:19:44 2021 -#> ________________________________________________________________________________ -#> Parameters: -#> pre-treatment -#> occupancyFilter -#> maximum -#> cls = class -#> occupancy = 2/3 -#> impute -#> all -#> occupancy = 2/3 -#> parallel = no -#> seed = 1234 -#> transform -#> TICnorm -#> -#> ________________________________________________________________________________ -#> -#> Negative modeNegative mode [0.5S] -#> Positive modePositive mode [0.6S] -#> ________________________________________________________________________________ -#> -#> Complete! [1.2S] -#>
    +
    library(metabolyseR)
    +#> 
    +#> Attaching package: ‘metabolyseR’
    +#> The following object is masked from ‘package:stats’:
    +#> 
    +#>     anova
    +#> The following objects are masked from ‘package:base’:
    +#> 
    +#>     raw, split
    +
    +## Retrieve file paths and sample information for example data
    +files <- metaboData::filePaths('FIE-HRMS','BdistachyonEcotypes')[1:2]
    +
    +info <- metaboData::runinfo('FIE-HRMS','BdistachyonEcotypes')[1:2,]
    +
    +## Detect spectral binning parameters
    +bp <- binneR::detectParameters(files)
    +
    +## Perform spectral binning
    +analysis <- binneR::binneRlyse(files, 
    +                               info, 
    +                               parameters = bp)
    +#> binneR v2.6.2 Wed Nov 17 09:52:51 2021
    +#> ________________________________________________________________________________
    +#> Scans: 5:14 
    +#> ________________________________________________________________________________
    +#> Reading raw data
    +#> Gathering bins
    +#> Removing single scan events
    +#> Averaging intensities across scans
    +#> Calculating bin metrics
    +#> Calculating accurate m/z
    +#> Building intensity matrix
    +#> Gathering file headers
    +#> 
    +#> Completed! [2.5S]
    +
    +## Declare pre-treatment parameters
    +pre_treatment_parameters <- analysisParameters('pre-treatment')
    +parameters(pre_treatment_parameters,
    +                        'pre-treatment') <- preTreatmentParameters(
    + list(
    +   occupancyFilter = 'maximum',
    +   impute = 'all',
    +   transform = 'TICnorm'
    + )
    +)
    +changeParameter(pre_treatment_parameters,'parallel') <- 'no'
    +
    +## Perform pre-treatment
    +pre_treated_data <- preTreatModes(analysis,
    +                                  pre_treatment_parameters)
    +#> 
    +#> metabolyseR v0.14.5 Wed Nov 17 09:52:53 2021
    +#> ________________________________________________________________________________
    +#> Parameters:
    +#> pre-treatment
    +#> 	occupancyFilter
    +#> 		maximum
    +#> 			cls = class
    +#> 			occupancy = 2/3
    +#> 	impute
    +#> 		all
    +#> 			occupancy = 2/3
    +#> 			parallel = no
    +#> 			seed = 1234
    +#> 	transform
    +#> 		TICnorm
    +#> 
    +#> ________________________________________________________________________________
    +#> 
    +#> Negative modeNegative mode 		 [1.1S]
    +#> Positive modePositive mode 		 [0.9S]
    +#> ________________________________________________________________________________
    +#> 
    +#> Complete! [2.1S]
    +#> 
    +
    @@ -157,43 +157,65 @@

    Details

    Isotope and adduct features are filtered based on the maximum intensity peak for each molecular formulas.

    Examples

    -
    library(MFassign) -
    #> Loading required package: ggraph
    #> Loading required package: ggplot2
    -## Assign molecular formulas -p <- assignmentParameters('FIE') - -assignment <- assignMFs(peakData,p) -
    #> -#> MFassign v0.7.10 Mon Sep 27 11:19:46 2021
    #> ________________________________________________________________________________
    #> Assignment Parameters: -#> -#> Technique: FIE -#> Max M: 1000 -#> Max MF score: 5 -#> PPM threshold: 5 -#> Relationship limit: 0.001 -#> -#> Adducts: -#> n: [M-H]1-, [M+Cl]1-, [M+K-2H]1-, [M-2H]2-, [M+Cl37]1-, [2M-H]1- -#> p: [M+H]1+, [M+K]1+, [M+Na]1+, [M+K41]1+, [M+NH4]1+, [M+2H]2+, [2M+H]1+ -#> Isotopes: 13C, 18O, 13C2 -#> Transformations: M - [O] + [NH2], M - [OH] + [NH2], M + [H2], M - [H2] + [O], M - [H] + [CH3], M - [H] + [NH2], M - [H] + [OH], M + [H2O], M - [H3] + [H2O], M - [H] + [CHO2], M - [H] + [SO3], M - [H] + [PO3H2]
    #> ________________________________________________________________________________
    #> No. m/z: 9
    #> Calculating correlations
    #> Calculating correlations [24 correlations] [0.1S]
    #> Filtering correlations
    #> Filtering correlations [24 correlations] [0S]
    #> Preparing correlations
    #> Preparing correlations [0S]
    #> Calculating relationships
    #> Calculating relationships [7.3S]
    #> Adduct & isotope assignment
    #> Adduct & isotope assignment [12.2S]
    #> Transformation assignment iteration 1
    #> Transformation assignment iteration 1 [0S]
    #> ________________________________________________________________________________
    #> -#> Complete! [19.6S]
    -## Retrieve assigned data -assigned_data <- metabolyseR::analysisData( - assignedData(assignment), - tibble::tibble(sample = seq_len(nrow(peakData))) - ) - -reduced_data <- metaboMisc::reduce(assigned_data) - -reduced_data -
    #> -#> AnalysisData object containing: -#> -#> Samples: 60 -#> Features: 1 -#> Info: 1 -#>
    +
    library(MFassign)
    +#> Loading required package: ggraph
    +#> Loading required package: ggplot2
    +
    +## Assign molecular formulas
    +p <- assignmentParameters('FIE')
    +
    +assignment <- assignMFs(peakData,p)
    +#> 
    +#> MFassign v0.7.10 Wed Nov 17 09:52:56 2021
    +#> ________________________________________________________________________________
    +#> Assignment Parameters: 
    +#> 
    +#> 	 Technique:		 FIE 
    +#> 	 Max M:			 1000 
    +#> 	 Max MF score:		 5 
    +#> 	 PPM threshold:		 5 
    +#> 	 Relationship limit:	 0.001 
    +#> 
    +#> 	 Adducts: 
    +#> 	 n: [M-H]1-, [M+Cl]1-, [M+K-2H]1-, [M-2H]2-, [M+Cl37]1-, [2M-H]1-
    +#> 	 p: [M+H]1+, [M+K]1+, [M+Na]1+, [M+K41]1+, [M+NH4]1+, [M+2H]2+, [2M+H]1+ 
    +#> 	 Isotopes: 13C, 18O, 13C2 
    +#> 	 Transformations: M - [O] + [NH2], M - [OH] + [NH2], M + [H2], M - [H2] + [O], M - [H] + [CH3], M - [H] + [NH2], M - [H] + [OH], M + [H2O], M - [H3] + [H2O], M - [H] + [CHO2], M - [H] + [SO3], M - [H] + [PO3H2]
    +#> ________________________________________________________________________________
    +#> No. m/z:	9
    +#> Calculating correlations 
    +#> Calculating correlations 	 [24 correlations] [0.1S]
    +#> Filtering correlations 
    +#> Filtering correlations 		 [24 correlations] [0S]
    +#> Preparing correlations 
    +#> Preparing correlations 		 [0S]
    +#> Calculating relationships 
    +#> Calculating relationships 	 [12.4S]
    +#> Adduct & isotope assignment 
    +#> Adduct & isotope assignment 	 [15.7S]
    +#> Transformation assignment iteration 1 
    +#> Transformation assignment iteration 1 	 [0S]
    +#> ________________________________________________________________________________
    +#> 
    +#> Complete! [28.2S]
    +
    +## Retrieve assigned data
    +assigned_data <- metabolyseR::analysisData(
    + assignedData(assignment),
    + tibble::tibble(sample = seq_len(nrow(peakData)))
    + )
    +
    +reduced_data <- metaboMisc::reduce(assigned_data)
    +
    +reduced_data
    +#> 
    +#> AnalysisData object containing:
    +#> 
    +#> Samples: 60 
    +#> Features: 1 
    +#> Info: 1 
    +#> 
    +
    diff --git a/docs/reference/sanitiseTable.html b/docs/reference/sanitiseTable.html index 9029ab6..187209d 100644 --- a/docs/reference/sanitiseTable.html +++ b/docs/reference/sanitiseTable.html @@ -72,7 +72,7 @@ metaboMisc - 0.5.7 + 0.5.8 @@ -120,7 +120,7 @@

    Sanitise a data table

    Sanitise a data table by restricting the number of rows and rounding numeric columns.

    -
    sanitiseTable(x, maxRows = 5000, sigFig = 3)
    +
    sanitiseTable(x, maxRows = 5000, sigFig = 3, maxCharacters = 100)

    Arguments

    @@ -137,22 +137,28 @@

    Arg

    + + + +
    sigFig

    Significant figures with which to round numeric columns

    maxCharacters

    Maximum number of characters allowed in a string before it is truncated

    Examples

    -
    sanitiseTable(iris,maxRows = 10,sigFig = 1) -
    #> Number of rows in table restricted to 10.
    #> Sepal.Length Sepal.Width Petal.Length Petal.Width Species -#> 1 5 4 1 0.2 setosa -#> 2 5 3 1 0.2 setosa -#> 3 5 3 1 0.2 setosa -#> 4 5 3 2 0.2 setosa -#> 5 5 4 1 0.2 setosa -#> 6 5 4 2 0.4 setosa -#> 7 5 3 1 0.3 setosa -#> 8 5 3 2 0.2 setosa -#> 9 4 3 1 0.2 setosa -#> 10 5 3 2 0.1 setosa
    +
    sanitiseTable(iris,maxRows = 10,sigFig = 1)
    +#> Number of rows in table restricted to 10.
    +#>    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
    +#> 1             5           4            1         0.2  setosa
    +#> 2             5           3            1         0.2  setosa
    +#> 3             5           3            1         0.2  setosa
    +#> 4             5           3            2         0.2  setosa
    +#> 5             5           4            1         0.2  setosa
    +#> 6             5           4            2         0.4  setosa
    +#> 7             5           3            1         0.3  setosa
    +#> 8             5           3            2         0.2  setosa
    +#> 9             4           3            1         0.2  setosa
    +#> 10            5           3            2         0.1  setosa
    +
    @@ -125,10 +125,10 @@

    Generate a suitable parallel processing plan

    Examples

    -
    if (FALSE) { -suitableParallelPlan() -} -
    +
    if (FALSE) {
    +suitableParallelPlan()
    +}
    +