Code Monkey home page Code Monkey logo

strongyloides_rnaseq_browser's Introduction

Strongyloides_RNAseq_Browser

Web-based Shiny App for browsing and on-demand analysis of Strongyloides spp RNA-seq datasets.
This app is deployed via Shinyapps.io

For more information, please see the G3 paper associated with this project. See also the GitHub repo for this app's preprocessing pipeline.

Table of Contents

  1. General Information
  2. App Setup & Deployment
  3. App Features
  4. Examples of App Use
  5. Sources
  6. License
  7. Authors

General Information

This repository contains source code for the web-based Strongyloides RNA-seq Browser. This app is deployed via Shinyapps.io but can also be run locally. See App Setup and App Features sections below for additional details.

Data preprocessing pipelines and example analyses can be found at the Bryant, DeMarco, and Hallem (2021) repository.

The sections below describe the contents of the primary subfolders within this repository:

Data

This folder contains pre-processed data files, including study design files, gene annotations, and digital gene expression lists (vDGEList) containing variance-stabilized, filtered, TMM-normalized RNA-seq data.

Server

Server files for the Shiny app.

UI

User interface files for the Shiny app. Includes custom css and additional README files with methods details.

www

Static files that can be interactively downloaded within the Strongyloides RNA-seq Browser environment.

App Setup & Deployment

To access a stable deployment of the Strongyloides RNA-seq Browser Web App, please visit: hallemlab.shinyapps.io/strongyloides_rnaseq_browser/

To run the latest version locally from GitHub, use the following command in R/RStudio:
library(shiny)
shiny::runGitHub(repo = 'Strongyloides_RNAseq_Browser', username = 'HallemLab')

To run a specific release locally use the following commands in R/RStudio:

  • For PCs --
    library(shiny)
    shiny::runUrl('https://github.com/HallemLab/Strongyloides_RNAseq_Browser/archive/<RELEASE_VERSION>.zip')

  • For Macs --
    library(shiny)
    shiny::runUrl('https://github.com/HallemLab/Strongyloides_RNAseq_Browser/archive/<RELEASE_VERSION>.tar.gz')

Please note: the download step for runURL/runGitHub takes a substantial amount of time. We recommend downloading this archive and running the application locally.

App Features

The Strongyloides RNA-seq Shiny Browser enables users to browse publicly available Strongyloides bulk RNA-seq datasets and perform on-demand analyses including differential expression and gene set enrichment. Data from the following species are currently included: S. stercoralis, S. ratti, S. papillosus, and S. venezuelensis. The app permits browsing RNA-seq data in two modes:

  1. Browse by Life Stage Mode
  2. Browse by Gene Mode

Features of the app include:

  • Search for gene(s) of interest using stable geneIDs or keywords
  • Extract gene expression values for genes of interest
    • Display gene expresion across life stages as a heatmap (all genes of interest) or a boxplot (individual genes)
    • Display gene expression across life stages for individual genes and their known Strongyloides homologs
    • Download log2 counts per million expression for genes of interest as .xslx
  • On demand limma-voom-based pairwise differential gene expression analysis
    • Display results as interactive volcano plots and datatables
    • Download results as .pdf (plots) or .xlsx (datatables)
  • Gene set enrichment analysis using the clusterProfiler R package and an Ensembl Compara protein family set established by Hunt et al 2016. (Browse By Life Stage Mode)
    • Display results as bubble plot and interactive datatable
    • Download results as .pdf (plots) or .xlsx (datatables)
  • Download raw/pre-processed data using user-friendly dropdown menu
    • Study design files (.csv)
    • Log2 counts per million expression for all genes and all samples (.csv)
    • Variance-stabilized DGEList object (R object; primary data input for the app)
    • Raw expression data for genes discarded during low-count filterering (.csv)

Examples of Shiny App UI

An example of the User Interface for the RNA-seq Browser Shiny App in Browser by Gene Mode

An example of the User Interface for the RNA-seq Browser Shiny App in Browser by Life Stage Mode

Sources

License

This project is licensed under the MIT License.

Authors

Update Notes

Updated by A.S.B. on approximately 11-3-21 to include S. stercoralis free-living male RNA-seq data published by Gonzalez Akimori et al 2021.

strongyloides_rnaseq_browser's People

Contributors

astrasb avatar sfdemarco avatar hallemlab-user avatar

Watchers

James Cloos avatar  avatar

strongyloides_rnaseq_browser's Issues

Help Files/Section?

Add a section/tab that walks people through how to use the program? And maybe explains what's going on?

More search term options

For gene searches, add ability to search by more than the ParaSite description. Maybe GO terms? Or possibly more usefully the Hunt et al 2016 gene set terminology.

Download heatmap data

Must be in same order as plotted in the heatmap.
Rows = genes
Cols = CPM for each sample

Bug: Gene Datatable hanging on "processing" step

When accessing the browser via a PC computer in lab, I found that the datatable for gene selection stalls when dealing with large datasets.

<20 seconds later> Turns out the problem is with setting the default number of values to display at 25 - that's just too many. Reduce to 5 or 10. Do this for all the datatables, just for safety.

Data downloads: resolve tension between log2cpm.csv and vDGElist

We currently offer users the option to download a log2cpm.csv file containing normalized, filtered data. But the count values that get used/displayed in the browser are actually additionally variance-stabilized - so the values that are included in the vDGEList. It might be better to replace the log2cpm.csv file with data pulled from the vDGEList - or make the vDGEList into an excel file that contains the data and annotations for the genes. Basically an genome-wide version of the .xslx file that users can already download from the Browse By Gene Mode.

Let users know about server timeouts

For maximizing time on the free shinyapps.io server, the browser times out after several minutes of inactivity. Add a note for users so they don't think the app is broken when this happens.

Add Tutorials Tab

Add a tutorials tab that includes an overview of a basic workflow for the RNA-seq browser, plus a "common Q&A" section.

Update after WBPS17 release

WBPS17 will include updated gene models for some genes - see Bryant et al 2022 Curr Biol for details. Redo Kallisto alignments for S. ratti and S. stercoralis.

Add "About" tab

Relevant information includes: methods, citations, contact info

Add S. ratti homolog information to gene annotations

More annotations to pull from bioMart. Make sure that it's flexible so that when we add the S. ratti data, it pulls up S. stercoralis homologs.

This information should be added to any display/download the currently includes the C. elegans homologs

Bug in GSEA bubble plot

When deployed to shinyapp.io, the graph looks very very poorly sized. Unclear yet what the issue is.

Gene search hangs program when sequential searches are not separated by a reset button press

In the gene-wise browsing tab, the code hangs if you try and submit a new search without using the clear button first. This is particularly pernicious in the deployed version on ShinyApps.io, as it seems to stall the entire program such that all other responsive elements become non-functional.

To make the program more robust for users, this issue should probably be looked at more closely.

Update Kallisto allignments with WBPS15

Wormbase Parasite v15 includes updated mRNA transcript FASTA files - redo Kallisto alignments with the newest versions. This will likely change the S. ratti BiomaRT call - it looks like the newest version now includes transcript numbers (e.g. .1/.2), similarly to other species.

Error Messages

Add error messages, particularly to user input sections

  • Set up contrast/target incorrectly (incorrect formatting)
  • Misspell life stages
  • Make sure input sections have example/help text

Add version number onto website

Somewhere on the deployed version there should be a clear statement on the version number.

Also, re-start version numbers relative to initial bioRxiv publication?

Options for downloading DGE Tables

When users download DGE tables, give them the option of filtering genes.

Options should include:

  • Only upregulated or downregulated or not-sig diff genes
  • Genes consistently upregulated/downregulated/not-sig across multiple comparisons
  • Top x% of differentially expressed genes? Let users select that percentage?

Ways to do this: Have a pop up window triggered by clicking the download button that asks users what they want to download.

An easier way might be to add a Downloads panel; could use the name logic that responsively populates dropdown menus to determine what download options are available (when it comes to multiple comparisons).

Excel download file header formatting is too specific

Recent updates to the generate_excel_file code have added some header text that is now too specific - it looks weird when users download gene expression tables. Fix by shifting the main text of those extra header rows outside of the common generate_excel_file function.

Clearing textAreaInput values when switching between GW and LS modes

Currently, if you reinitialize the GW tab after being in the LS tab, it throws an error if you have previously used textAreaInput boxes, particularly for inputing Life Stage Contrasts.

This should be fixed with updateTextAreaInput, but it's not currently working; I'm not sure why not. Look to see if there is a way to clear (de-Truthy) the action buttons? That might solve the problem.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.