Giter VIP home page Giter VIP logo

egnize's Introduction

EGNize

EGN web server for Network analysis and visualisation

Alt text

EGNize is a fullstack web application (Python2/AngularJS) based on an encapsulated modified version of EGN (Perl). It allows users to create networks (based on gene and genome similarities) and visualize them through an interactive visualization tool (SigmaJS).

As analyzing data could take some times (depending on dataset size), a mail server was implemented to keep user informed of analysis status and send output files directly to user mail when done. Output files produced by EGNize could then either be visualized directly using EGNize's interactive visualization tool or any other network analysis software (Cytoscape or Gephi).

The visualisation tools are highly customizable to anyone that would like for example to associate keyboard/mouse inputs in order to display any kind of metrics over a color gradient.

Actual available interaction are :

  • Mouse wheel => zoom in and zoom out
  • Click and hold => slide throught the network
  • Right click on a node => display gene/genomics similarities with neighbours nodes represented with a color gradient
  • Left click on a node => display only nodes sharing similarities with it
  • Double click anywhere => reset to default display where nodes are colored according to the biological group they belong

For more information about EGNize, please read appDescription.pdf and EGN User Guide.pdf. If you have any questions send a mail to [email protected]

Dependencies

  • Python 2
  • Flask
  • Flask mail
  • Blast (should be executable through terminal)

Initialization

To launch the server (Back-end)

After installing dependencies, and editing mail account information in config.py, type the following commands from 'egn_server' folder:

    $ chmod +x launch_srvr.py
    $ ./launch_srvr.py

How to use it (Front-end)

Once the server is up, type URL displayed in the terminal (after executing the last command) in your browser's URL bar. Per default, it should be http://localhost:8084 but may change depending on your flask configuration.

Create a network

Once connected, click on 'new analysis' in the top right corner and fill up inputs form and upload your .faa input file. Please refer to EGN documentation for input value.

  • Don't forget to enter your mail address to get back your zip archive (containing all outputs files) when the analysis is done.
  • Be aware that starting several runs (with different parameters) on the same input file will return a zip archive that also contains all previous outputs analysis from same input file.
Visualize a network

After receiving the zip archive, reconnect to EGNize page, click on the "load a network" button and upload a json or gexf file. After clicking on ok, modal window should close and visualization tool should display your network. Report to the 'Actual available interaction' section above for possible interactions.

Example pictures

Alt text

Alt text

Alt text

egnize's People

Contributors

logan169 avatar

Stargazers

 avatar

Watchers

 avatar  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.