Coder Social home page Coder Social logo

aghozlane / shaman Goto Github PK

View Code? Open in Web Editor NEW
13.0 3.0 8.0 33.12 MB

SHAMAN is a SHiny application for Metagenomic ANalysis including a bioinformatic workflow, the statistical analysis and multiple visualization.

Home Page: http://shaman.pasteur.fr/

License: GNU General Public License v3.0

JavaScript 17.41% R 61.04% HTML 20.58% CSS 0.65% Dockerfile 0.27% Shell 0.05%
metagenomics differential-analysis visualization

shaman's Introduction

SHAMAN: a SHiny Application for Metagenomics ANalysis

Amine Ghozlane ([email protected]) (@xealf8) Stevenn Volant ([email protected])

Contents

Introduction

SHAMAN is a shiny application for differential analysis of metagenomic data (16S, 18S, 23S, 28S, ITS and WGS) including bioinformatics treatment of raw reads for targeted metagenomics, statistical analysis and results visualization with a large variety of plots (barplot, boxplot, heatmap, …).
The bioinformatics treatment is based on Vsearch [Rognes 2016] which showed to be both accurate and fast [Wescott 2015].The statistical analysis is based on DESeq2 R package [Anders and Huber 2010] which robustly identifies the differential abundant features as suggested in [McMurdie and Holmes 2014] and [Jonsson2016]. SHAMAN robustly identifies the differential abundant genera with the Generalized Linear Model implemented in DESeq2 [Love 2014].
SHAMAN is compatible with standard formats for metagenomic analysis (.csv, .tsv, .biom) and figures can be downloaded in several formats. A presentation about SHAMAN is available here and a poster here. Hereafter is the global workflow of the SHAMAN application:

Installation

SHAMAN is available for R 3.6.2. Here are different ways to install the application:

Docker install

Docker install is the easiest way to use SHAMAN locally. First, install docker:

Now in your terminal:

docker pull aghozlane/shaman && docker run --rm -p 80:80 -p 5438:5438 aghozlane/shaman

Then connect to http://localhost/ or http://0.0.0.0/ with your favorite web navigator. Failed: port is already allocated ?

docker run --rm -p 3838:80 -p 5438:5438 aghozlane/shaman

Then connect to http://localhost:3838/ or http://0.0.0.0:3838/. Docker update after an update of SHAMAN:

docker pull aghozlane/shaman

R install with packrat (linux only)

SHAMAN is available for R=3.6.2. Packrat framework allows an easy installation of all the dependencies. Of note, raw data submission is not possible with this version.

# Download packrat package
wget https://zenodo.org/record/7418309/files/shaman_package_202204.tar.gz
mkdir packrat/

Now you can run R:

install.packages("renv")
renv::restore(project="./")
system("Rscript -e 'shiny::runGitHub("pierreLec/KronaRShy",port=5438)'",wait=FALSE),
shiny::runGitHub('aghozlane/shaman')

R install (deprecated)

R install will require Gfortran on mac (https://cran.r-project.org/bin/macosx/tools/) and Rtools on windows (https://cran.r-project.org/bin/windows/Rtools/index.html). Of note, raw data submission is not possible with this version.The installation, download and execution can all be performed with a small R script :

# Load shiny packages
if(!require('shiny')){
 install.packages('shiny')
 library(shiny)
}

# Install dependencies, download last version of SHAMAN from github and run shaman in one command :
runGitHub('aghozlane/shaman')

This script can also be executed as following :

chmod +x ./shaman/www/shaman.R && Rscript ./shaman/www/shaman.R

CONDA (deprecated)

Conda installation of SHAMAN is available for linux and mac. It can be performed as follow:

# Download and install SHAMAN
conda install -c aghozlane shaman
# Now run shaman
shaman_conda.R

Then connect to http://localhost/ or http://0.0.0.0/.

Citation

If you use SHAMAN for your project, please cite the following publication:
SHAMAN: a user-friendly website for metataxonomic analysis from raw reads to statistical analysis Volant S, Lechat P, Woringer P, Motreff L, Campagne P, Malabat C, Kennedy S, Ghozlane A; BMC Bioinformatics 2020 Aug 10;21(1):345. PUBMED
Publication using SHAMAN :

  • Prediction of the intestinal resistome by a three-dimensional structure-based method, Ruppé E, Ghozlane A, Tap J, et al.;Nature microbiology 2018 PUBMED
  • Combined bacterial and fungal intestinal microbiota analyses: Impact of storage conditions and DNA extraction protocols, Angebault C, Ghozlane A, Volant S, Botterel F, d’Enfert C, Bougnoux ME, PloS one 2018 PUBMED
  • Clinical Efficacy and Microbiome Changes Following Fecal Microbiota Transplantation in Children With Recurrent Clostridium Difficile Infection, Li X, Gao X, Hu H, Xiao Y, Li D, Yu G, Yu D, Zhang T, Wang Y, Frontiers in Microbiology PUBMED
  • Diverse laboratory colonies of Aedes aegypti harbor the same adult midgut bacterial microbiome. Dickson LB, Ghozlane A, Volant S, Bouchier C, Ma L, Vega-Rúa A, Dusfour I, Jiolle D, Paupy C, Mayanja MN, Kohl A, Lutwama JJ, Duong V, Lambrechts L; Parasit Vectors 2018 PUBMED.
  • Characteristics of Fecal Microbiota in Pediatric Crohn’s Disease and Their Dynamic Changes During Infliximab Therapy., Wang Y, Gao X, Ghozlane A, Hu H, Li X, Xiao Y, Li D, Yu G, Zhang T; Journal of Crohn's & colitis 2017 PUBMED
  • Carryover effects of larval exposure to different environmental bacteria drive adult trait variation in a mosquito vector, Dickson LB, Jiolle D, Minard G, Moltini-Conclois I, Volant S, Ghozlane A, Bouchier C, Ayala D, Paupy C, Moro CV, Lambrechts L; Science Advances 2017 PUBMED
  • A bacteriocin from epidemic Listeria strains alters the host intestinal microbiota to favor infection. Quereda JJ, Dussurget O, Nahori MA, Ghozlane A, Volant S, Dillies MA, Regnault B, Kennedy S, Mondot S, Villoing B, Cossart P, Pizarro-Cerda J.; PNAS 2016 PUBMED.

If you have any comments, questions or suggestions, or need help to use SHAMAN, contact us at [email protected], and provide us with enough information that we can recreate the problem. Useful things to include are:

  • Input data
  • Error message from SHAMAN
  • Key number

Contact

If you have any comments, questions or suggestions, or need help to use SHAMAN, please contact authors here.

Acknowledgements

The main contributors to SHAMAN: Amine Ghozlane (Maintainer, coding, testing, documentation, evaluation, packaging), Stevenn Volant (Initiator, coding, testing, documentation, evaluation), Perrine Woringer (Coding, testing, documentation, feature suggestions), Zakary Azmani (Coding, testing, documentation, feature suggestions), Pierre Lechat (Coding, testing, feature suggestions)

Thanks to the following people for patches and other suggestions for improvements:
Carine Rey, Valentin Marcon, Hugo Varet, Julien Tap, Anna Zhukova

shaman's People

Contributors

aghozlane avatar plechat avatar svolant avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

shaman's Issues

Installation issue

Hi, I'm trying to install shaman on R 3.6.1 using the code provided:

Load shiny packages

if(!require('shiny')){
install.packages('shiny')
library(shiny)
}

Install dependencies, download last version of SHAMAN from github and run shaman in one command :

runGitHub('aghozlane/shaman')

and I get a lot of warning messages but ultimately R studio says this:

runGitHub('aghozlane/shaman')
Downloading https://github.com/aghozlane/shaman/archive/master.tar.gz
Loading required package: DESeq2shaman
Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called ‘DESeq2shaman’
Downloading GitHub repo aghozlane/DESeq2shaman@master
✔ checking for file ‘/private/var/folders/_s/s02mpvvn6_7494rb08sycqgr0000gp/T/RtmpmMteBC/remotesf622370c5c16/aghozlane-DESeq2shaman-282594b/DESCRIPTION’
─ preparing ‘DESeq2shaman’:
✔ checking DESCRIPTION meta-information ...
─ cleaning src
✔ checking vignette meta-information
─ checking for LF line-endings in source and make files and shell scripts
─ checking for empty or unneeded directories
─ building ‘DESeq2shaman_1.6.3.tar.gz’

  • installing source package ‘DESeq2shaman’ ...
    ** using staged installation
    ** libs
    #lists libraries#
    clang++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include" -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/RcppArmadillo/include" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fPIC -Wall -g -O2 -c RcppExports.cpp -o RcppExports.o
    clang++ -std=gnu++11 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o DESeq2shaman.so DESeq2.o RcppExports.o -L/Library/Frameworks/R.framework/Resources/lib -lRlapack -L/Library/Frameworks/R.framework/Resources/lib -lRblas -L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin15/6.1.0 -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
    ld: warning: directory not found for option '-L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin15/6.1.0'
    ld: warning: directory not found for option '-L/usr/local/gfortran/lib'
    ld: library not found for -lgfortran
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    make: *** [DESeq2shaman.so] Error 1
    ERROR: compilation failed for package ‘DESeq2shaman’
  • removing ‘/Library/Frameworks/R.framework/Versions/3.6/Resources/library/DESeq2shaman’
    Error: Failed to install 'DESeq2shaman' from GitHub:
    (converted from warning) installation of package ‘/var/folders/_s/s02mpvvn6_7494rb08sycqgr0000gp/T//RtmpmMteBC/filef622c71c496/DESeq2shaman_1.6.3.tar.gz’ had non-zero exit status

object 'exp_track_nm' not found in `shaman_score_hic_track()`

I finished gtrack.2d.import(), gdb.reload() and shaman_shuffle_hic_track() and everything is OK.
However, there is something wrong in shaman_score_hic_track() :

shaman_score_hic_track(
  track_db=groot, 
  work_dir=tempdir(),
  score_track_nm=score_track_name, 
  obs_track_nms=track_name,
  max_jobs= 3)

The error is:

Error in paste("Missing exp_track_nm (", exp_track_nm[!gtrack.exists(exp_track_nms)],  : 
  object 'exp_track_nm' not found

This error may indicate that something in the output of shaman_shuffle_hic_track() is missed.
I then checked /db/genome3d/hg38/tracks/, and that directory did not have something like exp_track_nm in fact. How could I fix this?

BTW, could I run this function like this ?

options(shaman.mc_support=1)
shaman_score_hic_track(
  track_db=groot, 
  work_dir=tempdir(),
  score_track_nm=score_track_name, 
  obs_track_nms=track_name,
  exp_track_nm=track_name,# same as obs_track_nms
  max_jobs= 3)

Thank you for your help!

Annotation file

Hi Amine! I was trying SHAMAN and I have a question. What's the expected format of the Annotation file? I'm working with a count table (tsv) but I do also have information about the taxonomy of each otu, I just don't know how to format it.

Hope you are fine, greetings from Uruguay!
Ignacio (Nacho)

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.