nrnb / GoogleSummerOfCode

Main documentation site for NRNB GSoC project ideas and resources
114 stars 38 forks source link

Implementation of new clustering algorithms in clusterMaker #42

Closed scootermorris closed 4 years ago

scootermorris commented 8 years ago

Background

clusterMaker is a Cytoscape app that unifies different clustering techniques and displays into a single interface. Current clustering algorithms include hierarchical, k-medoid, AutoSOME, and k-means for clustering expression or genetic data; and MCL, transitivity clustering, affinity propagation, MCODE, community clustering (GLAY), SCPS, and AutoSOME for partitioning networks based on similarity or distance values. Hierarchical, k-medoid, AutoSOME, and k-means clusters may be displayed as hierarchical groups of nodes or as heat maps. All of the network partitioning cluster algorithms create collapsible "meta nodes" to allow interactive exploration of the putative family associations within the Cytoscape network, and results may also be shown as a separate network containing only the intra-cluster edges, or with inter-cluster edges added back.

Goal

There are several clustering algorithms commonly used for partitioning biological data sets that are not available in clusterMaker. These include:

Cytoscape, Java, and a reasonable math background (particularly in matrix manipulations).

Difficulty level: 1

No prior experience with Cytoscape app development is required. Familiarity with clustering algorithms is highly recommended.

Public Repository

https://github.com/RBVI/clusterMaker2

Potential Mentors

Scooter Morris

Contact

scooter@cgl.ucsf.edu

Pratik151 commented 8 years ago

@scootermorris The clusterMaker href is referring to cyAnimator shouldn't it point to http://apps.cytoscape.org/apps/cyanimator ?

I wish to apply for GSOC and I am interested in "Improve and expand Cytoscape’s color" project. Can you help me get started? and is there any mailing list where I can contact developers?

AlexanderPico commented 8 years ago

Good catch. I fixed the link. The best way to get started on this project or his color project is to contact Scooter directly (see "Contact" info above).

MrBubbleChampion commented 8 years ago

@scootermorris This project is very interesting, and I am really interested in implementing it. Are there any ways to figure out some details about this topic? That would be great if there is an opportunity to write kind of sample code or something else in order to get into this project. I've already emailed you, but i still don't have an answer. Should I use other ways to communicate with you?

scootermorris commented 8 years ago

Hi @MrBubbleChampion, Glad to hear of your interest! The clusterMaker2 sources are at https://github.com/RBVI/clusterMaker2. Writing some sample code for clusterMaker2 is a great way to get things moving! Sorry, I must have missed your e-mail :-( I would get started by downloading clusterMaker2, building it and taking a look at it. Things that would be interesting:

Any algorithm useful for time-series.

RichaGarg123 commented 8 years ago

@scootermorris this project seems to be very interesting and very much in alignment to my current area of study. I would like to learn more and contribute to this project. However, it will be great if some starting pointers could be provided...I have emailed u regarding the same...thanks and regards.

AdrianBZG commented 7 years ago

Hi @scootermorris ,

I'm a senior Computer Science university student from Spain, and I feel interested on this project for GSoC'17.

I have some algorithmic/mathematical background, but I'm interested in some guidelines on how to develop a good proposal for this project, can you please give me a hand?

Thank you!

mehumaija commented 4 years ago

hi!

I am not familiar with clustering algorithms, or at least not with the term. Do you know a good source where I could get information from about them?

scootermorris commented 4 years ago

Sure! Here is a pretty good video covering a couple of graph clustering algorithms: https://www.youtube.com/watch?v=-Afa1WI3iug and here is a nice overview of graph clustering algorithms used for PPI networks: https://academic.oup.com/bioinformatics/article/30/10/1343/266738

-- scooter

protoncluster commented 4 years ago

Hey @scootermorris I am a fourth year undergraduate from NIT Durgapur India with BioTechnology as major and I have skills as per the project requirements and decent mathematical background with experience in using Cytoscape app, though I am little late but i will try to pace up as early as possible, I will get back soon after looking to the source code and video resources for graph clustering algorithms you provided.

scootermorris commented 4 years ago

On 3/7/20 1:28 PM, Indra Bhan Singh Patel wrote:

Hey @scootermorris https://github.com/scootermorris I am a fourth year undergraduate from NIT Durgapur India with BioTechnology as major and I have skills as per the project requirements and decent mathematical background with experience in using Cytoscape app, though I am little late but i will try to pace up as early as possible, I will get back soon after looking to the source code and video resources for graph clustering algorithms you provided.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/nrnb/GoogleSummerOfCode/issues/42?email_source=notifications&email_token=AAXTJ6DQCT2S42UHB2P2MQDRGK4ALA5CNFSM4B2A7YH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOEF2IY#issuecomment-596139299, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXTJ6DHYAEKG7FEDKLHZHTRGK4ALANCNFSM4B2A7YHQ.

Great!  Be aware that t-SNE has already been implemented, but you're welcome to look at other embeddings or perhaps Louvain or Leiden clustering.

-- scooter

mehumaija commented 4 years ago

Hi, I watched the video and eyed the article you provided and got a little bit the idea what you are talking about with this. So this project has been going on at least the past few years and every year students add more different kinds of clustering methods to ClusterMaker? If this is correct, would it be possible to see the code of these clustering styles that have already been implemented? And it is cool to pick any that is not already there? And would it be just one or multiple algorithms?

Sorry for this stream of questions haha

Maija

scootermorris commented 4 years ago

On 3/11/20 8:27 AM, mehumaija wrote:

Hi, I watched the video and eyed the article you provided and got a little bit the idea what you are talking about with this. So this project has been going on at least the past few years and every year students add more different kinds of clustering methods to ClusterMaker? If this is correct, would it be possible to see the code of these clustering styles that have already been implemented? And it is cool to pick any that is not already there? And would it be just one or multiple algorithms?

Sorry for this stream of questions haha

Maija

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/nrnb/GoogleSummerOfCode/issues/42#issuecomment-597699352, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXTJ6CK3V2BOLO4APZK6PLRG6UV7ANCNFSM4B2A7YHQ.

Hi Maija,

You can certainly see the clusterMaker2 code base.  It's publicly available on github at: https://github.com/RBVI/clusterMaker2 Depending on the complexity of the algorithms, you may wind up implementing one or more.  There is also the opportunity to implement them on the server-side and call them from clusterMaker2.

-- scooter

mehumaija commented 4 years ago

@scootermorris I have now emailed you my proposal! I would be happy if you read it and gave your professional opinion.

Thank you :)

khanspers commented 4 years ago

Active project for GSoC 2020, closing here.