saeyslab / cytonorm Goto Github PK
View Code? Open in Web Editor NEWR library to normalize cytometry data
R library to normalize cytometry data
Using the data from the flow repository, I succesfully ran the code and steps until receiving an error at the training model step.
The error was
"Error in FlowSOM::AggregateFlowFrames(files, nCells, channels = colsToUse, :
unused argument (channels = colsToUse)"
I doubled check all the previous steps, and the data structure and input seem to be fine. Are there any suggestions?
Hi everyone,
For some reason FlowSOM can't cluster my T cells into naive and memory, K-mean can, is there a way to use K-mean clustering instead?
Thank you a lot
Dear all,
I already know my data clustering affected by my batches and I read thatI can skip the clustering part in the training but I am not sure how this is achieved! should I just skip the FlowSOM.params in the training function and then the clustering is skipped? sorry but this was't so clear to me in the documentation.
Also I have a question regarding to the training data. Can the training data be used with normalized facs files or do I need to normalize the training data too by somehow including them in the normalization process?
Thank you so much!
Hi,
I would like to apply CytoNorm to my mass-cytometry dataset but I would like to know more about the data used.
Do you use raw FCS files (after beads normalization and debarcoding) or do you "clean" your data first (singlets, live cells etc...)?
Best
Hello everyone,
I have 2 batches (B1 and B2), in each batch I have 5 samples (B1_X1, B1_X2, B1_X3, B1_X4, B1_X5) (B2_X1, B2_X2, B2_X6, B2_X7, B2_X8)
I have only X1 and X2 in common between B1 and B2.
I know that B1 is good, the staining in B2 was not perfect for some markers. I want to correct the staining in B2 to look like the staining in B1.
Should I only use X1 and X2 to train my model and then use the model to normalize X6,X7,X8?
How do I specify that B1 is good and that I want B2 to be corrected and not the opposite?
Thank you a lot for your feedback!
hello I'm seeing the following message after inputing my data/controls. Can anyone assist?
Error in FlowSOM::AggregateFlowFrames(files, nCells, channels = colsToUse) :
unused argument (channels = colsToUse)
Hello again :),
I have been running into a weird issue where I specify the number of clusters as e.g. 20, and it's running flowsom with nClus=20, the plot for the CV looks ok, but when it's doing the training it's only using 10 clusters, so it says Processing cluster 1... up to 10. The same with the actual normalisation, it seems to only be using 10 clusters.
Any idea what's happening there?
Many thanks and best wishes,
Emma
sessionInfo()
R version 3.6.3 (2020-02-29)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS release 6.10 (Final)
Matrix products: default
BLAS/LAPACK: /usr/lib64/libopenblas-r0.3.3.so
locale:
[1] LC_CTYPE=en_GB.ISO-8859-1 LC_NUMERIC=C LC_TIME=en_GB.ISO-8859-1 LC_COLLATE=en_GB.ISO-8859-1
[5] LC_MONETARY=en_GB.ISO-8859-1 LC_MESSAGES=en_GB.ISO-8859-1 LC_PAPER=en_GB.ISO-8859-1 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_GB.ISO-8859-1 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] flowCore_1.52.1 FlowSOM_1.18.0 igraph_1.2.5 dplyr_1.0.0 CytoNorm_0.0.5 optparse_1.6.6
loaded via a namespace (and not attached):
[1] Biobase_2.46.0 splines_3.6.3 jsonlite_1.6.1 ConsensusClusterPlus_1.50.0 R.utils_2.9.2
[6] ellipse_0.4.2 gtools_3.8.2 RcppParallel_5.0.1 stats4_3.6.3 latticeExtra_0.6-29
[11] RBGL_1.62.1 flowWorkspace_3.34.1 yaml_2.2.1 robustbase_0.93-6 pillar_1.4.4
[16] lattice_0.20-41 glue_1.3.2 digest_0.6.25 RColorBrewer_1.1-2 colorspace_1.4-1
[21] ggcyto_1.14.1 Matrix_1.2-18 R.oo_1.23.0 plyr_1.8.6 pcaPP_1.9-73
[26] XML_3.99-0.3 pkgconfig_2.0.3 pheatmap_1.0.12 tsne_0.1-3 fda_5.1.4
[31] zlibbioc_1.32.0 purrr_0.3.4 corpcor_1.6.9 mvtnorm_1.1-1 scales_1.1.1
[36] jpeg_0.1-8.1 getopt_1.20.3 openCyto_1.24.0 flowStats_3.44.0 tibble_3.0.1
[41] generics_0.0.2 ggplot2_3.3.1 ellipsis_0.3.1 flowViz_1.50.0 BiocGenerics_0.32.0
[46] hexbin_1.28.1 mnormt_1.5-6 magrittr_1.5 crayon_1.3.4 IDPmisc_1.1.20
[51] mclust_5.4.6 ks_1.11.7 R.methodsS3_1.8.0 MASS_7.3-51.6 graph_1.64.0
[56] tools_3.6.3 data.table_1.12.8 ncdfFlow_2.32.0 flowClust_3.24.0 lifecycle_0.2.0
[61] matrixStats_0.56.0 stringr_1.4.0 munsell_0.5.0 cluster_2.1.0 compiler_3.6.3
[66] rlang_0.4.6 grid_3.6.3 base64enc_0.1-3 gtable_0.3.0 rrcov_1.5-2
[71] R6_2.4.1 gridExtra_2.3 clue_0.3-57 CytoML_1.12.1 KernSmooth_2.23-17
[76] Rgraphviz_2.30.0 stringi_1.4.6 parallel_3.6.3 Rcpp_1.0.4.6 vctrs_0.3.0
[81] png_0.1-7 DEoptimR_1.0-8 tidyselect_1.1.0
While following the Batch Alignment walk-through, found that prep.cytonorm function does not keep original cell marker columns (cellular.cols) even when specifying to keep both the original and coarse aligned columns ( cellular.cols = c(cellular.cols, paste0(cellular.cols, crs.append)) ).
I am clustering by the coarse aligned cell makers ( paste0(cellular.cols, crs.append) ), this impacts several down-stream commands which require the original column names (e.g. train.cytonorm & run.cytonorm)
Thanks in advance
Hi,
thanks for this great tool.
I'm trying to use CytoNorm with my fluorescent flowdata as you explain in you paper (using CYTOF data) but after the normalizzation of my control (to validate the training model) i saw that all the events for each channel are on the chart edges.
I changed the cofactor to understand if the problem was related with this step but the result was the same.
Below there are the code that i used to change the cofactor and the CV of my analysis.
if you had any suggestions for solving problems I would be grateful?
best regards,
Domenico
transformList <- flowCore::transformList(channels,list(arcsinhTransform(a = 0, b = 1/300, c = 0),
arcsinhTransform(a = 0, b = 1/600, c = 0))
transformList.reverse <- flowCore::transformList(channels,list(function(x){
return(sinh(x)/(1/300))
},function(x){
return(sinh(x)/(1/600))
}))
Hi, I am having a problem running testCV.
After running prepareFlowSOM on my reference samples I try to run testCV but get the error in the title.
I believe the error originates from this line:
Line 211 in ab58f29
Hello,
I have been unable to find the CytoNorm package available for installation through popular package repositories like Bioconductor or conda-forge, including Anaconda. As a user interested in utilizing CytoNorm for data analysis, I kindly request the owners of CytoNorm to consider making it available as an installer package on platforms like Anaconda. This would greatly enhance the accessibility and ease of installation for the community of users relying on Anaconda for their data analysis workflows.
Hi, with respect to adding the tool to bio.tools I am wondering whether you could specify a license and a version of the tool? Thanks.
Hello, when testing for best clusters this Error occurs: Error in t.default(data) : argument is not a matrix. I reinstalled FlowSOM and Cytonorm, because you explained this might be an issue in a previous discussion on this error. Could you let me know which versions are compatible? Thanks you very much! Lena
Hi all,
Thank you for the excellent package. I have used CytoNorm on previous projects and been really happy with the results. On my current CyTOF project, I'm finding that after batch normalisation, CytoNorm seems to create some highly negative alignment values, and also some very high positive ones.
The plots below show a couple of examples or markers plotted against themselves pre and post alignment.
I'm afraid I'm not able to provide a reproducible example of this yet because I don't have permission to share the data, but have you seen this before and do you know what causes it? The number of events that are very low or very high is very small, so I'm happy excluding them, but I'm worried this is a symptom of something wrong?
The data have been compensated (nnls), asin(x/5) transformed, and then put through cytonorm.
Hi there,
I am working with the spectral flow data from Cytek Aurora. I am trying to figure out how to specify a cofactor of 150 for arcsinh transformation in the transformList() function. Any suggestions would be helpful.
Thanks,
Rohit
Hi Sofie,
Could it be that there should be a drop= FALSE
in line 95 of QuantileNorm.R. I get an error: "Error in apply(flowCore::exprs(ff)[, channels], 2, function(x) { :
dim(X) must have a positive length" when normalizing one channel only.
Regards
Artuur
Thanks for the software!
I was wondering if you have a recommendation for combining your cytonorm workflow with PeacoQC (also from your group)? It looks like cytonorm estimates it's own per-channel transformations, but I would like to input (PeacoQC) cleaned files which do not have such nuanced transformations. Or do you recommend this is done in a different order? thanks for any advice.
Hi Sofie,
I think there is something missing in the sentence
normParams takes "nQ", the number of quantiles. Additionally, quantile_values The goal can be "mean", one of the batch labels, or nQ numbers (e.g. nQ = 2, )
Moreover, I think you should describe a basic workflow showing the use of nQ. I tried it and I think it could be more robust in some cases. In the following the setup tends to lead to a line (nQ=2) or relative straight line (nQ=5).
# A straight model is nQ = 2, quantileValues = c(0.001, 0.999)
# Model relying 5 quantiles (nQ = 5), which are described below
png("nQ_5.png",
width = length(channels) * 300,
height = (nrow(train_data) * 2 + 1) * 300)
model_nQ_5 <- QuantileNorm.train(
files = train_data$Path,
labels = train_data$Batch,
channels = channels,
transformList = transformList,
nQ = 5,
quantileValues = c(0.001, 0.01, 0.95, 0.98, 0.999),
plot = TRUE)
dev.off()
# Check the result among the training data
QuantileNorm.normalize(
model = model_nQ_5,
files = train_data$Path,
labels = train_data$Batch,
transformList = transformList,
transformList.reverse = transformList.reverse,
outputDir = "nQ_5",
prefix = "nQ_5_",
verbose = TRUE)
# Apply to whole set
QuantileNorm.normalize(
model = model_nQ_5,
files = validation_data$Path,
labels = validation_data$Batch,
transformList = transformList,
transformList.reverse = transformList.reverse,
outputDir = "nQ_5",
prefix = "nQ_5_",
verbose = TRUE)
Best.
Hi,
I was wondering whether it makes sense to use the values obtained after performing Cytonorm for differential marker expression between two conditions? Or would that be incorrect and result in wrong conclusions?
Any comments on that?
Thanks!
When running testCV() I get the error in the title. How do I import the GetClusters function?
Do I need a specific version or package with FlowSOM?
Hello,
this is not an issue with CytoNorm, I would just need to know if what I am trying to do is possible.
My colleague collected several batches, from 1 to 6. Batches 1,2,3,4, and 6 have the control A that I can use for normalization.
The problem is that Batch 5 has no control A.
She also collected a control B for batches 5 and 6.
Is there a way to normalize all the samples ?
I was thinking to normalize batches 5 and 6 by control B, then normalizing every batch by control A but I get errors like:
Avis : 39322 cells (52.24%) seem far from their cluster centers.Splitting Normalized/Norm_Batch05-1E18-Live cells.fcs
Error in MapDataToCodes(fsom$map$codes, fsom_new$data) :
NA/NaN/Inf in foreign function call (arg 1)
Is this normalization doable or doomed?
Dear Sofie,
I noticed that Cytonorm does not normalise channels where there is no signal in the control sample. How would you recommend getting around this? I understand that appropriate control sample choice is crucial but it will be difficult to find a sample with signal in all channels. Alternatively would you run the algorithm twice in 2 different control samples in order to cover all the channels?
Hi Sofie,
When the original files are to be removed (removeOriginal = TRUE
) and prefix = ""
, the normalized files get removed too. I would suggest using file.remove(file)
before write.FCS()
.
Regards
Artuur
Hello everyone,
I try to use CytoNOrm as FlowJo plugin for the first time.
At the following step the script is stopped:
"## Step 02 of Initial Workflow ##
**> ##################################
fsom <- CytoNorm::prepareFlowSOM(train_data$Path,
cVals = sort(c(5,nCluster,10,15))
cvs <- testCVs(fsom,
p <- PlotOverviewCV(fsom, cvs)
Error in (function (file = if (onefile) "Rplots.pdf" else "Rplot%03d.pdf", :
can file 'Rplots.pdf' not open
Calls up: PlotOverviewCV -> -> grid.newpage ->
Execution stopped**"
Got an idea? I have already exchanged some packages (ggplot2, ploty..)
Thanks a lot in advance.
Benjamin
Hello,
I've run CytoNorm on 4 files that were generated in 4 different batches. Many markers look amazing afterwards and the batch effect between samples is gone after running CytoNorm. But some markers show some unexpected artefacts (see screenshots below). Is there anything I can do to prevent this?
I noticed the following issues:
I would appreciate any advice how I could fix this,
Thank you very much for your help and efforts in advance,
Kind regards,
Joachim
Left plots: uncorrected. Right plots: batch-corrected
Hi,
I was following your usage guide and this function was producing the error above for me.
I noticed that the format of fsom provided to testCV() didn't seem to be correct, fsom$FlowSOM needed to be provided.
Error code:
cvs <- testCV(fsom, cluster_values = c(5, 10, 15), plot = FALSE)
Fix:
cvs <- testCV(fsom$FlowSOM, cluster_values = c(5, 10, 15), plot = FALSE)
Hi,
I am a CytoNorm user via FlowJo software.
The normalization process seems to work but when it ends, I can't find any "nomalised" fcs files. In contrast, some new R scripts such as "RScript.CytoNorm.1670259468256.R" are present in the original folder containing the fcs files I used for normalisation.
Where can I find the normalized files? How can I be sure that no error occurred during the normailsation?
Thank you
Hello,
First of all, thank you for putting this together, batch normalisation in CyTOF data has been a large problem in the community for a while now.
I have come across some unexpected behaviour when running testCV. It runs for some values of the cluster_values argument but gives an error under different values. For example:
cvs <- testCV(fsom, cluster_values = seq(5,25,by=2))
runs fine but not
cvs <- testCV(fsom, cluster_values = seq(5,25,by=3))
Error in array(x, c(length(x), 1L), if (!is.null(names(x))) list(names(x), :
'data' must be of a vector type, was 'NULL'
I was wondering if you have any insight on what could be causing the problem.
Many thanks,
Emma
R version 3.6.3 (2020-02-29)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS release 6.10 (Final)
Matrix products: default
BLAS/LAPACK: /usr/lib64/libopenblas-r0.3.3.so
locale:
[1] LC_CTYPE=en_GB.ISO-8859-1 LC_NUMERIC=C LC_TIME=en_GB.ISO-8859-1 LC_COLLATE=en_GB.ISO-8859-1
[5] LC_MONETARY=en_GB.ISO-8859-1 LC_MESSAGES=en_GB.ISO-8859-1 LC_PAPER=en_GB.ISO-8859-1 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_GB.ISO-8859-1 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] flowCore_1.52.1 dplyr_1.0.0 CytoNorm_0.0.5
loaded via a namespace (and not attached):
[1] Biobase_2.46.0 splines_3.6.3 jsonlite_1.6.1 ConsensusClusterPlus_1.50.0 R.utils_2.9.2
[6] ellipse_0.4.2 gtools_3.8.2 RcppParallel_5.0.1 stats4_3.6.3 latticeExtra_0.6-29
[11] RBGL_1.62.1 flowWorkspace_3.34.1 yaml_2.2.1 robustbase_0.93-6 pillar_1.4.4
[16] lattice_0.20-41 glue_1.3.2 digest_0.6.25 RColorBrewer_1.1-2 colorspace_1.4-1
[21] ggcyto_1.14.1 Matrix_1.2-18 R.oo_1.23.0 plyr_1.8.6 pcaPP_1.9-73
[26] XML_3.99-0.3 pkgconfig_2.0.3 pheatmap_1.0.12 tsne_0.1-3 fda_5.1.4
[31] zlibbioc_1.32.0 purrr_0.3.4 corpcor_1.6.9 mvtnorm_1.1-1 scales_1.1.1
[36] jpeg_0.1-8.1 openCyto_1.24.0 flowStats_3.44.0 tibble_3.0.1 generics_0.0.2
[41] ggplot2_3.3.1 ellipsis_0.3.1 flowViz_1.50.0 BiocGenerics_0.32.0 hexbin_1.28.1
[46] mnormt_1.5-6 magrittr_1.5 crayon_1.3.4 IDPmisc_1.1.20 mclust_5.4.6
[51] ks_1.11.7 R.methodsS3_1.8.0 MASS_7.3-51.6 graph_1.64.0 tools_3.6.3
[56] data.table_1.12.8 ncdfFlow_2.32.0 flowClust_3.24.0 lifecycle_0.2.0 matrixStats_0.56.0
[61] stringr_1.4.0 munsell_0.5.0 cluster_2.1.0 compiler_3.6.3 rlang_0.4.6
[66] grid_3.6.3 igraph_1.2.5 base64enc_0.1-3 gtable_0.3.0 rrcov_1.5-2
[71] R6_2.4.1 gridExtra_2.3 clue_0.3-57 FlowSOM_1.18.0 CytoML_1.12.1
[76] KernSmooth_2.23-17 Rgraphviz_2.30.0 stringi_1.4.6 parallel_3.6.3 Rcpp_1.0.4.6
[81] vctrs_0.3.0 png_0.1-7 DEoptimR_1.0-8 tidyselect_1.1.0 ```
A (somewhat) related question regarding the testCV function graphical results. I don't understand what I'm looking at, quite frankly.
I run it as such:
cvs <- CytoNorm:testCV(fsom, cluster_values = c(a, b), plot = true, verbose = true) where a is (I assume) the start cluster number, and b is the end cluster number (from a ridiculously low value of 3 to an equally ridiculously high value of 20). It generates two plots, and I'm not sure I understand what they are telling me.
On the first plot, the top part shows what looks like downward moving "stairs", from 3 to 20 in length (from left to right); they are all shades of blue. If I assume this means that there are no batch effects causing issues with my data, then I really don't understand the following part of the plot! This is followed on the same plot by a box of varying shades of yellow (and red) to blue with values (a 20x20 grid) and with "Original clustering" on the right. I'm not sure how to read this. I understand that anything over 1.5 (or between 1 and 1.5) shows batch effects causing potential issues?
The second plot is an 11 x 20 grid, again with numbers (there are 11 technical controls in the group tested), 20 across and 11 deep. What does this plot mean? Again, the colors range from blue to red...
A third plot is simply a combination of the two previous plots, all on the same page. This one can obviously be read if I knew how to read the other ones. I hate to be ignorant, but... :) I'm having to explain this to others at work and my google-fu appears weak. I would be grateful for any help anyone could give.
Thanks,
Diana
Hi!
If the training set is from healthy controls and the hypothesis is to discover novel clusters (using Diffcyt) that occur only in cases but not in controls, could CytoNorm pre-processing wash-off the signal?
Thanks,
Vivek
I was able to successfully run FlowSOM on the raw data but failed when the fcs files were normalized using CytoNorm. I believe, this error is because of introductions of NAs. How can I debug / circumvent this?
sce <- cluster(sce, features = "type",
+ xdim = 10, ydim = 10, maxK = 10,
+ verbose = T, seed = 1)
> o running FlowSOM clustering...
> Error in SOM(fsom$data[, colsToUse], silent = silent, ...) :
> NA/NaN/Inf in foreign function call (arg 1)
By default,
> options("na.action")
$na.action
[1] "na.omit"
I am using:
R v4.0.0
FlowSOM v1.20.0
CytoNorm v0.0.5
CATALYST v1.12.1
Thanks a lot!
Vivek
Hi Sofie,
Does the gsub mean basename? At
Lines 494 to 495 in e94732c
I think it you would interesting to store the untransformed along with the transformed channels. This redundant with the quantile plot but this will allow the user to see the transform with a classical flow software. I mean something like copying original expression of the transformed channels, renaming the colnames, and fr_append_cols them before wirting.
By the way, as the current process replaces the expression but do not alter the range, I wonder if there could be a problem if the transformed maximum is higher than the previous as the range does not change. This might be linked to previous issues.
Best
Hi,
I am trying to run cytonorm and everytime I get the following error:
Error in prepareFlowSOM(files = files, nCells = nCells, FlowSOM.params = FlowSOM.params, :
unused argument (plot = plot)
execution stopped
Any idea why this happens? I am using Cytonorm_v1.1 together with R4.0.1 on windows 10
Thank you in advance!
Hi everyone,
After I normalize the files, I upload them to cytobank to do FLOWSOM clustering, it keeps failing, any idea why?
Also the fcs file size of the normalize file is 3X smaller than that before normalization, is there a reason for that?
Thank you a lot
Hi
I get the message below after training the model. I have thousands of cells in every sample. Could you please help me understand why it says that there are less than 50 cells? Also, should I worry about the warnings? I mean, should I trust the normalized results even if I get these warnings?
Regards
Juan
model <- CytoNorm.train(files = train_data$Path,
labels = train_data$Batch,
channels = channels,
transformList = transformList,
FlowSOM.params = list(nCells = 6000,
xdim = 5,
ydim = 5,
nClus = 10,
scale = FALSE),
normMethod.train = QuantileNorm.train,
normParams = list(nQ = 101,
goal = "mean"),
seed = 1,
verbose = F)
Less then 50 cells in batch17 (42). No quantiles computed.
Less then 50 cells in batch11 (23). No quantiles computed.
Warning messages:
1: In FlowSOM::NewData(fsom$FlowSOM, ff) :
3804 cells (7.1%) seem far from their cluster centers.
2: In FlowSOM::NewData(fsom$FlowSOM, ff) :
5225 cells (3.52%) seem far from their cluster centers.
3: In FlowSOM::NewData(fsom$FlowSOM, ff) :
8601 cells (5.54%) seem far from their cluster centers.
4: In FlowSOM::NewData(fsom$FlowSOM, ff) :
1494 cells (3.65%) seem far from their cluster centers.
5: In (function (files, labels, channels, transformList, nQ = 101, :
Not enough cells for batch17
The identity function will be used.
6: In (function (files, labels, channels, transformList, nQ = 101, :
Not enough cells for batch11
The identity function will be used.
Hello there, thanks for making CytoNorm public. Could I ask you to clarify its license? Many thanks
Hi Sofy,
We have successfully run CytoNorm in R 4.1.2 but struggling to run it in the newest version R 4.2 ('error in updateFlowSOM(fsom): fsom should be a FlowSOM object").
Any advice?
Hello - Firstly thank you so much for this code, it will be a game changer for analyzing CyTOF data between batches.
It has worked perfectly for me to normalize the FCS files and analyze the resulting files using other R packages, however some of my collaborators do not have coding experience and prefer the user-friendly versions of viSNE and FlowSOM through Cytobank. I've had trouble getting the normalized FCS files to be compatible with Cytobank. Originally I thought it may have been an issue with my FCS files, so I then normalized the flow repository files provided and I think it is an issue with the normed output files.
The algorithm changes the max range for the expression of each channel in a way that causes infinite outputs for some channels as show below:
Unfortunately the code in Cytobank requires the max range to be a finite value in order to do any higher order analyses (viSNE, FlowSOM, CITRUS, etc.). I've tried to play around with the code a bit to manually set the max range but haven't been successful. Do you have a suggestion as to how to address this issue?
Thanks!
Elise
Hi Sofie,
I could be wrong, but it seems like CytoNorm's internal handling of FlowSOM objects may need to be updated after the Big Update commit to FlowSOM reorganized the list structure.
If I install both packages from the current GitHub master branches (or FlowSOM from Bioconductor 3.13) and attempt to run through the examples from the README, I run into issues from testCV
or CytoNorm.train
. For example, from CytoNorm.train
, I get one of these:
Error in UpdateFlowSOM(fsom) : fsom should be a FlowSOM object.
It's not hard to trace the cause of this to here, where fsom$FlowSOM
will yield a NULL
for the newer format fsom
object generated by prepareFlowSOM
. There are also a few other locations that seem to directly depend on the old FlowSOM
object structure.
Please let me know if I'm just missing something. I could also probably put together a quick patch PR as this should be pretty straightforward.
Thanks,
Jake
Hi,
The link to the graphical overview is
man/figures/algorithm_overview.PNG
This will make the package even more attractive.
Best,
Samuel
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.