nrnb / GoogleSummerOfCode

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

Biological Pathway Styling Themes #7

Closed ariutta closed 6 years ago

ariutta commented 8 years ago

Background

Description: Biological pathways provide intuitive diagrams of the interactions underlying biological processes. For example, the SIDS Susceptibility Pathways show interactions between metabolites, genes and proteins, such as DDC catalyzing the conversion of L-DOPA to Dopamine (look for the items highlighted in yellow on the lower right). The site WikiPathways is an open, collaborative platform dedicated to drawing and sharing biological pathways. These diagrams are viewed in many different environments, such as laptop screens, presentation slides and printed science journals. At WikiPathways today, the default styling theme for these diagrams is best suited for viewing by an individual on a computer screen, but it would be useful to export the diagrams with themes optimized for print and for presentations.

Goal

Develop a custom theming system to allow for exporting pathways with themes optimized for print and for projected presentation slides. For example, the presentation export option might make pathway diagrams easier to read by removing some text, enlarging the remaining text and inverting the colors of the diagram. Optionally, the presentation option could integrate with one or more existing online presentation framework(s).

Difficulty Level: 3

Strong JavaScript skills, because this project will likely require some refactoring of the existing code for Pvjs. Some prior experience with pathway diagrams and/or presentation frameworks is preferred.

Links

Anders Riutta, Alex Pico, Kristina Hanspers

jacobwindsor commented 7 years ago

Hi @ariutta, would this be a PVJS only feature or a Kaavio one too? I know Kaavio already allows the custom style input but operations like removing text are not yet implemented as far as I'm aware. So would things like this be in PVJS or Kaavio? Actually, thinking about it, would those sort of operations require dynamically altering the GPML?

ariutta commented 7 years ago

Hi @jacobwindsor, good question! Both Kaavio and Pvjs might be responsible, just for different things. For example, the Kaavio API could expose themes and transformations that are not pathway specific, such as a color filter to make the diagram colorblind-friendly or a presentation theme to thicken lines, increase text size, invert colors and/or increase color contrast.

Pvjs would be responsible for pathway-specific things. For example, if we remove or change any text (e.g., "bromodomain containing 4" to "BRD4"), we need to be careful and know the context for when doing that is OK. For this, Pvjs would be more appropriate than Kaavio.

Regarding GPML, we are already going from GPML to JSON, so any operations would be done on the JSON.

Related:

ariutta commented 7 years ago

Applicants, you may want to review the other Pvjs ideas. Do you see any overlap or a better separation of concerns in terms of implementing the desired functionality? If so, don't feel constrained to a rigid interpretation of this idea. Feel free to use composition (putting together parts from any of the ideas) when drafting your proposal, as long as you keep the scope realistic for a summer project.