- Notifications
You must be signed in to change notification settings - Fork1
Multi-dimensional, trans-omics metabolic maps.
License
Apache-2.0, MIT licenses found
Licenses found
biosustain/shu
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
App to plot multidimensional data to a metabolic map. Metabolic maps are graphs with metabolitesas nodes and reactions as edges.
For aquick start, we provide a web application athttps://biosustain.github.io/shu. Thereare example maps and data available athttps://github.com/biosustain/shu_case_studies, thatcan be load with the buttons at the top-right.
For a more comprehensive guide, visit thedocumentation.
Paper to cite:https://doi.org/10.1093/bioinformatics/btae140
Escher is great. In fact, the formatof the map is exactly the same as escher's. However, escher only allows for plotting 2 (+2 with tooltips)kinds of data: reaction data and metabolite data.Shu attempts to provide ways of plotting at least6:
- Reaction sizes.
- Reaction colors.
- Reaction right sides.
- Reaction left sides.
- Metabolite sizes.
- Metabolite colors.
(+2 with hovers):
- Hover reactions.
- Hover metabolites.
with special focus on being able to plotdistributions (not just points) andn-conditions. Escher also has thedistinction between color and size, it is simply that they are not independently accessible from the GUI.
Shu is distributed both through a web app (preview build athttps://biosustain.github.io/shu) and as standalonenative application. To use the latter, download thelatest release for your operating system, unpack if necessary and run it as executable.
Documentation for the rust crate and the python API will be made available once they are published. In the meantime, a previewof the python documentation can be found athttps://biosustain.github.io/shu/docs.
Installcargo and run
git clone https://github.com/biosustain/shu.gitcd shucargo install --path.
This may possibly require extra dependencies. Check the bevy setup,shu useslld
to fasten linking times.
Shu follows a Grammar of Graphics design likeggplot orplotnine.See thepython API for the full analogy. The particular implementationis an Entity Component System inbevy:
- Each aesthetic is acomponent (
Gsize
,Gcolor
, etc.) containing its data (seesrc/aesthetics.rs
). Identifiers are stored in theAesthetic
component. - Entities with
Aesthetic
, other aes components and Geom component (GeomArrow
,GeomMetabolite
, etc. insrc/geom.rs
) areprocessed and plotted by asystem (insrc/aesthetics.rs
). - The accepted aesthetics for a given geom are made explicit in thequeries of thesystems.
Data handling (df
, admap_file
) lives insrc/data.rs
andsrc/escher.rs
and the GUI componets lives insrc/gui.rs
.
Copyright 2023 The Novo Nordisk Foundation Center for Biosustainability.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE orhttp://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT orhttp://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submittedfor inclusion in the work by you, as defined in the Apache-2.0 license, shallbe dual licensed as above, without any additional terms or conditions.
About
Multi-dimensional, trans-omics metabolic maps.