- #132 <https://github.com/Metaboverse/Metaboverse/issues/132>`_: Fixes issue with p-value/FDR calculation in interactive datatable formatting module
- #134 <https://github.com/Metaboverse/Metaboverse/issues/134>`_, #136 <https://github.com/Metaboverse/Metaboverse/issues/136>`_: Moves curated files to Sourceforge, adds automated scripts for release building
- #128 <https://github.com/Metaboverse/Metaboverse/issues/128>`_, #129 <https://github.com/Metaboverse/Metaboverse/issues/129>`_, #130 <https://github.com/Metaboverse/Metaboverse/issues/130>`_, #131 <https://github.com/Metaboverse/Metaboverse/issues/131>`_: Returns more information for values not being mapped to networks
- Updates to front-end calls to improve performance
We are trying to get a better sense of how we can best continue to develop Metaboverse for the community. If you are using Metaboverse, we would appreciate it if you took a few moments to fill out this survey: https://forms.gle/YdM1caZ7NhLAjxCGA. Thank you!


- Updated license to MIT
- Fixed version check when launching GUI to make sure it sorts version numbers correctly
- Updated documentation (expanded walkthrough, added dev notes)
- Added more test datasets distributed with each release
- Added sample distribution display for Data Formatting tool
- Fixes issue where collapsed reactions in other timepoints were not being highlighted


- Introduces Co-factor Selection, a drop-down menu available in Pattern Analysis. Selected a specific factor will limit the Pattern Analysis results to only the reactions containing the selected entity.
- Implements a Pattern Analysis Table Export utility, whereby the user can export the Reaction Patterns of a given type.
- Fixes an issue where some non-collapsed reactions were not showing up in Pattern results.



Files curated and analyzed using Metaboverse v0.9.0 will not be backwards compatible with files generated using earlier versions of Metaboverse.

- Integration of confidence values during data formatting, curation, and analysis.
- Fixed issues during curation arising from updates to the formatting of Reactome source files.

- Streamlined option buttons available during Pattern Analysis.
- Force directed networks now have sticky nodes once a user a dragged them to a new position.
- Added statistical thresholding visualization to Pattern Analysis module.
- Output session file with each successful build - will have experiment name appended to file.
- Sort Average reaction pattern by best statistic on each side of reaction
- Fix reaction filtering to more strictly and flexibly remove transport reactions from reaction pattern categories, and to only display transport reactions in the TransReg reaction pattern category.
- Node labels will default to the user-provided names if not the same as the curated default name.


- Added data formatting aid page (see issue #86).
- Added ability to cross-reference metabolite names with MetaboAnalyst and find more compatible names (see issue #74).

- Fixed issue where Metaboverse would not populate selected organism from drop-down if previously selected and the user returns to the page (see commit).
- Fixed issue where Metaboverse would not show the Continue button on the Curation page if necessary inputs were previously selected and the user returns to the page (see commit).


Important Note
Many of the changes introduced in v0.7.0 to session and intermediate file metadata will likely be incompatible with previous versions of Metaboverse.

- Fix Session Data page to format variables, file paths better (see commit)
- More flexible blocklist to capture all components with the same name, even if they have different species IDs (see commit1 ; commit2)
- Find largest change possible for modifier regulation patterns (see commit)
- Sort by best p-value (previously had taken a more conservative approach by using the worst p-value on each side of the reaction) (see commit)
- Add button and capabilities to switch between inferred complex values or to compare each complex component individually within the reaction pattern (commit1 ; commit2)
- Will still display the complex as inferred value, but evaluated as each individual component during reaction pattern search
- Protein complex inference/aggregation
- mean -> median for generating aggregate magnitude value for protein complex from component parts (see commit)
- Aggregate statistic calculated using e * gmean(p-array) (see commit)
- Max aggregate p-value set to 1 (see commit)
- Allow exporting line plots for timecourse and multi-condition datasets (see issue #89)
- Use user-provided names in labeling (see issue #87)
- Toggle analyte labels on by default (see commit)
- Allow flexibility for input data where commas are used in place of decimals (see issue #92)
- Remove duplicate rows from input data (interactive input will warn about these) (see commit)
- Fix Sustained reaction pattern to not identify is input and output value being compared are identical (see commit)
- Fix issue with parseComponents() function where usage of modifiers in pattern determination was pushing all modifiers (catalysts and inhibitors) to reactants list (see commit)
- For upregulated sustained reactions, get max of inputs and outputs (previously was getting min) (see commit)
- Fixed global motif searching for pathway and perturbation visualization to search non-collapsed reaction dictionary too. (see commit)
- Added reaction pattern tooltips on button to show a graphical example of each (see commit)
- Move some shared utilities to the motif-utils.js file (see commit)


Important Note
Many of the changes introduced in v0.7.0 to session and intermediate file metadata will likely be incompatible with previous versions of Metaboverse.

- Enzyme/Metabolite reaction patterns added: The Enzyme reaction pattern evaluates for two neighboring reactions both with perturbed enzymes matching the given threshold. This will allow for better pattern identification, especially in RNA-seq/proteomics-only datasets. The Metabolite reaction pattern looks for neighboring reactions both with perturbed metabolites matching the given threshold (see issue #81).

- Removed pathway-specific pattern detection: In our testing, these seemed to be minimally helpful.
- Option added for users to define percentage of matching nodes between two reaction to allow for a collapse (see issue #82).
- SVG export option (Full support for Inkscape, partial support for Illustrator) (see issue #83).
- Improved and more explicit session data for all intermediate files (see issue #78).
- Migrated source files to rutter.chpc.utah.edu/Metaboverse/source. This change should allow for faster downloads of pre-curated intermediate source files (see issue #80).
- Loading icon in reaction pattern page to let user know patterns are loading, especially in cases where many reaction patterns are discovered and the software may take some time to display them all.

Previous versions


- New database integration: First supported release with the ability to overlay data on BiGG and BioModels network models and enable reaction pattern searching across a wider array of organisms. Note: Network models from these sources can be less uniform as Reactome sources, so users should exercise some caution when using these capabilities and perform some sanity checks (see issue #73).
- kNN visualization improved to allow for more stable NN building without error (see commit 2395cd6).
- Neighbors dictionary backend curation is simplified and sped up (see commit 355abd4).
- Improved security policies. Specifically, external websites are opened in an isolated browser window and explicitly are context isolated and unable to access node integration. Enabled GitHub and Reactome URLs (connect-src) are more specific (see commit 96b1c9f).

- Progress bar during network build now update with more incremental steps for longer processes (see issue #77).
- New variables for more unified backend processing. Metaboverse v0.6.0 and later will not be compatible with files curated using Metaboverse v0.5.0b or earlier.


- Addresses issue #66 , by hosting curated reference and template files for each organism per version of Metaboverse. Also provided user argument options to directly include already downloaded or curated files (--organism_curation_file, --neighbor_dictionary_file, --graph_template_file). Using pre-downloaded files, this reduced processing time for curating data on the human network from ~30-40 min to ~2 min. These pre-curated files will be processed with each release of Metaboverse and are hosted on SourceForge currently.

- Fixes an issue where an empty unmapped dataframe would cause an error (fixed by #32e9283 )
- Fixes an issue the working path would be appended to the organism ID (fixed by #91a490d )
- Addresses issue #67 , where experiment name inputs with spaces would cause an error.
- Bump required version of Electron to >=9.4.0 (see pull request #68 ).
- Removed some unused user arguments from command-line interface.
- Fixed an issue where the backend argument parse checker would try to append a file path to the organism ID.
- Fixes internal warning for UI when CLI did not output blocklist or labels.
- Updated copyright info.
- Removed deprecated files.
- Migrated from Travis-CI to GitHub Actions.


- Partial collapse: Addresses #51 , which introduces partial collapsing to the reaction collapsing utility within Metaboverse. Previously, perfect matches were required between two reactions to collapse the reactions. However, this can be overly stringent in key metabolic pathways where a metabolite that is output by one reaction may not be required for the subsequent reaction (perhaps ATP is produced by reaction A but is not required for reaction B). To perform a partial collapse, Metaboverse operates by largely the same scheme as before, but now checks for a perfect match from each neighboring reaction, and if a perfect match is not available, checks for partial matches by filtering out high-degree nodes (quartile 98 of all non-reaction node degrees) and then checking if at least 30% of the nodes match with its neighbor.
- Improvements to nearest neighbor searches where all iterations of a species are included in the graphing. Previously, it would only use the literally selected node to search for neighbors, but Reactome provides separate species IDs for a metabolite’s different organelle-localizations, which was complicating these searches.
- Displays a preview of the user-selected reaction in an interactive format on the Pattern Search Analysis page until the user selects a Pathway to visualize. If a reaction is collapsed and spans two pathways, no pathways will be shown and instead a note that the reaction spans two pathways is displayed.
- The Pattern Search Analysis page now allows users to filter out collapsed reactions from the search results. By default, collapsed reactions will be displayed until the checkbox is unchecked by the user.
- Minor updates to Pattern Search Analysis page to make better usage of blank space
- Fixes #60 , where the mvrs file extension would not be automatically added to the user-provided output file name in Linux.
- Addresses #62 , where the some time-course/multi-condition slider bars would be improperly formatted.


- Closes #63 by applying safestr()` function to all user input encodings to make sure no errors arise.


- Closes #59 where non-ascii characters in reaction names would break the info extraction. Added a safestring conversion utility to prevent ascii-character issues.


- Fixes path separator for motif page name identification to allow for including modifiers in motif ID and exclusion of hubs ( #55 )
- Fixes CHEBI mapping so that CHEBI IDs provided as input data are more reliably used as mapping IDs if it cannot match the metabolite by name ( #58 )
- Fixes issue that arose in v0.3.0b where some motif stamps could not be clicked on for viewing for timecourse/multi-condition data where it could not identify the shape for an unknown component type ( #54 )
- Addresses #59 where non-ascii characters in reaction names would break the info extraction. Was not able to recapitulate the error, but this fix, where relevant reaction metadata is forced to a string data-type, should allow for some flexibility here.
- Updates walkthroughs and documentation to address ( #31 ) and update formatting


- Allows for more flexible gene/protein mapping with Reactome-formatted node names. For example, Reactome will label a gene or protein with its isomer coordinates. Metaboverse now ignores those coordinates during attribute mapping of the user’s data.
- New naming of modules: Motif Search is now called Pattern Analyis, Visualize is now called Explore, and Connectivity is now called Perturbation Networks. Changed to be more descriptive and accessible to all users from broader backgrounds

- Fixed nearest neighbors capabilities in Perturbation Network visualization. In a previous release, a change had interfered with its function.
- Use of outdated version will now direct user to the download page for the most recent version
- The Back button from any of the analysis modules will now redirect back to the index page
- Removed compartment visualization from the Perturbation Networks page as these often would just clutter the visualization and would not actually be helpful
- Fixed reaction node formatting to turn off motif symbols/highlighting when timepoint/condition changed as this had been disabled by a previous change
- Fixed collapsed reactions to ensure they were included in all reaction and motif formatting events
- General formatting changes
- Updated documentation


- Fixes issues with missing metabolites during the network mapping stage ( #37 ). Addressed by re-working the metabolite synonym scheme to provide the same coverage of synonym look-up as before, but with more robustness so that some that were difficult to map would start mapping (i.e., Fructose)
- Added dynamic line-plots of a selected reaction motif for time-course and multi-condition data ( #15). When exploring motifs on the Motif page for time-course and multi-condition experiments, a new panel appears at the bottom of the page which, for a selected motif, will show those reaction motif’s component’s behavior across all the time-points or conditions.
- Added the option to exclude reaction motifs at a given time-point or condition that appear in another selected time-point or condition. ( #16 ). For example, if a user has selected to view motifs at a terminal time-point, but they want to know which reactions are motifs at this time-point but not at the initial time-point, they can exclude the motifs that show up at both time-points using the appropriate drop-down menu on the motif page.

- Metaboverse now outputs a table of unmapped metabolites ( #35 ).
- Exploration pages now have pop-out bubbles with all information for compartments and node/link types 7d17d34.
- Metaboverse new remembers and provides session info for experiment name, experiment type, labels, etc. and automatically fills those out for the user if returning to a page within the session 172d21a.
- Updated minor page formatting to make display more stable between Windows/Linux/Mac 52a100d.
- Added test cases to CI for new/updated features
- Updated package dependency information
- Updated docs and FAQs


- Fixes #26, where an error log is output if build fails
- Removes direct Matplotlib imports in metaboverse-cli modules to prevent unnecessary errors and incompatibilities


- Fixes bug where user paths with spaces were unable to be used ( #26 )


- Fixes bug that prevented the curation from running without a blocklist ( #19 )
- Fixes bug during data mapping that caused protein or gene values to occasionally map to metabolites ( #20 )


- Fixes minor run-time issues with the Metaboverse interactive app
- Fixes version alert to let users know if there is a newer version of Metaboverse available


Initial beta release


Demo pre-release with included human network data file for network visualization and exploration. Currently only available for MacOS.

How to run:

1. Download attached zip demo file.
2. Double-click on zip file to uncompress Metaboverse and the accompanying test file
3. Within the uncompressed folder, right-click on Metaboverse to launch the app
4. Drag and drop the json file to the appropriate load icon and click the Visualize button.