tbaccata / amica

amica: an interactive and user-friendly web-based platform for the analysis of proteomics data
GNU General Public License v3.0
23 stars 8 forks source link
fragpipe maxquant proteomics proteomics-data-analysis shiny-r

Project Status: Active – The project has reached a stable, usable state and is being actively developed. minimal R version GPLv3 license bioRxiv BMC Genomics

amica is freely available at https://bioapps.maxperutzlabs.ac.at/app/amica

Check out our wiki and user manual for extensive online documentation.

amica

amica is an interactive and user-friendly web-based platform that accepts proteomic input files from different sources and provides automatically generated quality control, set comparisons, differential expression, biological network and over-representation analysis on the basis of minimal user input.

amica_logo

Functionality

Input

Outputs

Analysis options

QC-plots

For different intensities (Raw intensities, LFQ intensities, imputed intensities)

Differential abundance analysis

Compare multiple amica files

Dependencies

All dependencies can be installed by executing the install_dependencies.R script.

Session info


> sessionInfo()
R version 4.1.1 (2021-08-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 21.04

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=de_AT.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=de_AT.UTF-8    LC_MESSAGES=en_US.UTF-8    LC_PAPER=de_AT.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=de_AT.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] tools     stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] eulerr_6.1.1       colourpicker_1.1.0 RColorBrewer_1.1-2 dplyr_1.0.7        data.table_1.14.0  Rmisc_1.5         
 [7] plyr_1.8.6         lattice_0.20-45    pheatmap_1.0.12    colourvalues_0.3.7 UpSetR_1.4.0       visNetwork_2.0.9  
[13] igraph_1.2.6       reshape2_1.4.4     bslib_0.2.5.1      gprofiler2_0.2.0   DEqMS_1.10.0       limma_3.48.1      
[19] DT_0.18            heatmaply_1.2.1    viridis_0.6.1      viridisLite_0.4.0  plotly_4.9.4.1     ggfortify_0.4.12  
[25] ggplot2_3.3.5      shinyBS_0.61       shinyjs_2.0.0      shiny_1.6.0       

loaded via a namespace (and not attached):
 [1] httr_1.4.2        sass_0.4.0        tidyr_1.1.3       jsonlite_1.7.2    foreach_1.5.1     assertthat_0.2.1 
 [7] yaml_2.2.1        pillar_1.6.1      glue_1.4.2        digest_0.6.27     promises_1.2.0.1  colorspace_2.0-2 
[13] htmltools_0.5.1.1 httpuv_1.6.1      pkgconfig_2.0.3   purrr_0.3.4       xtable_1.8-4      scales_1.1.1     
[19] webshot_0.5.2     later_1.2.0       tibble_3.1.2      generics_0.1.0    ellipsis_0.3.2    cachem_1.0.5     
[25] withr_2.4.2       lazyeval_0.2.2    magrittr_2.0.1    crayon_1.4.1      mime_0.11         fs_1.5.0         
[31] fansi_0.5.0       registry_0.5-1    lifecycle_1.0.0   stringr_1.4.0     munsell_0.5.0     compiler_4.1.1   
[37] jquerylib_0.1.4   rlang_0.4.11      grid_4.1.1        iterators_1.0.13  htmlwidgets_1.5.3 crosstalk_1.1.1  
[43] miniUI_0.1.1.1    gtable_0.3.0      codetools_0.2-18  DBI_1.1.1         TSP_1.1-10        R6_2.5.0         
[49] seriation_1.3.0   gridExtra_2.3     fastmap_1.1.0     utf8_1.2.1        dendextend_1.15.1 stringi_1.7.3    
[55] Rcpp_1.0.7        vctrs_0.3.8       tidyselect_1.1.1 

Local installation

Move to the folder

cd amica

execute install_dependencies.R

Inside R console or R studio

library("shiny")

runApp()


- Using Docker

Have docker installed and running (www.docker.com/get-started)

Clone the repository

git clone https://github.com/tbaccata/amica.git

Move to the folder

cd amica

Build amica, the -t flag is the name of the docker image

docker build -t amica .

Start amica from terminal

docker run -p 3838:3838 amica

Open local interface

https://localhost:3838/amica


## Deploy amica with ShinyProxy 

When deploying a Shiny application with ShinyProxy, the application is simply bundled as an R package and installed into a Docker image. Every time a user runs an application, a container spins up and serves the application.

Detailed documentation is provided here (https://www.shinyproxy.io/documentation/).

A minimum working example based on documentation (https://www.shinyproxy.io/documentation/deployment):

install docker image for amica (follow the above instructions)

git clone https://github.com/tbaccata/amica.git cd amica docker build -t amica .

download latest version and install it (for debian based systems)

wget https://www.shinyproxy.io/downloads/shinyproxy_2.5.0_amd64.deb sudo dpkg -i shinyproxy_2.5.0_amd64.deb

enable system process

sudo systemctl enable shinyproxy

Add amica into specs part of the server /etc/shinyproxy/application.yml:

In this file you can also specify the port for shinyproxy.

specs:



## Used libraries and ressources

- (Differential expression analysis) limma: Ritchie, Matthew E., et al. "limma powers differential expression analyses for RNA-sequencing and microarray studies." Nucleic acids research 43.7 (2015): e47-e47.
- (Differential expression analysis) DEqMS: Zhu, Yafeng, et al. "DEqMS: a method for accurate variance estimation in differential protein expression analysis." Molecular & Cellular Proteomics 19.6 (2020): 1047-1057.
- (ORA) gprofiler2: Raudvere, Uku, et al. "g: Profiler: a web server for functional enrichment analysis and conversions of gene lists (2019 update)." Nucleic acids research 47.W1 (2019): W191-W198.
- (PPI Networks) IntAct: Orchard, Sandra, et al. "The MIntAct project—IntAct as a common curation platform for 11 molecular interaction databases." Nucleic acids research 42.D1 (2014): D358-D363.
- (Subcell. localization) Human CellMap: Go, Christopher D., et al. "A proximity-dependent biotinylation map of a human cell." Nature (2021): 1-5.
- (Heatmaply) heatmaply: Galili, Tal, et al. "heatmaply: an R package for creating interactive cluster heatmaps for online publishing." Bioinformatics 34.9 (2018): 1600-1602.