All Projects → federicomarini → ideal

federicomarini / ideal

Licence: MIT license
Interactive Differential Expression AnaLysis - DE made accessible and reproducible

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to ideal

GeneTonic
Enjoy your transcriptomic data and analysis responsibly - like sipping a cocktail
Stars: ✭ 66 (+175%)
Mutual labels:  shiny, reproducible-research, bioconductor, user-friendly, rna-seq-analysis
DEGreport
Create a cromphensive report of DEG list coming from any analysis of RNAseq data
Stars: ✭ 18 (-25%)
Mutual labels:  rna-seq, bioconductor, differential-expression
CD4-csaw
Reproducible reanalysis of a combined ChIP-Seq & RNA-Seq data set
Stars: ✭ 16 (-33.33%)
Mutual labels:  rna-seq, reproducible-research, bioconductor
lncpipe
UNDER DEVELOPMENT--- Analysis of long non-coding RNAs from RNA-seq datasets
Stars: ✭ 24 (+0%)
Mutual labels:  rna-seq-analysis, differential-expression
ORNA
Fast in-silico normalization algorithm for NGS data
Stars: ✭ 21 (-12.5%)
Mutual labels:  rna-seq, rna-seq-analysis
learning R
List of resources for learning R
Stars: ✭ 32 (+33.33%)
Mutual labels:  shiny, reproducible-research
vidger
Make rapid visualizations of RNA-seq data in R
Stars: ✭ 19 (-20.83%)
Mutual labels:  rna-seq-analysis, differential-expression
bioc 2020 tidytranscriptomics
Workshop on tidytranscriptomics: Performing tidy transcriptomics analyses with tidybulk, tidyverse and tidyheatmap
Stars: ✭ 25 (+4.17%)
Mutual labels:  bioconductor, differential-expression
galaksio
An easy-to-use way for running Galaxy workflows.
Stars: ✭ 19 (-20.83%)
Mutual labels:  reproducible-research, user-friendly
ngs-in-bioc
A course on Analysing Next Generation (/High Throughput etc..) Sequencing data using Bioconductor
Stars: ✭ 37 (+54.17%)
Mutual labels:  rna-seq, bioconductor
rna-seq-kallisto-sleuth
A Snakemake workflow for differential expression analysis of RNA-seq data with Kallisto and Sleuth.
Stars: ✭ 56 (+133.33%)
Mutual labels:  rna-seq, differential-expression
GREIN
GREIN : GEO RNA-seq Experiments Interactive Navigator
Stars: ✭ 40 (+66.67%)
Mutual labels:  rna-seq, rna-seq-analysis
TCC-GUI
📊 Graphical User Interface for TCC package
Stars: ✭ 35 (+45.83%)
Mutual labels:  rna-seq, shiny
diffexpr
Porting DESeq2 and DEXSeq into python via rpy2
Stars: ✭ 49 (+104.17%)
Mutual labels:  rna-seq, differential-expression
squid
SQUID detects both fusion-gene and non-fusion-gene structural variations from RNA-seq data
Stars: ✭ 37 (+54.17%)
Mutual labels:  rna-seq
CICERO
CICERO: a versatile method for detecting complex and diverse driver fusions using cancer RNA sequencing data.
Stars: ✭ 19 (-20.83%)
Mutual labels:  rna-seq
D3E
Discrete Distributional Differential Expression
Stars: ✭ 19 (-20.83%)
Mutual labels:  differential-expression
pct-shiny
The Shiny map for Local Authorites
Stars: ✭ 20 (-16.67%)
Mutual labels:  shiny
signals-and-systems
Interactive visualizations for Dr. Richard Baraniuk's open-source "Signals and Systems" textbook. R / Shiny.
Stars: ✭ 31 (+29.17%)
Mutual labels:  shiny
dragulaR
No description or website provided.
Stars: ✭ 62 (+158.33%)
Mutual labels:  shiny

R build status codecov.io Lifecycle: stable

ideal - Interactive Differential Expression AnaLysis in RNA-seq data

ideal is a Bioconductor package containing a Shiny application for analyzing RNA-Seq data in the context of differential expression. This 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.

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. Graphs, tables, and interactive HTML reports can be readily exported and shared across collaborators. The dynamic user interface displays a broad level of content and information, subdivided by thematic tasks. All 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.

It 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.

The 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. Reproducibility is supported via state saving and automated report generation.

Installation

ideal can be easily installed using BiocManager::install():

if (!requireNamespace("BiocManager", quietly=TRUE))
    install.packages("BiocManager")
BiocManager::install("ideal")

Note that this should be the preferred way to install the latest stable release version.

To also install the packages listed in the Suggests: field, you can run

BiocManager::install("ideal", dependencies = TRUE)

to 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.

Optionally, if you want to install the development version from GitHub, you can use:

BiocManager::install("federicomarini/ideal", dependencies = TRUE)
# or alternatively...
devtools::install_github("federicomarini/ideal", dependencies = TRUE)

Setting 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.

Installation troubleshooting

If using devtools or remotes to install packages, you could run into the warning

# ... after launching the install_github command
Error: (converted from warning) package ´IRanges´ was built under R version 3.6.2
Execution halted
ERROR: lazy loading failed for package ´ideal´
*removing ´Library/Frameworks/R.framework/Versions/3.6/Resources/library/ideal´
Error: Failed to install 'ideal' from GitHub:
  (converted from warning) installation of package ´....../ideal_1.11.2.tar.gz´ had non zero exit status

In 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

Sys.setenv(R_REMOTES_NO_ERRORS_FROM_WARNINGS="true")
# and then again
devtools::install_github("federicomarini/ideal", dependencies = TRUE)

Which version should I use?

If you are a regular user, you should install the latest stable release version. This can be done at best by using BiocManager::install("ideal"), as recommended in https://www.bioconductor.org/install/#troubleshoot-bioconductor-packages. Please 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.

If 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"). Keep in mind that according to the release cycle you might need to install the devel version of R itself.

If 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")). This 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.

Quick start

This command loads the ideal package

library("ideal")

The main parameters for ideal are

  • dds_obj - a DESeqDataSet object. If not provided, then a countmatrix and a expdesign need to be provided. If none of the above is provided, it is possible to upload the data during the execution of the Shiny App
  • res_obj - a DESeqResults object. If not provided, it can be computed during the execution of the application
  • annotation_obj - a data.frame object, with row.names as gene identifiers (e.g. ENSEMBL ids) and a column, gene_name, containing e.g. HGNC-based gene symbols. If not provided, it can be constructed during the execution via the org.eg.XX.db packages
  • countmatrix - a count matrix, with genes as rows and samples as columns. If not provided, it is possible to upload the data during the execution of the Shiny App
  • expdesign -a data.frame containing the info on the experimental covariates of each sample. If not provided, it is possible to upload the data during the execution of the Shiny App

The ideal app can be launched in different modes:

  • ideal(dds_obj = dds, res_obj = res, annotation_obj = anno), where the objects are precomputed in the current session and provided as parameters
  • ideal(dds_obj = dds), as in the command above, but where the result object is assembled at runtime
  • ideal(countmatrix = countmatrix, expdesign = expdesign), where instead of passing the defined DESeqDataSet object, its components are given, namely the count matrix (e.g. generated after a run of featureCounts or HTSeq-count) and a data frame with the experimental covariates. The design formula can be constructed interactively at runtime
  • ideal(), where the count matrix and experimental design can simply be uploaded at runtime, where all the derived objects can be extracted and computed live. These files have to be formatted as tabular text files, and a function in the package tries to guess the separator, based on heuristics of occurrencies per line of commonly used characters

Accessing the public instance of ideal

To use ideal without installing any additional software, you can access the public instance of the Shiny Server made available at the Institute of Medical Biostatistics, Epidemiology and Informatics (IMBEI) in Mainz.

This resource is accessible at this address:

http://shiny.imbei.uni-mainz.de:3838/ideal

Deploying to a Shiny Server

A deployment-oriented version of the package is available at https://github.com/federicomarini/ideal_serveredition. This repository contains also detailed instruction to setup the running instance of a Shiny Server, where ideal can be run without further installation for the end-users.

Code of Conduct

Please note that the ideal project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Contact

For additional details regarding the functions of ideal, please consult the documentation or write an email to [email protected].

Bug reports/Issues/New features

Please use https://github.com/federicomarini/ideal/issues for reporting bugs, issues or for suggesting new features to be implemented.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].