nrnb / GoogleSummerOfCode

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

Prepare cyjShiny for R Package Repository Submission #166

Closed cannin closed 3 years ago

cannin commented 3 years ago

Background

cyjShiny (https://github.com/cytoscape/cyjShiny) is a project to provide users of the R Shiny framework a way to visualize networks in their Shiny apps using cytoscape.js (cytoscape.js).

Goal

The goal is to 1) do code cleanup (linting; https://github.com/jimhester/lintr) and add minor customization features, 2) update any outdated code, as well as 3) write vignettes, examples, tests (including Shiny tests: https://rstudio.github.io/shinytest/articles/shinytest.html) for the cyjShiny and 4) explore depositing it to the either the CRAN or Bioconductor R package repositories.

Difficulty Level 2

This is generally a simple project for an experienced R user, but the usage of the cytoscape.js Javascript library may complicate things.

Skills

Essential skills: R and some Javascript

Public Repository

https://github.com/cytoscape/cyjShiny

Potential Mentors

Augustin Luna Paul Shannon

patelaryan7751 commented 3 years ago

hello @cannin do you need any help? I also want to work on this.

cannin commented 3 years ago

@patelaryan7751 apologies for the delay. If you are still interested, for a proposal you'll need to prepare 1) a CV and 2) prepare a plan for the some issues that need to be resolved (this also will demonstrate an understanding of the R package submission process).

patelaryan7751 commented 3 years ago

@patelaryan7751 apologies for the delay. If you are still interested, for a proposal you'll need to prepare 1) a CV and 2) prepare a plan for the some issues that need to be resolved (this also will demonstrate an understanding of the R package submission process).

@cannin where should i submit my CV and the plan of work is there any IRC channel ?

cannin commented 3 years ago

No IRC channel. See instructions on how to apply: https://nrnb.org/gsoc.html

patelaryan7751 commented 3 years ago

No IRC channel. See instructions on how to apply: https://nrnb.org/gsoc.html

@cannin thanks for the apply link .

patelaryan7751 commented 3 years ago

@cannin great package! can you elaborate more on this project ?

paul-shannon commented 3 years ago

Hi @patelaryan7751,

Here are a couple of ideas. The package lacks automated testing. See

https://shiny.rstudio.com/articles/testing-overview.html

And the build process - using webpack - is not stable against changes in npm modules, and changes in webpack itself. You can see among the cyjShiny issues my effort to avoid webpack, at the cost of losing a few layout strategies.

My time is mostly occupied on other projects, so I have not done justice to either testing or the build. Your help with those would be most welcome!

@cannin - Augustin, is this the direction you and the Cytoscape Consortium had in mind? Set me straight if I err.

patelaryan7751 commented 3 years ago

Hi @patelaryan7751,

Here are a couple of ideas. The package lacks automated testing. See

https://shiny.rstudio.com/articles/testing-overview.html

And the build process - using webpack - is not stable against changes in npm modules, and changes in webpack itself. You can see among the cyjShiny issues my effort to avoid webpack, at the cost of losing a few layout strategies.

My time is mostly occupied on other projects, so I have not done justice to either testing or the build. Your help with those would be most welcome!

@cannin - Augustin, is this the direction you and the Cytoscape Consortium had in mind? Set me straight if I err.

@paul-shannon Thanks. Surely i would help you on both testing as well as build part.

paul-shannon commented 3 years ago

@patelaryan7751 - have you completed the GSOC application?

patelaryan7751 commented 3 years ago

@patelaryan7751 - have you completed the GSOC application?

@paul-shannon i am on it just wanted to know about this project and the work which i have to do so that i can plan my proposal accordingly.

paul-shannon commented 3 years ago

That makes sense, @patelaryan7751. Some other possible tasks (thinking speculatively): put a few demos up on shinyapps.io; maybe document the steps to migrate an interesting Cytoscape Desktop network to a shiny app.

patelaryan7751 commented 3 years ago

That makes sense, @patelaryan7751. Some other possible tasks (thinking speculatively): put a few demos up on shinyapps.io; maybe document the steps to migrate an interesting Cytoscape Desktop network to a shiny app.

@paul-shannon Thanks. I would look upon this .

cannin commented 3 years ago

@patelaryan7751 I'm completely supportive of the comments made by @paul-shannon for directions on the project

patelaryan7751 commented 3 years ago

That makes sense, @patelaryan7751. Some other possible tasks (thinking speculatively): put a few demos up on shinyapps.io; maybe document the steps to migrate an interesting Cytoscape Desktop network to a shiny app.

@paul-shannon can you please elaborate this ?

paul-shannon commented 3 years ago

@patelaryan7751 - sure, I'll give it a try. You are asking about the desktop-to-shinyApp migration? If so, then imagine this scenario (I hope this is useful. Tell me if not.):

  1. a bioinformatician sifts through experimental data, annotations, and computation to identify (say) a network of modest size, which is perturbed and disease-inducing in some circumstances
  2. she exports the network - nodes, edges, attributes, style - capturing the two states of this network. she also identifies the subset of experimental data which captures the perturbation, exports this as well.
  3. The exported network, and the experimental data, form the basis of a shiny app
  4. In simplest form, this would be just a cyjShiny widget, maybe with a button to toggle between the two states, showing (say) changed edges, gene expression, the activity of molecules in the network. This shiny app, interactive due to the toggle, could be offered to collaborators as a preliminary result. Once matured, a link could be published with a journal article.

Two gsoc tasks come to mind:

  1. Document the programming and data wrangling steps to export from Cytoscape Desktop to shiny app, providing a template shiny app and a step-by-step instruction manual
  2. A deeper version of this - I have not thought this through - would be a Cytoscape Desktop plugin that created a rudimentary shiny app in a single step.

What do you think?

patelaryan7751 commented 3 years ago

@paul-shannon Yes i understand the exact point . Thanks for the explanation.

khanspers commented 3 years ago

This is an active GSoC 2021 project. The issue will be closed for the duration of GSoC since it is no longer available to other students.