Git Product home page Git Product logo

mpa_pathway_tool's Introduction

MPA_Pathway_Tool

Table of Contents

content
1. Overview
1.1 Description
1.2 Motivation
1.3 Structure of the MPA_Pathway_Tool
1.3.1 Pathway-Creator
1.3.2 Pathway-Calculator
2. Installation
3. Versions
4. Implementation
5. Tutorial
6. Publication
7. Credits
8. Fundings
9. Competing intrests

The MPA_Pathway_Tool is a user-friendly, stand-alone web application.It was implemented in Java and ReactJS. It will be freely available on https://mpa-pathwaymapper.ovgu.de/.

  • allows user-friendly creation of user-defined pathways and mapping of experimental data on them
  • Keywords: omics, pathway creation, pathway analysis

Taxonomic and functional characterization of microbial communities from diverse environments such as the human gut or biogas plants by multi-omics methods plays an ever more important role. Researchers assign all identified genes, transcripts, or proteins to biological pathways to better understand the function of single species and microbial communities. However, due to the versatility of microbial metabolism and a still increasing number of new biological pathways, linkage to standard pathway maps such as the KEGG (Kyoto Encyclopedia of Genes and Genomes) central carbon metabolism is often problematic.

The MPA_Pathway_Tool consists of the "Pathway-Creator" and the "Pathway-Calculator".

The first part of the MPA_Pathway_Tool is the “Pathway-Creator” (figure 1). It enables the creation of user-defined pathways by adding reactions iteratively and linking omics data to this specific pathway. The left side of the “Pathway-Creator” contains a list of buttons for uploading experimental data and pathways (as CSV, JSON, and SBML), adding new reactions from KEGG, adding user-defined reactions, importing multiple reactions, and downloading created pathways (as CSV, SBML, JSON, and Scalable Vector Graphics (SVG)) and mapped data (as CSV). The right side contains a graph for visualizing the created pathway. Circular-shaped nodes are metabolites (in KEGG referred to as compounds), and diamond-shaped nodes are reactions. Nodes are connected by edges, which display the direction of a metabolic reaction. After uploading experimental data, a further user interface emerges, showing the mapping of the data set to the pathway. After sample selection, by clicking on the respective button on the bottom of the tool, reaction nodes are colored dependent on their abundance in the sample and the color settings. Information about abundances in all samples for a specific reaction is available by clicking on the respective reaction- node. "Pathway-Creator" Figure 1: Screenshot of the “Pathway-Creator” of the MPA_Pathway_Tool

The “Pathway-Calculator” consists of two upload zones, one for experimental data (CSV) and another for multiple pathway files (as CSV, JSON, or SBML). The “Pathway-Calculator” performs mapping of experimental data on multiple uploaded pathways. After uploading all previously created pathways (CSV) and the experimental data in the “Pathway-Calculator”, the calculation starts. Subsequently, the result table can be exported as CSV. Furthermore, a list with all unmatched features (e.g., proteins) can be downloaded. "Pathway-Calculator" Figure 2: Screenshot of the “Pathway-Calculator” of the MPA_Pathway_Tool.

  1. clone the complete project
  2. import the server-side as a maven project
  3. start the server by running the server as a Java Application
  4. install newest/recommended version of node.js
  5. navigate in the project with your terminal
cd C:\<USERS>\<USER>\git\MPA_Pathway_Tool
  1. install all packages on client-side by navigating in the directory "keggcalculator-frontend" and typing in "npm install"
cd keggcalculator-frontend
npm install
  1. start the web-application by typing in the command "npm start"
npm start
version 0.9.1 (15.06.2021):
  • function for changing coordiantes of nodes
  • function for auto-aligning nodes
version 0.9.0 (11.06.2021):
  • implemented home page with example files and tutorial
  • supported file formats: CSV, JSON, and SBML
  • taxonomy filter implemented
  • download of unmatched features (e.g. proteins) with "Pathway-Calculator" possible
  • function for adding taxonomy
  • function for setting reversibility on reaction
  • function for changing direction of reactions
  • function for importing multiple reactions at once (complete KEGG-MODULE, SBML-file, importing KEGG-reactions by EC-numbers and K-numbers and R-numbers)
  • function for downloading pathway as image (SVG)
  • function for downloading a stoichiometrix matrix
  • function for setting abbreviations
  • function for splitting nodes
  • function for merging nodes
  • fucntion for deleting nodes
  • function for changing opacity of nodes
  • function for adding force to created nodes with links
version 0.8 (01.02.2021):
  • unofficial initial version
  • allows creation of user- defined pathways
  • allows automated mapping of experimental data on pathways
  • already supported fomats: CSV and JSON

The MPA_Pathway_Tool is a stand-alone web application consisting of JavaScript, Hypertext Markup Language 5 and Cascading Style Sheets on the client-side and Java on the server-side. The client-side is built with the help of ReactJS. We used Create React App for the setup of the project. Third-party dependencies have been pulled by using Node Package Manager (npm) (version 6.14.9). The most important dependencies are ReactJS (version 16.8.6) for using JSX syntax in our project, Redux (version 4.0.5) and mobx (version 7.0.5)- used for storing and handling states, React-d3-graph (version 2.5.0)- used for visualization of pathways, Axios (version 0.21.0)- used for making HTTP requests from the browser, Material-UI (version 4.11.2) used for the implementation of some user-interface components, Lodash (version 4.17.21) for deep cloning objects, and File-saver (version 2.0.5) used for saving files A complete list of used dependencies on the client-side is listed in the [package.json] (https://github.com/danielwalke/MPA_Pathway_Tool/blob/main/keggcalculator-frontend/package.json). We have implemented a REST-API and an algorithm for mapping data on multiple pathways in the programming language Java (Java SE-1.8). Dependencies have been imported using Maven. We used Gson (version 2.8.5) for converting Java objects to JSON and vice versa, Spark (version 2.6.0) for setting up the REST-API, and JSBML (version 1.5) for reading SBML- files.

You can read the tutorial to get further informtaion about creation of pathways, mapping of experimental data further more topics. We are going to create YouTube tutorials for all functionalities in the future.

You will find the official publication "MPA_Pathway_Tool: User-friendly, automatic assignment of microbial community data on metabolic pathways" on "".

this project is collaboration by by Daniel Walke, Emanuel Lange , Kay Schallert, Prasanna Ramesh, Dr. Dirk Benndorf, Prof. Udo Reichl, and Dr. Robert Heyer

This work was supported by the German Federal Ministry of Education and Research (de.NBI network. project MetaProtServ. grant no. 031L0103). We highly appreciate their funding.

The authors declare that they have no competing interests.

mpa_pathway_tool's People

Contributors

danielwalke avatar voidsailor avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.