Giter Club home page Giter Club logo

networkrandomizer's Introduction

Network Randomizer

Network Randomizer is a Cytoscape app for generating random networks, as well as randomizing the existing ones, by using multiple random network models. Further, it can process the statistical information gained from the these networks in order to pinpoint their special, non-random characteristics.

It covers many popular random network models: Erdős–Rényi, Watts–Strogatz, Barabási–Albert, Community Affiliation Graph, edge shuffle, degree preserving edge shuffle, but it also features a new model which is based on the node multiplication.

The statistical module is based on the two-sample Kolmogorov-Smirnov test. It compares random and real networks finding the differences between them and thus providing insight into non-random processes upon which real networks are built.

The app was developed by Gabriele Tosadori and Ivan Bestvina, as a project for the National Resource for Network Biology.

The paper is available at: https://doi.org/10.12688/f1000research.9203.3

license: CC BY 4.0

Brief explanation of the code

There are six main classes:

  • CyActivator - run the application, communicates with the cytoscape
  • RandomizerCore - used as a model of the current Cytoscape state (network handling etc.)
  • MenuAction - app initiation
  • OptionsMenu - user interface
  • ThreadEngine - multithread task handling
  • AbstractModel - abstract random network model which is implemented by all the models

To compile a Maven project, all the additional packages need to be pulled. This is automatically done by most IDEs (Eclipse, NetBeans, etc.).

To add a new model, create a child class of the AbstractModel, implement the missing methods, and add the handling code to the OptionsMenu, along with the additional GUI elements.

networkrandomizer's People

Contributors

gabrielet avatar

Stargazers

Ivan Bestvina avatar

Watchers

Kristina Hanspers avatar Ivan Bestvina avatar  avatar  avatar  avatar

networkrandomizer's Issues

Comparative statistical analysis doesn't start

I'm trying to use the Network Randomizer in cytoscape to create a random network based on my original one and compare the network characteristics of these two. I successfully created a random network using the app (Erdos-Renyi model), but I can't calculate the comparative statistics. Nothing happens after selecting the respective networks and clicking on "start statistics". I'm using cytoscape 3.7.0. Do you know what causes this issue?

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.