I'm excited to share with you some of our work on integrating R modeling language closer to FlowJo's convenient analysis interface. I like the results, but I'd like your opinion. Have a look at the post below and if you're interested in testing, contact simm at treestar dot com.
R modeling language offers many packages which can be used to analyze data. R is free. R has a huge community. R offers access to new algorithms for data analysis which may not have been worked into FlowJo. There are lots of advantages to look into R!
Still, for someone “switching” back and forth between FlowJo to R, there are some learning curve issues, such as removal of the user interface, and long processing times relative to a threading-enabled application.
Another pair of related issues with R and said packages is that it is difficult to set the context - via gating, especially when gating is done on compensated parameters. This usually meant exporting a subset of a sample from flowjo to R, and then compensating it in R to gain access to the desired context. A better way (from flowjo-centric pov) would be to let FJ do what it’s good at (comp/gate calculations) and pass the result to R for the more advanced analysis.
To alleviate this we added a new type of Node you can drag and drop in FlowJo - the R node.
This gives you the drag-and-drop-batch power you're used to expecting from FlowJo, but now instead of calling our calculation engine, you can also call a session of R (or multiple sessions in parallel.)
In this “Development” iteration, the only package we wired into FlowJo was FlowMeans. Spade is also partially implemented.
To access R Node shortcut, first add the Power Band to your Workspace Ribbon:
1) click the Ribbon button
2) drag the “power” band icon from the Ribbon Config pane to the Workspace Ribbon
3) select a population in the workspace and
4) click Power -> Run Tests -> Create R Node
5) select which parameters to pass to R for FlowMeans (notice that you can select comp’d, uncomp’d, and scatters)
6) success looks like a new R node and a bunch of siblings (derived gates based on the clustering):
whereas a failure will just notify you that “R Node Calculation has failed”, with details in the Java console:
From here you can drag the R node to the group and observe the full threading effect, FlowJo will spawn as many RTerm.exe’s as there are “java threads” defined in performance preferences:
This is also wired into FlowJo Enterprise mode, where analysis is headless, and steered by a protocol execution. We’re currently researching FlowSpade as the next iteration, as well as FlowMerge and any others that come up in our research. If you’re interested in utilizing FlowJo as a wrapper to parallelize R execution on fast computers, let me know and I’ll share a development build/license with you.