Focus Group: OpenMS Visualization Tools and Web apps #7321
Replies: 14 comments 20 replies
-
@timosachsenberg, @jpfeuffer, @Arslan-Siraj, @axelwalter, @jcharkow, @JeeH-K |
Beta Was this translation helpful? Give feedback.
-
Thanks for starting this discussion, I think this is a great and also necessary discussion prior to the retreat. I think these are good point and I will add a few more: A. First, we should summarize the current state of our visualization capabilities (interactive vs. static) and data supported (spectra, chromatograms, feature maps, mobilograms, 2D peak maps). B. Discuss where interactive plotting is needed, e.g. using Plotly with Streamlit or JavaScript integrations with Vue as Streamlit component. How to handle big files? C. What are the implications to maintenance and automated testing. We all know: getting it to run once is easy but keeping it running and maintained is hard. D. what should be our priorities? How can we consolidate efforts? e.g. Can there be a joint library that can be published? E. come up with a list of tasks and tackle them in the team? |
Beta Was this translation helpful? Give feedback.
-
With regards to point A stated by Timo, it would be great, if everyone could write a few sentences about what they have implemented respectively. I am not sure, who has built tools themselves, but I think I remember @JeeH-K and @t0mdavid-m doing something with Streamlit and Javascript. |
Beta Was this translation helpful? Give feedback.
-
A starting point for discussions / focus group tasks for the web apps: Deployment
Testing
How to organize modules such as workflow manager / visualization?
Update and polish the template
Workflow manager framework
|
Beta Was this translation helpful? Give feedback.
-
Could the JavaScript components be wrapped in a streamlit streamlit custom component and published to PyPi? |
Beta Was this translation helpful? Give feedback.
-
During the Developer retreat we can give an intro on the current state of web apps and visualization. Some ideas:
I could do the template, deployment, workflow framework and UmetaFlow. Any other suggestions welcome. |
Beta Was this translation helpful? Give feedback.
-
Sorry to hear that. Family emergencies can be overwhelming, so please don't feel obliged to zoom in for a discussion. @axelwalter @matteopilz @JeeH-K @t0mdavid-m, could you please take a look at MassDash? I'm particularly interested in whether the visualization components could be utilized by us. I'm curious about how they compare to the JS components in terms of functionalities and maintainability. I'm still hopeful for a single-language solution ;). Even if that's not feasible immediately or for the first version, I believe it's the right time to consider how to modularize. For example, we could encapsulate the JS Vue into components or explore emerging works in progress (WIP) like Streamlit components (Bokeh 3, etc.) that could serve as a slimmer, more maintainable replacement in the future. While I haven't delved into the details, it appears that there are ongoing developments that might provide more lightweight interfaces with JS components, allowing users to stay in the Python world (which imho is a huge win if we want to gain external users). |
Beta Was this translation helpful? Give feedback.
-
Hi, folks in this discussion! @axelwalter @t0mdavid-m @timosachsenberg and I will have a discussion about this focus group via Zoom tomorrow (Feb 19) at 11 AM CET We will use the "MS SIG" Zoom Meeting room for this, and everyone is welcome to join us. Let me know if you need the link for the meeting |
Beta Was this translation helpful? Give feedback.
-
something that might be relevant for the discussion (e.g., data exchange / storage) https://github.com/bigbio/quantms.io |
Beta Was this translation helpful? Give feedback.
-
As it does not cover spectra: https://github.com/compomics/ThermoRawFileParser/blob/master/Writer/ParquetSpectrumWriter.cs#L115-L133 could be something that could be built upon (e.g. supporting ion mobility) |
Beta Was this translation helpful? Give feedback.
-
Action points for web apps / visualizations:streamlit web app template:
visualization module:
|
Beta Was this translation helpful? Give feedback.
-
maybe interesting for the vue.js guys: https://discuss.streamlit.io/t/a-method-to-create-components-almost-entirely-in-python/68357 |
Beta Was this translation helpful? Give feedback.
-
We should discuss how to proceed with the different visualization tools and if we want to use a common package / language. I can give a quick overview of what I have been adding so far.
Both tools are exclusively for plotting mass spectra and depend on matplotlib. Spectrum utils also allows interactive plotting with altair, which should also be possible after converting our MSSpectrum with our conversion function.
It would be good to discuss the major applications we need for visualization in OpenMS like spectrum, chromatogram, interactivity, etc. It would also be good to discuss whether we want to build something included in OpenMS or something separate which OpenMS uses as dependency.
Beta Was this translation helpful? Give feedback.
All reactions