{"id":13711596,"url":"https://github.com/leonardojo/ggPlantmap","last_synced_at":"2025-05-06T21:32:00.787Z","repository":{"id":194342469,"uuid":"690590460","full_name":"leonardojo/ggPlantmap","owner":"leonardojo","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-17T21:46:44.000Z","size":14738,"stargazers_count":49,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-01-18T18:34:09.820Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leonardojo.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-09-12T13:40:57.000Z","updated_at":"2024-04-15T12:52:31.258Z","dependencies_parsed_at":"2024-04-15T12:52:26.305Z","dependency_job_id":"9ee7b1ef-179d-420a-9336-eea4b1243bf1","html_url":"https://github.com/leonardojo/ggPlantmap","commit_stats":null,"previous_names":["leonardojo/ggplantmap"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonardojo%2FggPlantmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonardojo%2FggPlantmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonardojo%2FggPlantmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonardojo%2FggPlantmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leonardojo","download_url":"https://codeload.github.com/leonardojo/ggPlantmap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224535361,"owners_count":17327521,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T23:01:09.741Z","updated_at":"2024-11-13T22:30:27.411Z","avatar_url":"https://github.com/leonardojo.png","language":"R","funding_links":[],"categories":["Plot layers"],"sub_categories":[],"readme":"---\noutput: github_document\n---\n```{r, echo = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\"\n)\n```\n\n# ggPlantmap \u003cimg src=\"man/figures/hex.png\" align=\"right\" height=\"250\"/\u003e\n###### Version 1.1.0\n###### Author: Leonardo Jo (l.jo@uu.nl)\n\n\u003c!-- badges: start --\u003e\n\u003c!-- badges: end --\u003e\n\n## Overview\n\n  ggPlantmap is an open-source R package with the goal of facilitating the generation of informative ggplot maps from plant images to explore quantitative cell-type specific data. When combined with external quantitative data, ggPlantmap can be used for the visualization and displaying of spatial profiles in distinct parts/cells of the plant. \n\n  Included in the package there is a set of pre-loaded maps created from previously published plant images that can be directly inserted into a ggplot coding workflow. ggPlantmap enables users to plot heatmap signatures of gene expression or any spatial quantitative data onto plant images providing a customizable and extensible platform for visualizing, and analyzing spatial quantitative patterns within specific plant regions This package uses the flexibility of the well-known ggplot2 R package to allow users to tailor maps to their specific research questions.\n\u003cimg src=\"man/figures/ggPlantmap.example.jpg\" align=\"center\" width=\"1000\"/\u003e\n\n## Installation\n\n```{r, eval = FALSE}\n##install devtools (if you haven't already)\ninstall.packages(\"devtools\")\nlibrary(devtools)\n\n## Installing from a github respository\ninstall_github(\"leonardojo/ggPlantmap\")\n```\n\n\n## ggPlantmap useful guides (HIGHLY RECOMMENDED!)\n\n**(NEW)** Here is a [practical guide](https://github.com/leonardojo/ggPlantmap/blob/main/guides/guide_practical_sc.md) on how to work with ggPlantmap to explore single-cell data\n\nI created a step-by-step [user guide](https://github.com/leonardojo/ggPlantmap/blob/main/guides/ggPlantmap.userguide.md) to help users navigate through the package. \n\nHere is a recorded [seminar](https://www.youtube.com/watch?v=TD5m5-CbWTw\u0026t=1402s) with an overview of the package.\n\nI also created a [step-by-step guide with tips](https://github.com/leonardojo/ggPlantmap/blob/main/guides/TutorialforXMLfile.pdf) on how to create your own ggPlantmap.\n\nFinally, here are some [instructions](https://github.com/leonardojo/ggPlantmap/blob/main/guides/contributetoggPlantmap.md) on how your newly created ggPlantmap can be included in the package.\n\n## What is a ggPlantmap?\n\nEach unique ggPlantmap is a table (tibble) object with points coordinates (x,y) of specific points of polygons (ROIs) extracted from plant images.\n```{r}\nlibrary(ggPlantmap)\nhead(ggPm.At.roottip.longitudinal)\n```\n\u003cimg src=\"man/figures/guide/Slide6.JPG\" align=\"center\" height=\"500\"/\u003e\n\n\n## Plotting a ggPlantmap\n\nggPlantmaps can be easily plotted using the ggPlantmap.plot() function.\n```{r,warning=F,echo=T,out.width=\"50%\",fig.align=\"center\"}\nlibrary(ggPlantmap)\nggPlantmap.plot(ggPm.At.earlyembryogenesis.devseries,Cell)\nggPlantmap.plot(ggPm.At.roottip.longitudinal,Level1)\n```\n\n## Pre-loaded ggPlantmaps\nThe package contain a series of pre-loaded ggPlantmaps created from previously published plant images.\nI hope to update the package with the contribution of the plant research community.\n\n```{r}\nlibrary(ggPlantmap)\nggPm.summary\n```\n\u003cimg src=\"man/figures/ggPm.someexamples.jpg\" align=\"center\" height=\"500\"/\u003e\n\n\n## Color mapping\nThese maps can be easily loaded into a ggplot coding environment and their color mapping changed based on the distinct layer classification of each ggPlantmap.\n\n```{r,warning=F,echo=F,out.width=\"50%\",fig.align=\"center\"}\nlibrary(ggplot2)\nlibrary(cowplot)\n## Stage: Seed development stage\n## Part: Distinct parts of a seed (Seed coat, Endosperm and Embryo)\n## Region: Specific regions of each part of the Arabidopsis seed\n## Reference: Belmonte, Mark F., et al. \"Comprehensive developmental profiles of gene activity in regions and subregions of the Arabidopsis seed.\" Proceedings of the National Academy of Sciences 110.5 (2013): E435-E444.\na \u003c- ggPlantmap.plot(ggPm.At.seed.devseries,Region,linewidth = 0.5) +\n  scale_fill_brewer(palette=\"Set3\") +\n  ggtitle(\"Regions of Arabidopsis seed development\") +\n   theme(legend.key.height= unit(0.25, 'cm'),\n        legend.key.width= unit(0.25, 'cm'))\nb \u003c- ggPlantmap.plot(ggPm.At.seed.devseries,Stage,linewidth = 0.5) +\n  scale_fill_brewer(palette=\"Set1\") +\n  ggtitle(\"Stages of Arabidopsis seed development\") +\n   theme(legend.key.height= unit(0.25, 'cm'),\n        legend.key.width= unit(0.25, 'cm'))\nc \u003c- ggPlantmap.plot(ggPm.At.seed.devseries,Part,linewidth = 0.5) +\n  scale_fill_brewer(palette=\"Set1\") +\n  ggtitle(\"Parts of Arabidopsis seed development\") +\n   theme(legend.key.height= unit(0.25, 'cm'),\n        legend.key.width= unit(0.25, 'cm'))\nplot_grid(a,b,c,ncol=1,labels=c(\"a\",\"b\",\"c\"),align = \"v\")\n```\n\n```{r,warning=F,echo=F,out.width=\"50%\",fig.align=\"center\"}\nlibrary(ggPlantmap)\nlibrary(ggplot2)\nlibrary(cowplot)\na \u003c- ggPlantmap.plot(ggPm.At.shootapex.longitudinal,Zone) +\n  scale_fill_brewer(palette=\"Set2\") +\n    ggtitle(\"Shoot Apical Meristem - Zones\") +\n   theme(legend.key.height= unit(0.25, 'cm'),\n        legend.key.width= unit(0.25, 'cm'))\nb \u003c- ggPlantmap.plot(ggPm.At.shootapex.longitudinal,Layer) +\n  scale_fill_brewer(palette=\"YlGn\") +\n  ggtitle(\"Shoot Apical Meristem - Layers\") +\n   theme(legend.key.height= unit(0.25, 'cm'),\n        legend.key.width= unit(0.25, 'cm'))\nplot_grid(a,b,ncol=1,labels=c(\"d\",\"e\"),align = \"v\")\n```\n\n\n## Overlaying external quantitative data into a ggPlantmap\n\n  With ggPlantmap you can overlay quantitative data into your ggPlantmap to visualize it as sort of a heatmap.\nTo do so, you will need another table that contains quantitative data attributed to your ROIs.\n\u003cimg src=\"man/figures/guide/Slide7.JPG\" align=\"center\" width=\"1200\"/\u003e\u003cbr /\u003e\n\nThis approach can be very helpful for R Shiny app developers to create web interactive tools to visualize quantitative data in plant cell or structures.\n\nSome examples of heatmaps generated from available published data:\n\u003cimg src=\"man/figures/README-Slide2.PNG\" align=\"center\" width=\"1000\"/\u003e\u003cbr /\u003e\n\u003cimg src=\"man/figures/README-Slide3.PNG\" align=\"center\" width=\"1000\"/\u003e\u003cbr /\u003e\n\n\n## Is ggPlantmap only usefull for molecular expression data?\n\nNot at all. ggPlantmap can also be used to produce many other type of plots. Essentially anything that you can trace, you can create! Be creative! I hope to build a community where people explore the usage of ggPlantmap for the communication of Plant science. \n\n\u003cimg src=\"man/figures/README-Slide4.PNG\" align=\"center\" width=\"1000\"/\u003e\u003cbr /\u003e\n\n\n## How can I create my own ggPlantmap?\n\nThe principle of creating a ggPlantmap is fairly simple. We generate a list of ROIs (region of interests) in the Icy open-source software (https://icy.bioimageanalysis.org/) from any plant image. These ROIs are saved as XML files and later be converted into ggPlantmaps with the XML.to.ggPlantmap() function.\n[We created step-by-step guide with tips](https://github.com/leonardojo/ggPlantmap/blob/main/guides/TutorialforXMLfile.pdf) on how to generate xml images from plant images.\n\n\u003cimg src=\"man/figures/README-Slide1.PNG\" align=\"center\" width=\"800\"/\u003e\n\n```{r,out.width=\"50%\"}\nnew.ggPlantmap \u003c- XML.to.ggPlantmap(\"data/ggPm.sample.xml\")\nggPlantmap.plot(new.ggPlantmap,ROI.name)\n```\n\n## Can my ggPlantmap be included in the package?\n\nYES!!! Any Plant map can be included in the package. \nHere are some [instructions](https://github.com/leonardojo/ggPlantmap/blob/main/guides/contributetoggPlantmap.md) on how your newly created ggPlantmap can be included in the package. \n\nIf you create one, please email me (l.jo@uu.nl) your ggPlantmap as tab-delimited table and I'll make sure to include in the package. You will be credited and your information will be displayed in the summary file. I really hope this becomes an organic package with the contribution of the plant research community.\n\n\n## Can my ggPlantmap be integrated into an ePlant EFP browser or any other graphical software?\n\nYES!! You can convert your ggPlantmap table into an SVG file that can be used \n\n\u003cimg src=\"man/figures/svg.png\" align=\"center\" width=\"800\" /\u003e\n```{r}\nggPlantmap.to.SVG(ggPm.At.3weekrosette.topview,\n                  group.name = \"ROI.name\",\n                  author = \"ggPlantmap\",\n                  svg.name=\"ggPlantmap.svg\")\n## This will create an image file (.svg) that can be opened in an graphic software (Illustrator, Power-Point)\n```\n\n\n## Acknowledgements\n\nI would like to acknowledge Kaisa Kajala, Lisa Oskam, Monica Garcia Gomez, Pierre Gautrat and Kyra van der Velde for testing ggPlantmap. I also would like to acknowledge Andres Romanowski for providing some data for the initial tests of ggPlantmap.\n\n## How to cite\n\n### Peer-reviewed manuscript\n\nJo, Leonardo, and Kaisa Kajala. \"ggPlantmap: an open-source R package for the creation of informative and quantitative ggplot maps derived from plant images.\" Journal of Experimental Botany (2024): erae043. doi: https://doi.org/10.1093/jxb/erae043\n\n### Pre-print\n(Pre-print1) Leonardo Jo, Kaisa Kajala. ggPlantmap: an R package for creation of informative and quantitative ggplot maps derived from plant images.\nbioRxiv 2023.11.30.569429; doi: https://doi.org/10.1101/2023.11.30.569429\n\n(Pre-print2)  Leonardo Jo, Kaisa Kajala. ggPlantmap: an R package for the  graphic mapping of plant images. Authorea. September 21, 2023.\nDOI: 10.22541/au.169531385.58441696/v1\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonardojo%2FggPlantmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleonardojo%2FggPlantmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonardojo%2FggPlantmap/lists"}