{"id":17403902,"url":"https://github.com/federicomarini/ideal","last_synced_at":"2025-04-06T09:09:39.842Z","repository":{"id":46664892,"uuid":"85059190","full_name":"federicomarini/ideal","owner":"federicomarini","description":"Interactive Differential Expression AnaLysis - DE made accessible and reproducible","archived":false,"fork":false,"pushed_at":"2025-03-07T13:43:11.000Z","size":27484,"stargazers_count":29,"open_issues_count":5,"forks_count":7,"subscribers_count":3,"default_branch":"devel","last_synced_at":"2025-03-30T08:09:48.023Z","etag":null,"topics":["bioconductor","differential-expression","r","reproducible-research","rna-seq","rna-seq-analysis","shiny","user-friendly"],"latest_commit_sha":null,"homepage":"https://federicomarini.github.io/ideal/","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/federicomarini.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-15T10:25:39.000Z","updated_at":"2025-03-07T13:32:47.000Z","dependencies_parsed_at":"2024-05-02T15:43:32.537Z","dependency_job_id":"4bdbd661-cc53-455d-b17a-a90c7817a2bf","html_url":"https://github.com/federicomarini/ideal","commit_stats":{"total_commits":448,"total_committers":11,"mean_commits":40.72727272727273,"dds":0.0691964285714286,"last_synced_commit":"e91e570dcf1b7d457fc498559296bf637fcaa082"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/federicomarini%2Fideal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/federicomarini%2Fideal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/federicomarini%2Fideal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/federicomarini%2Fideal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/federicomarini","download_url":"https://codeload.github.com/federicomarini/ideal/tar.gz/refs/heads/devel","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247457803,"owners_count":20941906,"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":["bioconductor","differential-expression","r","reproducible-research","rna-seq","rna-seq-analysis","shiny","user-friendly"],"created_at":"2024-10-16T19:09:14.990Z","updated_at":"2025-04-06T09:09:39.826Z","avatar_url":"https://github.com/federicomarini.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n[![R build status](https://github.com/federicomarini/ideal/workflows/R-CMD-check/badge.svg)](https://github.com/federicomarini/ideal/actions)\n[![codecov.io](https://codecov.io/github/federicomarini/ideal/coverage.svg?branch=master)](https://codecov.io/github/federicomarini/ideal?branch=master)\n[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://www.tidyverse.org/lifecycle/#stable)\n\n\u003cimg src=\"man/figures/ideal.png\" align=\"right\" alt=\"\" width=\"120\" /\u003e\n\n# `ideal` - Interactive Differential Expression AnaLysis in RNA-seq data \n\n\u003ca href=\"https://doi.org/10.1186/s12859-020-03819-5\"\u003e\u003cimg src=\"https://img.shields.io/badge/doi-ideal-blue.svg\"\u003e\u003ca\u003e\n\u003ca href=\"https://doi.org/10.1002/cpz1.411\"\u003e\u003cimg src=\"https://img.shields.io/badge/doi-ideal_protocol-blue.svg\"\u003e\u003ca\u003e\n\n`ideal` is a Bioconductor package containing a Shiny application for analyzing RNA-Seq data in the context of differential expression. \nThis enables an interactive and at the same time reproducible analysis, keeping the functionality accessible, and yet providing a comprehensive selection of graphs and tables to mine the dataset at hand.\n\n`ideal` is an R package which fully leverages the infrastructure of the Bioconductor project in order to deliver an interactive yet reproducible analysis for the detection of differentially expressed genes in RNA-Seq datasets. \nGraphs, tables, and interactive HTML reports can be readily exported and shared across collaborators. \nThe dynamic user interface displays a broad level of content and information, subdivided by thematic tasks. \nAll in all, it aims to enforce a proper analysis, by reaching out both life scientists and experienced bioinformaticians, and also fosters the communication between the two sides, offering robust statistical methods and high standard of accessible documentation.\n\nIt is structured in a similar way to the `pcaExplorer`, also designed  as an interactive companion tool for RNA-seq analysis focused rather on the exploratory data analysis e.g. using principal components analysis as a main tool.\n\nThe interactive/reactive design of the app, with a dynamically generated user interface makes it easy and immediate to apply the gold standard methods in a way that is information-rich and accessible also to the bench biologist, while also providing additional insight also for the experienced data analyst. \nReproducibility is supported via state saving and automated report generation.\n\n## Installation\n\n`ideal` can be easily installed using `BiocManager::install()`:\n\n``` r\nif (!requireNamespace(\"BiocManager\", quietly=TRUE))\n    install.packages(\"BiocManager\")\nBiocManager::install(\"ideal\")\n```\n\nNote that this should be the preferred way to install the latest stable release version.\n\nTo also install the packages listed in the `Suggests:` field, you can run\n\n``` r\nBiocManager::install(\"ideal\", dependencies = TRUE)\n```\n\nto make sure to have for example the required demo dataset (`airway`) when running the app - or if you want to follow through the vignette entirely.\n\nOptionally, if you want to install the development version from GitHub, you can use:\n\n``` r\nBiocManager::install(\"federicomarini/ideal\", dependencies = TRUE)\n# or alternatively...\ndevtools::install_github(\"federicomarini/ideal\", dependencies = TRUE)\n```\n\nSetting `dependencies = TRUE` should ensure that all packages, including the ones in the `Suggests:` field of the `DESCRIPTION`, are installed - this can be essential if you want to reproduce the code in the vignette, for example.\n\n### Installation troubleshooting\n\nIf using `devtools` or `remotes` to install packages, you could run into the warning\n\n``` r\n# ... after launching the install_github command\nError: (converted from warning) package ´IRanges´ was built under R version 3.6.2\nExecution halted\nERROR: lazy loading failed for package ´ideal´\n*removing ´Library/Frameworks/R.framework/Versions/3.6/Resources/library/ideal´\nError: Failed to install 'ideal' from GitHub:\n  (converted from warning) installation of package ´....../ideal_1.11.2.tar.gz´ had non zero exit status\n```\n\nIn this case, you can follow the instructions found at https://remotes.r-lib.org/index.html#environment-variables, which specifically suggest to set `R_REMOTES_NO_ERRORS_FROM_WARNINGS` to `true`. You can do so directly in R before installing the package by entering\n\n``` r\nSys.setenv(R_REMOTES_NO_ERRORS_FROM_WARNINGS=\"true\")\n# and then again\ndevtools::install_github(\"federicomarini/ideal\", dependencies = TRUE)\n```\n\n### Which version should I use?\n\nIf you are a **regular user**, you should **install the latest stable release version**. \nThis can be done at best by using `BiocManager::install(\"ideal\")`, as recommended in https://www.bioconductor.org/install/#troubleshoot-bioconductor-packages.\nPlease follow the general instructions in https://www.bioconductor.org/install to make sure you are using the correct version, matched to the version of the R software in use.\n\nIf you are a **software developer** and want to have access to the latest features that are currently in the **devel branch of Bioconductor** (i.e. experimental functionality, and more), you can do so by calling first `BiocManager::install(version = \"devel\")` as specified in https://bioconductor.org/developers/how-to/useDevel/, then followed by `BiocManager::install(\"ideal\")`.\nKeep in mind that according to the release cycle you might need to install the devel version of R itself.\n\nIf you just want to use the **bleeding edge version**, which is the one you can find on GitHub, you can install that by calling `BiocManager::install(\"federicomarini/ideal\")` (which is basically a wrapper around `remotes::install(\"federicomarini/ideal\")`).\nThis approach might be recommended for **experienced users** - based on which Bioconductor version you might be using, you might encounter mismatches in the dependencies if you mix up versions from release and devel branches.\n\n## Quick start\n\nThis command loads the `ideal` package\n\n``` r\nlibrary(\"ideal\")\n```\n\nThe main parameters for `ideal` are\n\n- `dds_obj` - a `DESeqDataSet` object. If not provided, then a `countmatrix` and a \n`expdesign` need to be provided. If none of the above is provided, it is possible\nto upload the data during the execution of the Shiny App\n- `res_obj` -  a `DESeqResults` object. If not provided, it can be computed during\nthe execution of the application\n- `annotation_obj` - a `data.frame` object, with row.names as gene identifiers \n(e.g. ENSEMBL ids) and a column, `gene_name`, containing e.g. HGNC-based gene\nsymbols. If not provided, it can be constructed during the execution via the \n`org.eg.XX.db` packages\n- `countmatrix` - a count matrix, with genes as rows and samples as columns.\nIf not provided, it is possible to upload the data during the execution of\nthe Shiny App\n- `expdesign` -a `data.frame` containing the info on the experimental covariates\nof each sample. If not provided, it is possible to upload the data during the\nexecution of the Shiny App\n\nThe `ideal` app can be launched in different modes:\n\n- `ideal(dds_obj = dds, res_obj = res, annotation_obj = anno)`, where the objects \nare precomputed in the current session and provided as parameters\n- `ideal(dds_obj = dds)`, as in the command above, but where the result object is\nassembled at runtime \n- `ideal(countmatrix = countmatrix, expdesign = expdesign)`, where instead of \npassing the defined `DESeqDataSet` object, its components are given, namely the \ncount matrix (e.g. generated after a run of featureCounts or HTSeq-count) and a \ndata frame with the experimental covariates. The design formula can be constructed\ninteractively at runtime\n- `ideal()`, where the count matrix and experimental design can simply be uploaded\nat runtime, where all the derived objects can be extracted and computed live. These \nfiles have to be formatted as tabular text files, and a function in the package \ntries to guess the separator, based on heuristics of occurrencies per line of \ncommonly used characters\n\n## Accessing the public instance of `ideal` \n\nTo use `ideal` without installing any additional software, you can \naccess the public instance of the Shiny Server made available at the Institute of \nMedical Biostatistics, Epidemiology and Informatics (IMBEI) in Mainz.\n\nThis resource is accessible at this address: \n\nhttp://shiny.imbei.uni-mainz.de:3838/ideal\n\n## Deploying to a Shiny Server\n\nA deployment-oriented version of the package is available at \nhttps://github.com/federicomarini/ideal_serveredition. This repository contains also\ndetailed instruction to setup the running instance of a Shiny Server, where `ideal` \ncan be run without further installation for the end-users.\n\n## Code of Conduct\n\nPlease note that the ideal project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/0/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms.\n\n## Contact\n\nFor additional details regarding the functions of **ideal**, please consult the documentation or \nwrite an email to marinif@uni-mainz.de. \n\n### Bug reports/Issues/New features\n\nPlease use https://github.com/federicomarini/ideal/issues for reporting bugs, issues or for \nsuggesting new features to be implemented.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedericomarini%2Fideal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffedericomarini%2Fideal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedericomarini%2Fideal/lists"}