Skip to content

GeoMx Cloud: Cloud compute and interactive dashboards of Spatial Omics Data.

License

Notifications You must be signed in to change notification settings

singha53-zz/geomxCloud

Repository files navigation

GeoMx Cloud

GeoMx Cloud is an application that can be used to perform common bioinformatics analyses for spatial transcriptomics data such as descriptive analyses of sample annotations, exploratory data analysis, differential expression analysis. All computations are performed in the cloud (Amazon Web Services) and the results (R-file) are emailed to the user. The R-file can then be uploaded to GeoMx Cloud for interactive visualizations.

Get started

  1. Install R v4.0.2
  2. Install RStudio v1.3.1073
  3. Make Amazon Web Services (AWS) account: AWS Free Tier
  4. Gmail account
  5. Hosting Shiny app using Shinyapps.io
  6. Docker
git clone https://github.com/singha53/geomxCloud.git
cd geomxCloud

Docker image

  • modify USER_NAME in Makefile to your DockerHub profile username
cd docker 
docker login
make build
make push

Setup AWS infrastructure

  1. make IAM User
  2. Create Cloud9 environment
  3. Cloudformation
  4. Verify Email using SES (via AWS console)
cd aws
make bucket
make validate
make package
make stack
  • clean up resources using:
make delete

Shiny app

  • Step 1) add shiny/geomxCloud/inst/app/makeEnvVars.R with the following contents (.Renviron worked locally but not on shinyapps.io):
saveRDS("your-s3-bucket-name", "S3BUCKET.rds")
saveRDS("your-aws-access-key", "AWS_ACCESS_KEY_ID.rds")
saveRDS("your-aws-secret-access-key", "AWS_SECRET_ACCESS_KEY.rds")
saveRDS("your-aws-region", "AWS_DEFAULT_REGION.rds")

The above script is sourced in global.R and the env are set locally and on shinyapps.io at runtime.

  • Step 2) run the Shiny webapp
library(geomxCloud);
geomxCloud::startApp()

Tech stack

Languages

  • R
  • Python
  • Javascript

Technologies

  • Docker
  • Amazon Web Services
  • RStudio

Sample datasets used for this app

NanoString Technologies Inc. Public Data Share

Pathway datasets

How to use?

library(geomxCloud);
data(pathwayDB)

How to generate?

steps to reproduce the pathway database

Features

  • Fast: Interactive dashboards use data summaries and avoid real-time computations using cloud compute
  • analyze multiple datasets simulateously
  • interactive visualizations (heatmaps, networks, statistical graphs)
  • Interactive RShiny app is an R-package
  • Easy to use: The user is email their results which can then be uploaded to the GeoMx Cloud web application.

Room for improvements

  • add additional methods for data analysis
  • simulateously upload multiple spatial expression data (based on different normalization schemes)
  • apply variable filtering as well (currently only sample filtering is allows based on sample annotations)

Contributing

If you’d like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.

Links

Copyright and license

The code in this project is licensed under MIT license.