diff --git a/R/coreMSDataToFtmsData.R b/R/coreMSDataToFtmsData.R index 0e06d7a..0cf0fcb 100644 --- a/R/coreMSDataToFtmsData.R +++ b/R/coreMSDataToFtmsData.R @@ -82,9 +82,14 @@ coreMSDataToFtmsData <- function(cmsObj) { `Calibrated m/z` = mean(.data[[calib_mass]])) %>% dplyr::select(Mass, .data[[formula]], `Calibrated m/z`, .data[[calc_mass]], .data[[heteroatom]], .data[[ion_type]]) %>% - dplyr::distinct() %>% - tidyr::separate(col = .data[[formula]], into = element_cnames, sep = " ") %>% - dplyr::mutate_at(element_cnames, ~ as.integer(gsub("[^0-9]", "", .x))) %>% + dplyr::distinct() + + counts_df = lapply(element_cnames, ftmsRanalysis:::atom_count_vectorizer, e_meta[[formula]]) %>% as.data.frame(col.names = element_cnames) + + e_meta[element_cnames] <- counts_df + + e_meta <- e_meta %>% + dplyr::ungroup() %>% dplyr::select(Mass, all_of(element_cnames), `Calibrated m/z`, .data[[calc_mass]], .data[[heteroatom]], .data[[ion_type]]) %>% dplyr::arrange(Mass) diff --git a/R/plot.CoreMSData.R b/R/plot.CoreMSData.R index f44a62b..402592a 100755 --- a/R/plot.CoreMSData.R +++ b/R/plot.CoreMSData.R @@ -37,21 +37,20 @@ plot.CoreMSData <- function(x, sample_id <- attr(x, "cnames")$file_cname mass_id <- attr(x, "cnames")$calc_mass_cname - unique_masses_per_sample <- x$monoiso_data %>% - dplyr::group_by(dplyr::pull(x$monoiso_data, sample_id)) %>% - dplyr::distinct(dplyr::pull(x$monoiso_data, mass_id)) %>% - dplyr::tally() %>% - dplyr::rename(Sample = `dplyr::pull(x$monoiso_data, sample_id)`, Monoisotopic = n) + unique_masses_per_sample <- x$monoiso_data %>% + dplyr::group_by(!!rlang::sym(sample_id)) %>% + dplyr::distinct(!!rlang::sym(mass_id)) %>% + dplyr::tally() %>% dplyr::rename(Sample = sample_id, Monoisotopic = n) - Isotopic <- x$iso_data %>% - dplyr::group_by(dplyr::pull(x$iso_data, sample_id)) %>% - dplyr::distinct(dplyr::pull(x$iso_data, mass_id)) %>% - dplyr::tally() %>% - dplyr::pull(n) + Isotopic <- x$iso_data %>% dplyr::group_by(!!sym(sample_id)) %>% + dplyr::distinct(!!sym(mass_id)) %>% + dplyr::tally() %>% + dplyr::rename(Sample = sample_id, Isotopic = n) - unique_masses_per_sample <- cbind(unique_masses_per_sample, Isotopic) %>% + unique_masses_per_sample <- dplyr::full_join(unique_masses_per_sample, Isotopic) %>% tidyr::pivot_longer(cols = c(!Sample), names_to = "Peak_type", values_to = "Count") %>% - dplyr::mutate(Peak_type = factor(Peak_type, levels = c('Monoisotopic', 'Isotopic'))) # set factor levels manually so bars will be in descending order by count + dplyr::mutate(Peak_type = factor(Peak_type, levels = c("Monoisotopic", "Isotopic"))) + # set factor levels manually so bars will be in descending order by count plot <- unique_masses_per_sample %>% ggplot2::ggplot(ggplot2::aes(x = Sample,