Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cyto_compensate(gsSamp, select = NULL) fails with restricted channels #197

Open
rwbaer opened this issue Mar 3, 2024 · 0 comments
Open
Labels
Bug Something isn't working

Comments

@rwbaer
Copy link

rwbaer commented Mar 3, 2024

Describe the bug
I'm trying to use the built in compensation of my data files, but it fails when I'm not using FL3-AREA and the off diagonals are all 0.
cyto_spillover_extract(gsSamp[[1]]) produces NULL rather than a restricted spill matrix.
cyto_compensate(gsSamp, select = NULL) claims compensation not found.

There is a matrix present in the files because I can extract it by brutt force. See below for an example. By brutt force I seem to get cyto_spillover_extract() to work after cyto_compensate(), but when I then try to use cyto_spillover_edit() I get a dimname error.

# Check what we have - note FL3-AREA is restricted
cyto_fluor_channels(gsSamp)
cyto_markers(gsSamp) 
# TIME_LSW      FSC-HEIGHT        FSC-AREA        SSC-AREA        FL1-AREA        FL2-AREA        FL4-AREA 
# "TIME"    "FSC-HEIGHT"      "FSC-AREA"      "SSC-AREA"    "CD271-AREA"     "CD44-AREA" "SytoxAAD-AREA" 

# Apply built-in spillover matrix to samples --> fails
cyto_compensate(gsSamp, select = NULL) # Use each samples built in matrix
# Error: compensation not found for: 2024-02-19_LM71_Combination_Day01.fcs

#  This produces NULL rather than correct result
# The problem appears related to not using FL3-AREA ??
spill <- cyto_spillover_extract(gsSamp[[1]])
spill
# NULL

# workaround
ff = cyto_extract(gsSamp[[1]])
sm1 = keyword(ff)$`$SPILLOVER` # spill matrix
sm1
#      FL1-AREA FL2-AREA FL3-AREA FL4-AREA
# [1,] 1.000000 0.111111        0 0.074074
# [2,] 0.000815 1.000000        0 0.053790
# [3,] 0.000000 0.000000        1 0.000000
# [4,] 0.002513 0.000000        0 1.000000

sm1 = sm1[-3,-3]
rownames(sm1) = colnames(sm1)
sm1
write.csv(sm1, "spill_matrix.csv")
cyto_compensate(gsSamp,  "spill_matrix.csv")

# now extraction seems to work as expected.  I'm not sure how this  is saved for the gating set files or if there is an extractor function
# to find out it is actually working
spill_new <- cyto_spillover_extract(gsSamp[[1]])
spill_new
# $`2024-02-19_LM71_Combination_Day01.fcs`
# FL1-AREA FL2-AREA FL4-AREA
# FL1-AREA 1.000000 0.111111 0.074074
# FL2-AREA 0.000815 1.000000 0.053790
# FL4-AREA 0.002513 0.000000 1.000000

# Even now, cyto_spillover_edit fails
#  cyto_spillover_edit(gsSamp) Error in dimnames(x) <- dn :    length of 'dimnames' [2] not equal to array extent

Desktop (please complete the following information):
Windows 11
version
_
platform x86_64-w64-mingw32
arch x86_64
os mingw32
crt ucrt
system x86_64, mingw32
status
major 4
minor 3.3
year 2024
month 02
day 29
svn rev 86002
language R
version.string R version 4.3.3 (2024-02-29 ucrt)
nickname Angel Food Cake

Additional context

sessionInfo()
R version 4.3.3 (2024-02-29 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 11 x64 (build 26063)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.utf8 LC_CTYPE=English_United States.utf8 LC_MONETARY=English_United States.utf8
[4] LC_NUMERIC=C LC_TIME=English_United States.utf8

time zone: America/Chicago
tzcode source: internal

attached base packages:
[1] stats graphics grDevices utils datasets methods base

other attached packages:
[1] shiny_1.8.0 patchwork_1.2.0 CytoExploreR_1.1.0 openCyto_2.14.0 flowWorkspace_4.14.2 flowCore_2.14.1
[7] xlsx_0.6.5 readxl_1.4.3 dplyr_1.1.4 ggplot2_3.5.0

loaded via a namespace (and not attached):
[1] changepoint_2.2.4 tidyselect_1.2.0 fastmap_1.1.1 EmbedSOM_2.1.2 promises_1.2.1 XML_3.99-0.16.1 digest_0.6.34
[8] rsvd_1.0.5 mime_0.12 lifecycle_1.0.4 ellipsis_0.3.2 magrittr_2.0.3 compiler_4.3.3 rlang_1.1.3
[15] sass_0.4.8 tools_4.3.3 yaml_2.3.8 utf8_1.2.4 data.table_1.15.0 knitr_1.45 askpass_1.2.0
[22] htmlwidgets_1.6.4 reticulate_1.35.0 plyr_1.8.9 RColorBrewer_1.1-3 pkgload_1.3.4 Rtsne_0.17 withr_3.0.0
[29] purrr_1.0.2 RProtoBufLib_2.14.0 BiocGenerics_0.48.1 grid_4.3.3 stats4_4.3.3 fansi_1.0.6 xtable_1.8-4
[36] colorspace_2.1-0 flowAI_1.32.0 scales_1.3.0 MASS_7.3-60.0.1 cli_3.6.2 rmarkdown_2.25 ncdfFlow_2.48.0
[43] generics_0.1.3 umap_0.2.10.0 rstudioapi_0.15.0 robustbase_0.99-2 RSpectra_0.16-1 reshape2_1.4.4 visNetwork_2.1.2
[50] cachem_1.0.8 stringr_1.5.1 zlibbioc_1.48.0 parallel_4.3.3 rhandsontable_0.3.8 cellranger_1.1.0 matrixStats_1.2.0
[57] vctrs_0.6.5 Matrix_1.6-5 jsonlite_1.8.8 cytolib_2.14.1 S4Vectors_0.40.2 RBGL_1.78.0 Rgraphviz_2.46.0
[64] jquerylib_0.1.4 tidyr_1.3.1 glue_1.7.0 DEoptimR_1.1-3 rJava_1.0-11 stringi_1.8.3 gtable_0.3.4
[71] later_1.3.2 munsell_0.5.0 tibble_3.2.1 pillar_1.9.0 xlsxjars_0.6.1 htmltools_0.5.7 openssl_2.1.1
[78] graph_1.80.0 R6_2.5.1 evaluate_0.23 lattice_0.22-5 Biobase_2.62.0 png_0.1-8 memoise_2.0.1
[85] httpuv_1.6.14 bslib_0.6.1 Rcpp_1.0.12 flowClust_3.40.0 xfun_0.42 fs_1.6.3 zoo_1.8-12
[92] pkgconfig_2.0.3

@rwbaer rwbaer added the Bug Something isn't working label Mar 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant