Join the R Community at ShinyConf 2023

{drawCell} – R package and Shiny app for drawing cell structures


Are you a life sciences educator looking to engage students with interactivity or a student needing to draw and label cells? Are you a researcher looking to offload the tedium of data visualization? There’s an R solution for you: drawCell! This tool provides a convenient, engaging solution for educators and researchers alike.

Researchers pour countless hours into their work. Why not make that research accessible to the public? See how to design accessible research using R and Shiny.

TOC:


What is {drawCell}?

{drawCell} is a simple R package that creates interactive diagrams of cells that you can modify with the click of a button. It does exactly what the name suggests: it draws cells for you. 

We chatted with the lead developer and creator of {drawCell}, Álvaro Sánchez, who shed some light on the internal parts of {drawCell}.

Where did the {drawCell} package inspiration come from?

Alvaro’s background is in bioinformatics and biology has worked in those fields. When he first saw the SwissBioPics proteins being used, he figured he could combine those APIs and build something that he could use. This was an amalgamation of everything he had learned in R and a combination of his domain knowledge.

How can we use and explore {drawCell}?

Enhance your publications and presentations with {drawCell}. Create faster visuals and highlight specific areas you want to focus on. Engage your audience with more interactive tooling without adding time and complexity to your workload. Simply select a cell using its taxonomical ID or the cell name and begin!

Curious about other R and Shiny examples in your field? Check out these 7 Dashboard examples from the Life Sciences.

Who gains to be impacted from {drawCell}?

{drawCell} has the potential to impact learning environments and knowledge share techniques. Its user-friendly design allows anyone to easily utilize its benefits. Whether you’re a teacher, researcher, programmer, parent, or a student looking to enhance your understanding, {drawCell} is a versatile tool. With its plug-and-play functionality and no restrictions, {drawCell} has the potential to make a significant impact in the world of biology education.

What do you plan to do next with this R project?

When the first version was released, the community supported it and gave important feedback. In fact, one of those community members became a co-creator of {drawCell}. We hope their continued feedback will help shape its development. For now, the future of {drawCell} may offer more features, such as the ability to programmatically add properties and colors to proteins. We also hope to add a comparison between cells as well.

Will {drawCell} remain a single app or will it evolve into something else?

For now, {drawCell} is a standalone app and package. We are open to expanding its capabilities and evolving it into a suite of packages if needed. Our focus is meeting the needs of the community. We will continue to listen to feedback and consider new features that enhance its efficacy for the users.

Looking to get started as an R programmer? Check out Appsilon’s guide to starting a career as an R/Shiny Dev.

How to draw cells using {drawCell}?

{drawCell} will (hopefully) be on Bioconductor soon, and installing it will be even simpler than it already is. But for now, you can install it by using the `remotes` package in R.


remotes::install_github("svalvaro/drawCell")

Once installed, all you have to do is use the `drawCell::drawCellShiny()` function to quickly start a Shiny app that has the intended UI.

Steps to draw a cell with {drawCell}

  1. Select the cell from the drop-down or the text box
  2. A cell without any colors will be shown
  3. Select specific areas in the cell
  4. Select the color using the color picker
  5. Then, keep selecting areas you want to highlight and adding colors
  6. Export using the option of your choice

How to export a generated cell from {drawCell}

  • Copy the code: This generates the code for the cell using the {drawCell} package. This will include all your edits and colors, which you can use in a .Rmd document, a Shiny app, etc.
  • Download as a png: This downloads a preview of the cell in .png image for you to use in your reports, presentations, and anywhere else .pngs are accepted!

How to deploy the {drawCell} app?

You can also host your own drawCell instance using shinyapps.io or Posit Connect. We have a tutorial showing 3 top methods most folks use to publish their Shiny apps.