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

Newly constructed flowFrame has no keywords. #122

Closed
gfinak opened this issue Aug 24, 2018 · 1 comment
Closed

Newly constructed flowFrame has no keywords. #122

gfinak opened this issue Aug 24, 2018 · 1 comment

Comments

@gfinak
Copy link
Member

gfinak commented Aug 24, 2018

Describe the bug
A newly constructed flowFrame has no keywords.
When written to an FCS file using write.FCS, some default keywords are set, but the file can't be properly read and displayed in FlowJo because keyword values don't reflect the underlying data.

To Reproduce

library(flowCore)
#> Warning: package 'flowCore' was built under R version 3.5.1
m <- matrix(rnorm(1000),ncol=4)
colnames(m) <- LETTERS[1:4]
fr <- flowFrame(m)
keyword(fr)
#> list() #at this point there are no keywords.

write.FCS(fr,filename = file.path("/tmp/test.fcs")) #keywords are added on write.FCS.
#> [1] "/tmp/test.fcs"

system(paste0("open /tmp"))
# open FlowJo and drag the fcs file to the workspace.
# The file does not display properly. (see screenshot)

keyword(read.FCS("/tmp/test.fcs"))["$P1R"]
#> $`$P1R`
#> [1] "1024" #note this range doesn't reflect the underlying data.

# The keywords for the range are set to a default value, but should be updated on object creation
# to reflect the range of the data.

Created on 2018-08-24 by the reprex
package
(v0.2.0).

Expected behavior
A newly created flowFrame via the flowFrame() constructor should have range (and maybe other keywords) set to reflect the contents of the data frame.

Screenshots
No events are visible due to the range of display (taken from the keywords, presumably)
image

sessionInfo():
R version 3.5.0 (2018-04-23)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Sierra 10.12.6

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

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

other attached packages:
[1] flowCore_1.47.5

loaded via a namespace (and not attached):
[1] pcaPP_1.9-73 Rcpp_0.12.18 DEoptimR_1.0-8 compiler_3.5.0
[5] tools_3.5.0 digest_0.6.15 memoise_1.1.0 evaluate_0.11
[9] lattice_0.20-35 rlang_0.2.2 reprex_0.2.0 graph_1.59.0
[13] rstudioapi_0.7 yaml_2.2.0 parallel_3.5.0 mvtnorm_1.0-8
[17] knitr_1.20 withr_2.1.2 stringr_1.3.1 cluster_2.0.7-1
[21] devtools_1.13.6 stats4_3.5.0 rprojroot_1.3-2 grid_3.5.0
[25] robustbase_0.93-2 Biobase_2.41.2 rrcov_1.4-4 R6_2.2.2
[29] processx_3.2.0 rmarkdown_1.10 magrittr_1.5 callr_2.0.4
[33] corpcor_1.6.9 clipr_0.4.1 whisker_0.3-2 backports_1.1.2
[37] ps_1.1.0 matrixStats_0.54.0 htmltools_0.3.6 MASS_7.3-50
[41] BiocGenerics_0.27.1 assertthat_0.2.0 stringi_1.2.4 crayon_1.3.4

@mikejiang
Copy link
Member

range is fixed during write.FCS.
image
But I can only set maximum value through $PnR, to display those negative values linear scaling needs to be manually adjusted in flowJo

@gfinak gfinak closed this as completed Dec 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants