nrnb / GoogleSummerOfCode

Main documentation site for NRNB GSoC project ideas and resources
116 stars 39 forks source link

Label Propagation Algorithm #92

Closed maxkfranz closed 5 years ago

maxkfranz commented 7 years ago

Background

Description of label propagation from Wikipedia: Within complex networks, real networks tend to have community structure. Label propagation is an algorithm for finding communities. In comparison with other algorithms label propagation has advantages in its running time and amount of a priori information needed about the network structure (no parameter is required to be known beforehand). The disadvantage is that it produces no unique solution, but an aggregate of many solutions.

Cytoscape.js is a graph theory library for JS. It allows for visualisation and analysis of graphs.

Goal

Implement the label propagation algorithm as a Cytoscape.js extension.

Description

  1. Create a new extension using slush-cytoscape-extension.
  2. Implement the algorithm in the extension.
  3. Ensure that the extension API has a flexible, extensible, easy-to-understand API.
  4. Write (mocha & chai) tests to ensure that the algorithm is working properly.

Skills

JS, understanding of basic CS data structures and algorithms (essential) Knowledge of graph theory, used graph theory in apps you've built (nice to have)

Difficulty level 3

This project requires a candidate with strong programming skills and the ability to understand and write complex algorithms. It's a more difficult GSOC project.

Public Repository

https://github.com/cytoscape/cytoscape.js

Potential mentors

Max Franz

abx04 commented 6 years ago

Hi! I am interested in this project. I have learnt the basics of Cytoscape.js and also looked at label propagation algorithm. I would like your input on how to proceed with this project.

sanket0211 commented 6 years ago

Hi, My name is Sanket Shah, currently pursuing Btech in Computer Science and MS By Research in Bioinformatics at International Institute of Information Technology, Hyderabad. I possess strong computer science fundamentals along with sound knowledge in Machine Learning, Natural Language Processing, Bioinformatics(various tools and algorithms). I would like to take up this project. I have experience in working with Cytoscape.js. Can someone please help me begin? Thank you, Sanket

maxkfranz commented 6 years ago

Refer to the NRNB materials: http://nrnb.org/gsoc.html

Carefully research the subject area of the project, and build a well-reasoned project plan that you include in your proposal.

sanket0211 commented 6 years ago

@maxkfranz Sir, Is there any template which we should follow while creating the project plan? Can you please help us know important aspects that we should keep in mind while creating the project proposal? Thank you