{"id":18189936,"url":"https://github.com/lotharukpongjs/phylomapr","last_synced_at":"2025-04-02T05:32:58.159Z","repository":{"id":176682833,"uuid":"657173934","full_name":"LotharukpongJS/phylomapr","owner":"LotharukpongJS","description":"Get precomputed gene age maps (phylomaps) in R","archived":false,"fork":false,"pushed_at":"2023-11-02T10:32:52.000Z","size":12704,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-16T12:42:18.846Z","etag":null,"topics":["bioinformatics","gene-age","genomics-data","phylostratigraphy"],"latest_commit_sha":null,"homepage":"https://lotharukpongjs.github.io/phylomapr/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LotharukpongJS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-06-22T13:29:29.000Z","updated_at":"2023-11-29T22:20:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"2d90f97b-fac6-4629-8f59-02056ed199b8","html_url":"https://github.com/LotharukpongJS/phylomapr","commit_stats":null,"previous_names":["lotharukpongjs/phylomapr"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LotharukpongJS%2Fphylomapr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LotharukpongJS%2Fphylomapr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LotharukpongJS%2Fphylomapr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LotharukpongJS%2Fphylomapr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LotharukpongJS","download_url":"https://codeload.github.com/LotharukpongJS/phylomapr/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246763814,"owners_count":20829797,"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":["bioinformatics","gene-age","genomics-data","phylostratigraphy"],"created_at":"2024-11-03T04:04:36.870Z","updated_at":"2025-04-02T05:32:56.349Z","avatar_url":"https://github.com/LotharukpongJS.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"# phylomapr \u003cimg src=\"man/figures/logo.png\" align=\"right\" height=\"174\" width=\"150\" /\u003e\n![Visitors](https://api.visitorbadge.io/api/visitors?path=https%3A%2F%2Fgithub.com%2FLotharukpongJS%2Fphylomapr\u0026label=Visitors\u0026countColor=%23263759\u0026style=flat)\n\nGene founder events facilitate evolutionary innovations. `phylomapr` enables quick retrieval of precomputed gene age maps (phylomaps) in R. Gene age maps loaded from `phylomapr` integrate _seamlessly_ with [`myTAI`](https://github.com/drostlab/myTAI).\nFurthermore, [carbon footprint of computational work is on the rise](https://www.ebi.ac.uk/about/news/perspectives/greener-principles/). This package helps alleviate that for gene age inference.\n\n## Installation\n```r\n# install biomartr\nif (!requireNamespace(\"BiocManager\", quietly = TRUE))\n  install.packages(\"BiocManager\")\n\nBiocManager::install(\"ropensci/biomartr\")\n\ndevtools::install_github(\"LotharukpongJS/phylomapr\")\n```\n\n## Use Cases\n\n### Retrieve gene age maps using `phylomapr`\nLoad the `phylomap` of _Apostichopus japonicus_ (Japanese sea cucumber) generated using the [GenEra](https://github.com/josuebarrera/GenEra).\n```r\n# either\nAj.map \u003c- phylomapr::Apostichopus_japonicus.PhyloMap\n# or alternatively\nlibrary(phylomapr)\nAj.map \u003c- Apostichopus_japonicus.PhyloMap\n\nhead(Aj.map)\n```\n```\n  Phylostratum                         GeneID\n1            2 tr|A0A0B6VS88|A0A0B6VS88_STIJA\n2            1 tr|A0A0G2R1N3|A0A0G2R1N3_STIJA\n3            1 tr|A0A0H4BK46|A0A0H4BK46_STIJA\n4            3 tr|A0A0X7YCD7|A0A0X7YCD7_STIJA\n5            1 tr|A0A1B2ZDN7|A0A1B2ZDN7_STIJA\n6            2 tr|A0A1X9J403|A0A1X9J403_STIJA\n```\nTo get the data description.\n```r\n?Apostichopus_japonicus.PhyloMap\n```\n```r\nApostichopus_japonicus.PhyloMap   package:phylomapr    R Documentation\n\nPhylomap of Apostichopus japonicus\n\nDescription:\n\n     Gene ages inferred using GenEra on refence protein sequences from\n     Uniprot proteomes. Note: DIAMOND was run using the ultra-sensitive\n     mode.\n\nUsage:\n\n     Apostichopus_japonicus.PhyloMap\n     \nFormat:\n\n     A tibble with 30,032 rows and 2 variables:\n\n     Phylostratum dbl Phylostratum (or gene age) assignment\n\n     GeneID chr GeneID annotation from UniProt\n\nSource:\n\n     \u003chttps://genomebiology.biomedcentral.com/articles/10.1186/s13059-023-02895-z\u003e\n```\n### Loading gene age maps into `myTAI`\n[`myTAI`](https://github.com/drostlab/myTAI) facilitates evolutionary transcriptomic studies.\nBelow are some ways in which gene age maps retrieved via `phylomapr` can be integrate _seamlessly_ into `myTAI`.\n\n#### Plot the developmental hourglass (on simulated gene expression data)\nusing simulated developmental gene expression of _Apostichopus japonicus_ (Japanese sea cucumber).\n\n```r\nAj.map \u003c- phylomapr::Apostichopus_japonicus.PhyloMap\n```\n\nSimulate developmental gene expression.\n\n```r\n# Set the random seed for reproducibility\nset.seed(123)\n\n# Generate log-normally distributed counts (controversial) for each gene and developmental stage, and\n# Create a data frame with the count table\nAj.ExpressionMatrix \u003c- tibble::tibble(\n  GeneID = Aj.map$GeneID,\n  `24H` = stats::rlnorm(length(Aj.map$GeneID), meanlog = 3, sdlog = 1),\n  `48H` = stats::rlnorm(length(Aj.map$GeneID), meanlog = 3, sdlog = 1),\n  `72H` = stats::rlnorm(length(Aj.map$GeneID), meanlog = 3, sdlog = 1)\n)\n```\n```r\nAj.PES \u003c- myTAI::MatchMap(Aj.map, Aj.ExpressionMatrix, remove.duplicates = FALSE, accumulate = NULL)\n```\nAnd test the hourglass on the simulated data.\n```\nmyTAI::PlotSignature(tidyr::drop_na(Aj.PES))\n```\n![](https://github.com/LotharukpongJS/phylomapr/assets/80110649/29c1866f-9abc-4657-bf6a-013570053090)\n\n#### Next, transform the simulated gene expression data\n\nNote: this requires `myTAI (version \u003e 1.0.1.0000)`.  \n```r\nAj.PES.log2 \u003c- myTAI::tf(tidyr::drop_na(Aj.PES),FUN = log2, pseudocount = 1)\nhist(Aj.PES.log2$`24H`)\n```\n![](https://github.com/LotharukpongJS/phylomapr/assets/80110649/1c5ed279-2a13-48a9-af62-f2709ee16fda)\n\nCompare this to the distribution of raw abundance (TPM).\n```r\nhist(Aj.PES$`24H`, breaks = 200)\n```\n![](https://github.com/LotharukpongJS/phylomapr/assets/80110649/a29b15a7-c269-427a-9848-acba6b56af9e)\n\n```r\nmyTAI::PlotSignature(tidyr::drop_na(Aj.PES.log2))\n```\n![](https://github.com/LotharukpongJS/phylomapr/assets/80110649/144d0c68-54f8-4af2-be46-539f37fc5211)\n\n## Tutorials\n\n- [Gene names in different databases](https://lotharukpongjs.github.io/phylomapr/articles/GeneIDs.html): GeneIDs can differ between databases. This could be an issue when the gene age is estimated with one gene naming convention and the RNA-seq mapping is done with another. This tutorial shows how one could convert gene IDs (`convertID()`) between databases.\n\n- [Adding phylomaps to `phylomapr`](https://lotharukpongjs.github.io/phylomapr/articles/Adding_phylomaps.html): Advanced gene age (phylo)mappers who ran their own gene age inference may want to contribute to `phylomapr`, which is at its core a collaborative effort. This tutorial shows how one could add new phylomaps to `phylomapr`.\n\n## Citation\nCitations are provided in the data description. Just put a `?` in front of the dataset.\n\n## Acknowledgement\nI would like to thank several individuals for making this mini-project possible.\n\nFirst I would like to thank Hajk-Georg Drost for providing me with the intellectual environment that enabled this project.\n\nFurthermore, I would like to thank Susana M. Coelho for hosting and facilitating this research, as well as the Max Planck Institute for Biology Tübingen and the Max Planck Society.\n\nI also thank the BMBF-funded de.NBI Cloud within the German Network for Bioinformatics Infrastructure (de.NBI) (031A532B, 031A533A, 031A533B, 031A534A, 031A535A, 031A537A, 031A537B, 031A537C, 031A537D, 031A538A).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flotharukpongjs%2Fphylomapr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flotharukpongjs%2Fphylomapr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flotharukpongjs%2Fphylomapr/lists"}