Contents

1 Introduction

ExploratorySummarizedExperimentList and ExploratorySummarizedExperiment are classes defined in the shinyngs package. ExploratorySummarizedExperiment is an extension of the commonly used SummarizedExperiment, while ExploratorySummarizedExperimentList serves to collect instances of different feature sets (e.g. genes, transcripts) applied to the same group of samples.

This package serves to illustrate the use of ExploratorySummarizedExperimentList for expression data from the Zhang et al study of neurons and glia (). Data were obtained via GEO () and analysed as described below.

2 Analysis

The following detail how the example data were generated. Note: this data was generated using considerably different methods to the study authors, so the results may differ.

2.1 Trimming

Reads were trimmed using Cutadapt version cutadapt-1.9.dev2 (Martin 2011). Reads were trimmed for quality at the 3’ end using a quality threshold of 30 and for adapter sequences of the TruSeq RNA Sample Prep Kit kit (AGATCGGAAGAGC). Reads after trimming were required to have a minimum length of 50.

2.2 Reference

Genomic and transcriptomic sequences were taken from the Mus musculus genome from Ensembl, assembly GRCm38, annotation version 84.

2.3 Genome alignment

For quality control purposes, reads were aligned to the reference genome using STAR (Dobin 2013) version 2.5.2b specifying paired-end reads and the option --outSAMtype BAM Unsorted. All other parameters were left at default.

2.4 Alignment-free quantification}

The quasi-alignment-based tool Salmon (Patro 2017) (version 0.8.2) was used for transcriptome quantification. cDNA and non-coding transcripts for the reference genome cited above were downloaded, concatenated, and used to produce a quasi-mapping index.

The quantification step was carried out specifying a library type of ISR (see http://salmon.readthedocs.io/en/latest/library_type.html) appropriate to the strandedness of the library and bias correction parameters --seqBias, --gcBias and --posBias.

Salmon produces abundance estimates in the form of transcripts per million (TPM) at the transcript level. For downstream analysis estimated counts were derived using the tximport (Soneson 2015) package (version 1.2.0) of Bioconductor and the countsFromAbundance setting lengthScaledTPM to first multiply TPM by feature length and then scale up to library size. Gene-level estimates were generated using tximport in the same manner, supplying gene identifiers for each transcript derived from Ensembl annotation via the tx2gene parameter. Gene names and other fields were also derived from input annotation and added to the estimated counts matrices.

2.5 Count preprocessing

The raw counts table was filtered to remove rows consisting predominantly of near-zero counts, filtering on counts per million (CPM) to avoid artefacts due to library depth. Specificially, a row of the expression matrix was required to have values greater than 0.1 in at least 2 samples, corresponding to the smallest sample group as defined by Group, once any samples were removed (where applicable).

2.6 Diifferential analysis

Differential analysis was carried out with EdgeR (Robinson 2010) (version 3.16.5), comparing samples of each cell type to all samples not of that type. Fold changes were estimated as per the default behaviour of edgeR, to avoid artefacts which occur with empirical calculation. Specifically, a small prior count is added to each observation before fitting a model, in proportion to the library size. Log fold-changes are shrunk towards 0, to a greater degree with genes of low count, and infinite fold changes are avoided. Statistical assessment of differential expression was carried out with the quasi-likelihood (QL) F-test using the contrasts shown in Table~.

2.7 Differential gene set analysis

Differential gene set analysis was carried out with the ROAST method (Wu 2010) from the Limma package (Ritchie 2015) (version 3.30.13) of Bioconductor, using the same models and contrasts as used in differential expression. The following gene sets were used:

ROAST was executed using 9,999 rotations (randomisations). Each gene set was annotated with those genes individually differential (in the same direction as indicated for the gene set) to an unadjusted p value of 0.05.

See the Limma documentation for more information on ROAST.

3 Making the ExploratorySummarizedExperimentList

ExploratorySummarizedExperimentList is described as part of the Shinyngs documentation (see vignette('shinyngs')), refer to that documentation for details on building ExploratorySummarizedExperimentList objects from R objects. zhangneurons was produced by outputting the above results to files and describing them for Shinyngs in the form of a YAML file which was then passed to shinyngs::eselistFromYAML() to create the ExploratorySummarizedExperimentList.

The YAML file and associated data used to generate the example zhangneurons dataset is bundled with this package. Load it and have a look:

ymlfile <- system.file('extdata', 'shinyngs+salmon.yml', package = 'zhangneurons')
config <- yaml::yaml.load_file(ymlfile)
print(config)
## $title
## [1] "An RNA-Seq transcriptome and splicing database of neurons, glia, and vascular cells of the cerebral cortex"
## 
## $author
## [1] "Ye Zhang"
## 
## $description
## [1] "<p>This is a re-analysis of a <a href=\"http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE52564\">public dataset</a>.</p>\n\n<p><strong>From the source publication:</strong> The major cell classes of the brain differ in their developmental processes, metabolism, signaling, and function. To better understand the functions and interactions of the cell types that comprise these classes, we acutely purified representative populations of neurons, astrocytes, oligodendrocyte precursor cells, newly formed oligodendrocytes, myelinating oligodendrocytes, microglia, endothelial cells, and pericytes from mouse cerebral cortex. We generated a transcriptome database for these eight cell types by RNA sequencing and used a sensitive algorithm to detect alternative splicing events in each cell type. Bioinformatic analyses identified thousands of new cell type-enriched genes and splicing isoforms that will provide novel markers for cell identification, tools for genetic manipulation, and insights into the biology of the brain. For example, our data provide clues as to how neurons and astrocytes differ in their ability to dynamically regulate glycolytic flux and lactate generation attributable to unique splicing of PKM2, the gene encoding the glycolytic enzyme pyruvate kinase. This dataset will provide a powerful new resource for understanding the development and function of the brain. To ensure the widespread distribution of these datasets, we have created a <a href=\"http://web.stanford.edu/group/barres_lab/brain_rnaseq.html\">user-friendly website</a> that provides a platform for analyzing and comparing transciption and alternative splicing profiles for various cell classes in the brain.</p>\n"
## 
## $group_vars
## [1] "Group"  "Tissue"
## 
## $default_groupvar
## [1] "Group"
## 
## $url_roots
## $url_roots$gene_id
## [1] "http://www.ensembl.org/Mus_musculus/Gene/Summary?db=core;g="
## 
## 
## $gene_set_id_type
## [1] "gene_name"
## 
## $gene_sets
## $gene_sets$CP
## [1] "gene_sets/c2.cp.v5.2.symbols.mmusculus.gmt"
## 
## $gene_sets$GOBP
## [1] "gene_sets/c5.bp.v5.2.symbols.mmusculus.gmt"
## 
## $gene_sets$GOCC
## [1] "gene_sets/c5.cc.v5.2.symbols.mmusculus.gmt"
## 
## $gene_sets$GOMF
## [1] "gene_sets/c5.mf.v5.2.symbols.mmusculus.gmt"
## 
## 
## $experiment_order
## [1] "gene"       "transcript"
## 
## $experiments
## $experiments$gene
## $experiments$gene$annotation
## $experiments$gene$annotation$entrez
## NULL
## 
## $experiments$gene$annotation$file
## [1] "counts/salmon+gene+final+annotation.csv"
## 
## $experiments$gene$annotation$id
## [1] "gene_id"
## 
## $experiments$gene$annotation$label
## [1] "gene_name"
## 
## 
## $experiments$gene$assay_order
## [1] "Filtered normalised"   "Unfiltered normalised" "Filtered"             
## [4] "Unfiltered"           
## 
## $experiments$gene$coldata
## $experiments$gene$coldata$file
## [1] "zhang_sample_data.csv"
## 
## $experiments$gene$coldata$id
## [1] "External"
## 
## 
## $experiments$gene$expression_matrices
## $experiments$gene$expression_matrices$Filtered
## $experiments$gene$expression_matrices$Filtered$file
## [1] "counts/salmon+gene+final+filtered.csv"
## 
## $experiments$gene$expression_matrices$Filtered$measure
## [1] "Estimated count"
## 
## 
## $experiments$gene$expression_matrices$`Filtered normalised`
## $experiments$gene$expression_matrices$`Filtered normalised`$file
## [1] "counts/salmon+gene+final+filtered+normalised.csv"
## 
## $experiments$gene$expression_matrices$`Filtered normalised`$measure
## [1] "Estimated count (per million)"
## 
## 
## $experiments$gene$expression_matrices$Unfiltered
## $experiments$gene$expression_matrices$Unfiltered$file
## [1] "counts/salmon+gene+final.csv"
## 
## $experiments$gene$expression_matrices$Unfiltered$measure
## [1] "Estimated count"
## 
## 
## $experiments$gene$expression_matrices$`Unfiltered normalised`
## $experiments$gene$expression_matrices$`Unfiltered normalised`$file
## [1] "counts/salmon+gene+final+normalised.csv"
## 
## $experiments$gene$expression_matrices$`Unfiltered normalised`$measure
## [1] "Estimated count (per million)"
## 
## 
## 
## $experiments$gene$read_reports
## $experiments$gene$read_reports$read_attrition
## [1] "counts/salmon+read_attrition.csv"
## 
## 
## $experiments$gene$gene_set_analyses
## $experiments$gene$gene_set_analyses$`Filtered normalised`
## $experiments$gene$gene_set_analyses$`Filtered normalised`$CP
## $experiments$gene$gene_set_analyses$`Filtered normalised`$CP$`Astrocyte-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Astrocyte-no-yes+CP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$CP$`Endothelial-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Endothelial-no-yes+CP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$CP$`MO-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+MO-no-yes+CP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$CP$`Microglia-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Microglia-no-yes+CP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$CP$`NFO-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+NFO-no-yes+CP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$CP$`Neuron-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Neuron-no-yes+CP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$CP$`OPC-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+OPC-no-yes+CP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$CP$`WC-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+WC-no-yes+CP+nogenes.csv"
## 
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOBP
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOBP$`Astrocyte-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Astrocyte-no-yes+GOBP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOBP$`Endothelial-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Endothelial-no-yes+GOBP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOBP$`MO-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+MO-no-yes+GOBP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOBP$`Microglia-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Microglia-no-yes+GOBP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOBP$`NFO-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+NFO-no-yes+GOBP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOBP$`Neuron-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Neuron-no-yes+GOBP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOBP$`OPC-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+OPC-no-yes+GOBP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOBP$`WC-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+WC-no-yes+GOBP+nogenes.csv"
## 
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOCC
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOCC$`Astrocyte-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Astrocyte-no-yes+GOCC+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOCC$`Endothelial-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Endothelial-no-yes+GOCC+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOCC$`MO-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+MO-no-yes+GOCC+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOCC$`Microglia-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Microglia-no-yes+GOCC+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOCC$`NFO-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+NFO-no-yes+GOCC+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOCC$`Neuron-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Neuron-no-yes+GOCC+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOCC$`OPC-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+OPC-no-yes+GOCC+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOCC$`WC-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+WC-no-yes+GOCC+nogenes.csv"
## 
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOMF
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOMF$`Astrocyte-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Astrocyte-no-yes+GOMF+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOMF$`Endothelial-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Endothelial-no-yes+GOMF+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOMF$`MO-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+MO-no-yes+GOMF+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOMF$`Microglia-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Microglia-no-yes+GOMF+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOMF$`NFO-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+NFO-no-yes+GOMF+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOMF$`Neuron-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+Neuron-no-yes+GOMF+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOMF$`OPC-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+OPC-no-yes+GOMF+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Filtered normalised`$GOMF$`WC-no-yes`
## [1] "diffgs/salmon+gene+final+filtered+WC-no-yes+GOMF+nogenes.csv"
## 
## 
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$CP
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$CP$`Astrocyte-no-yes`
## [1] "diffgs/salmon+gene+final+Astrocyte-no-yes+CP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$CP$`Endothelial-no-yes`
## [1] "diffgs/salmon+gene+final+Endothelial-no-yes+CP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$CP$`MO-no-yes`
## [1] "diffgs/salmon+gene+final+MO-no-yes+CP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$CP$`Microglia-no-yes`
## [1] "diffgs/salmon+gene+final+Microglia-no-yes+CP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$CP$`NFO-no-yes`
## [1] "diffgs/salmon+gene+final+NFO-no-yes+CP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$CP$`Neuron-no-yes`
## [1] "diffgs/salmon+gene+final+Neuron-no-yes+CP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$CP$`OPC-no-yes`
## [1] "diffgs/salmon+gene+final+OPC-no-yes+CP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$CP$`WC-no-yes`
## [1] "diffgs/salmon+gene+final+WC-no-yes+CP+nogenes.csv"
## 
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOBP
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOBP$`Astrocyte-no-yes`
## [1] "diffgs/salmon+gene+final+Astrocyte-no-yes+GOBP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOBP$`Endothelial-no-yes`
## [1] "diffgs/salmon+gene+final+Endothelial-no-yes+GOBP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOBP$`MO-no-yes`
## [1] "diffgs/salmon+gene+final+MO-no-yes+GOBP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOBP$`Microglia-no-yes`
## [1] "diffgs/salmon+gene+final+Microglia-no-yes+GOBP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOBP$`NFO-no-yes`
## [1] "diffgs/salmon+gene+final+NFO-no-yes+GOBP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOBP$`Neuron-no-yes`
## [1] "diffgs/salmon+gene+final+Neuron-no-yes+GOBP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOBP$`OPC-no-yes`
## [1] "diffgs/salmon+gene+final+OPC-no-yes+GOBP+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOBP$`WC-no-yes`
## [1] "diffgs/salmon+gene+final+WC-no-yes+GOBP+nogenes.csv"
## 
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOCC
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOCC$`Astrocyte-no-yes`
## [1] "diffgs/salmon+gene+final+Astrocyte-no-yes+GOCC+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOCC$`Endothelial-no-yes`
## [1] "diffgs/salmon+gene+final+Endothelial-no-yes+GOCC+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOCC$`MO-no-yes`
## [1] "diffgs/salmon+gene+final+MO-no-yes+GOCC+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOCC$`Microglia-no-yes`
## [1] "diffgs/salmon+gene+final+Microglia-no-yes+GOCC+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOCC$`NFO-no-yes`
## [1] "diffgs/salmon+gene+final+NFO-no-yes+GOCC+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOCC$`Neuron-no-yes`
## [1] "diffgs/salmon+gene+final+Neuron-no-yes+GOCC+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOCC$`OPC-no-yes`
## [1] "diffgs/salmon+gene+final+OPC-no-yes+GOCC+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOCC$`WC-no-yes`
## [1] "diffgs/salmon+gene+final+WC-no-yes+GOCC+nogenes.csv"
## 
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOMF
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOMF$`Astrocyte-no-yes`
## [1] "diffgs/salmon+gene+final+Astrocyte-no-yes+GOMF+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOMF$`Endothelial-no-yes`
## [1] "diffgs/salmon+gene+final+Endothelial-no-yes+GOMF+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOMF$`MO-no-yes`
## [1] "diffgs/salmon+gene+final+MO-no-yes+GOMF+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOMF$`Microglia-no-yes`
## [1] "diffgs/salmon+gene+final+Microglia-no-yes+GOMF+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOMF$`NFO-no-yes`
## [1] "diffgs/salmon+gene+final+NFO-no-yes+GOMF+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOMF$`Neuron-no-yes`
## [1] "diffgs/salmon+gene+final+Neuron-no-yes+GOMF+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOMF$`OPC-no-yes`
## [1] "diffgs/salmon+gene+final+OPC-no-yes+GOMF+nogenes.csv"
## 
## $experiments$gene$gene_set_analyses$`Unfiltered normalised`$GOMF$`WC-no-yes`
## [1] "diffgs/salmon+gene+final+WC-no-yes+GOMF+nogenes.csv"
## 
## 
## 
## 
## 
## $experiments$transcript
## $experiments$transcript$annotation
## $experiments$transcript$annotation$entrez
## NULL
## 
## $experiments$transcript$annotation$file
## [1] "counts/salmon+transcript+final+annotation.csv"
## 
## $experiments$transcript$annotation$id
## [1] "transcript_id"
## 
## $experiments$transcript$annotation$label
## [1] "gene_name"
## 
## 
## $experiments$transcript$assay_order
## [1] "Filtered normalised"   "Unfiltered normalised" "Filtered"             
## [4] "Unfiltered"           
## 
## $experiments$transcript$coldata
## $experiments$transcript$coldata$file
## [1] "zhang_sample_data.csv"
## 
## $experiments$transcript$coldata$id
## [1] "External"
## 
## 
## $experiments$transcript$expression_matrices
## $experiments$transcript$expression_matrices$Filtered
## $experiments$transcript$expression_matrices$Filtered$file
## [1] "counts/salmon+transcript+final+filtered.csv"
## 
## $experiments$transcript$expression_matrices$Filtered$measure
## [1] "Estimated count"
## 
## 
## $experiments$transcript$expression_matrices$`Filtered normalised`
## $experiments$transcript$expression_matrices$`Filtered normalised`$file
## [1] "counts/salmon+transcript+final+filtered+normalised.csv"
## 
## $experiments$transcript$expression_matrices$`Filtered normalised`$measure
## [1] "Estimated count (per million)"
## 
## 
## $experiments$transcript$expression_matrices$Unfiltered
## $experiments$transcript$expression_matrices$Unfiltered$file
## [1] "counts/salmon+transcript+final.csv"
## 
## $experiments$transcript$expression_matrices$Unfiltered$measure
## [1] "Estimated count"
## 
## 
## $experiments$transcript$expression_matrices$`Unfiltered normalised`
## $experiments$transcript$expression_matrices$`Unfiltered normalised`$file
## [1] "counts/salmon+transcript+final+normalised.csv"
## 
## $experiments$transcript$expression_matrices$`Unfiltered normalised`$measure
## [1] "Estimated count (per million)"
## 
## 
## 
## $experiments$transcript$read_reports
## $experiments$transcript$read_reports$read_attrition
## [1] "counts/salmon+read_attrition.csv"
## 
## 
## 
## 
## $contrasts
## $contrasts$comparisons
## $contrasts$comparisons$`0`
## [1] "Astrocyte" "no"        "yes"       ""         
## 
## $contrasts$comparisons$`1`
## [1] "Neuron" "no"     "yes"    ""      
## 
## $contrasts$comparisons$`2`
## [1] "OPC" "no"  "yes" ""   
## 
## $contrasts$comparisons$`3`
## [1] "NFO" "no"  "yes" ""   
## 
## $contrasts$comparisons$`4`
## [1] "MO"  "no"  "yes" ""   
## 
## $contrasts$comparisons$`5`
## [1] "Microglia" "no"        "yes"       ""         
## 
## $contrasts$comparisons$`6`
## [1] "Endothelial" "no"          "yes"         ""           
## 
## $contrasts$comparisons$`7`
## [1] "WC"  "no"  "yes" ""   
## 
## 
## $contrasts$stats
## $contrasts$stats$gene
## $contrasts$stats$gene$`Filtered normalised`
## $contrasts$stats$gene$`Filtered normalised`$fold_changes
## [1] "diffexp/salmon+gene+final+filtered+absFC.csv"
## 
## $contrasts$stats$gene$`Filtered normalised`$pvals
## [1] "diffexp/salmon+gene+final+filtered+colsetPValue.csv"
## 
## $contrasts$stats$gene$`Filtered normalised`$qvals
## [1] "diffexp/salmon+gene+final+filtered+colsetFDR.csv"
## 
## 
## $contrasts$stats$gene$`Unfiltered normalised`
## $contrasts$stats$gene$`Unfiltered normalised`$fold_changes
## [1] "diffexp/salmon+gene+final+absFC.csv"
## 
## $contrasts$stats$gene$`Unfiltered normalised`$pvals
## [1] "diffexp/salmon+gene+final+colsetPValue.csv"
## 
## $contrasts$stats$gene$`Unfiltered normalised`$qvals
## [1] "diffexp/salmon+gene+final+colsetFDR.csv"
## 
## 
## 
## $contrasts$stats$transcript
## $contrasts$stats$transcript$`Filtered normalised`
## $contrasts$stats$transcript$`Filtered normalised`$fold_changes
## [1] "diffexp/salmon+transcript+final+filtered+absFC.csv"
## 
## $contrasts$stats$transcript$`Filtered normalised`$pvals
## [1] "diffexp/salmon+transcript+final+filtered+colsetPValue.csv"
## 
## $contrasts$stats$transcript$`Filtered normalised`$qvals
## [1] "diffexp/salmon+transcript+final+filtered+colsetFDR.csv"
## 
## 
## $contrasts$stats$transcript$`Unfiltered normalised`
## $contrasts$stats$transcript$`Unfiltered normalised`$fold_changes
## [1] "diffexp/salmon+transcript+final+absFC.csv"
## 
## $contrasts$stats$transcript$`Unfiltered normalised`$pvals
## [1] "diffexp/salmon+transcript+final+colsetPValue.csv"
## 
## $contrasts$stats$transcript$`Unfiltered normalised`$qvals
## [1] "diffexp/salmon+transcript+final+colsetFDR.csv"

The files described there serve as examples of the format expected. You can use this file to run the object creation process:

setwd(dirname(ymlfile))
eselist <- eselistFromYAML("shinyngs+salmon.yml")

Then the application can be built and run:

app <- prepareApp('rnaseq', eselist)
shiny::shinyApp(ui = app$ui, server = app$server)