Closed hazeld closed 10 years ago
That sounds good to me. What are the the implications of this in terms of file storage? If you change the type of a graph, would that be like creating a gate and create a new set of files, or does this mean that three images will be generated for each gate/upload?
I was originally thinking along the lines of the first. So if on one graph the user decides the change the style of graph it would just create and fetch the image for that data set, as you can easily gate in all three types. I'd imagine it would be used more for exporting the graphs in whichever ever way best the user wanted. However, it would be easy to implement it to produce all three graphs each time the user gated something, but this would probably slow the computation down a bit.
I personally think we definitely want to avoid making gating any slower than it already is (though I'm aware that most of the current waiting time is overhead introduced by polling, queues etc.) If three graphs were created for each file/gate I think we'd certainly want to make sure the graph the user was likely to want (based on the type of graph they had previously viewed, perhaps) was the first added to the task queue to reduce the wait. On the other hand, generating a new graph when changing the type might not be so bad - we could then add it to the hierarchical structure which is currently formed by gates, which makes exporting/automating the steps to get to a certain graph easy/potentially more complete.
Agreed, I'll implement it so a new graph is generated when changing the type to begin with. It will be easy enough to change later if necessary.
I had a look at some other flow cytometry analysis tools online and it seems like there are three main ways to plot the graphs. Currently we're using a smooth scatter plot, but contour plots and non-smooth scatter plots seem to be used more often than smooth scatter plots. Unless anyone has any objections I was planning on implementing scripts to change the graphs to these types in R as it should be a fairly quick job.