Giter Club home page Giter Club logo

samba's Introduction

SAMBA: Standardized and Automated MetaBarcoding Analyses workflow.

SAMBA version Nextflow Run with with conda Run with docker Run with with singularity SeBiMER Docker

[DEPRECATED] Now use the samba v4 version : https://gitlab.ifremer.fr/bioinfo/workflows/samba

Introduction

SAMBA is a FAIR scalable workflow integrating, into a unique tool, state-of-the-art bioinformatics and statistical methods to conduct reproducible eDNA analyses using Nextflow. SAMBA starts processing by verifying integrity of raw reads and metadata. Then all bioinformatics processing is done using commonly used procedure (QIIME 2 and DADA2) but adds new steps relying on dbOTU3 and microDecon to build high quality ASV count tables. Extended statistical analyses are also performed. Finally, SAMBA produces a full dynamic HTML report including resources used, commands executed, intermediate results, statistical analyses and figures.

The SAMBA pipeline can run tasks across multiple compute infrastructures in a very portable manner. It comes with singularity containers making installation trivial and results highly reproducible.

Quick Start

i. Install nextflow

ii. Install either Docker or Singularity for full pipeline reproducibility (please only use Conda as a last resort)

iii. Download the pipeline and test it on a minimal dataset with a single command

  • for short reads test :
nextflow run main.nf -profile shortreadstest,<docker/singularity/conda>
  • for long reads test :
nextflow run main.nf -profile longreadstest,<docker/singularity/conda>

To use samba on a computing cluster, it is necessary to provide a configuration file for your system. For some institutes, this one already exists and is referenced on nf-core/configs. If so, you can simply download your institute custom config file and simply use -c <institute_config_file> in your command. This will enable either docker or singularity and set the appropriate execution settings for your local compute environment.

iv. Start running your own analysis!

nextflow run main.nf -profile <docker/singularity/conda>,custom [-c <institute_config_file>]

See usage docs for a complete description of all of the options available when running the pipeline.

Documentation

The samba workflow comes with documentation about the pipeline, found in the docs/ directory:

  1. Introduction
  2. Pipeline installation
  3. Running the pipeline
  4. Output and how to interpret the results
  5. Troubleshooting

Here is an overview of the many steps available in samba pipeline:

SAMBA Workflow

At the end of samba pipeline execution, you get an interactive HTML report that's look like this one:

SAMBA report

Full report description is available in samba pipeline documentation.

Credits

samba is written by SeBiMER, the Bioinformatics Core Facility of IFREMER.

Contributions

We welcome contributions to the pipeline. If such case you can do one of the following:

  • Use issues to submit your questions
  • Fork the project, do your developments and submit a pull request
  • Contact us (see email below)

Support

For further information or help, don't hesitate to get in touch with the samba developpers:

samba email

Citation

References

References databases (SILVA v132, PR2, UNITE) are available on IFREMER FTP at ftp://ftp.ifremer.fr/ifremer/dataref/bioinfo/sebimer/sequence-set/SAMBA/2019.10.

Training dataset used from [Qiime2 Tutorial] (https://docs.qiime2.org/2019.7/tutorials/atacama-soils), associated publication.

samba's People

Contributors

alexcorm avatar cnoel-sebimer avatar laure182 avatar lleroi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

samba's Issues

Samba long read

Hello,
Samba-LR does LCA only if there are several mapping hits with the same score but if there is only one hit it gives the species of the hit as identification even if there is only 80% identity and that is a problem I think ... so in the output it would be best to have an assignment score or a LCA corresponding to the percentage of identity of the hit. Would it be possible to implement this in Samba for next release?
Best,
Germain

testmanifest issue

Hi,

I'm getting the following issue when runing:

nextflow run main.nf -profile shortreadstest,singularity

May-13 20:12:38.785 [main] DEBUG nextflow.cli.Launcher - $> nextflow run main.nf -profile shortreadstest,singularity
May-13 20:12:38.886 [main] INFO nextflow.cli.CmdRun - N E X T F L O W ~ version 23.04.1
May-13 20:12:38.913 [main] DEBUG nextflow.plugin.PluginsFacade - Setting up plugin manager > mode=prod; embedded=false; plugins-dir=/home/tweber/.nextflow/plugins; core-plugins: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]
May-13 20:12:38.928 [main] INFO org.pf4j.DefaultPluginStatusProvider - Enabled plugins: []
May-13 20:12:38.929 [main] INFO org.pf4j.DefaultPluginStatusProvider - Disabled plugins: []
May-13 20:12:38.934 [main] INFO org.pf4j.DefaultPluginManager - PF4J version 3.4.1 in 'deployment' mode
May-13 20:12:38.952 [main] INFO org.pf4j.AbstractPluginManager - No plugins
May-13 20:12:38.974 [main] DEBUG nextflow.config.ConfigBuilder - Found config local: /g/korbel2/weber/workspace/nextflow-samba/samba/nextflow.config
May-13 20:12:38.975 [main] DEBUG nextflow.config.ConfigBuilder - Parsing config file: /g/korbel2/weber/workspace/nextflow-samba/samba/nextflow.config
May-13 20:12:39.002 [main] DEBUG nextflow.config.ConfigBuilder - Applying config profile: shortreadstest,singularity
May-13 20:12:40.559 [main] DEBUG nextflow.config.ConfigBuilder - Available config profiles: [custom, conda, longreadstest, singularity, shortreadstest, docker]
May-13 20:12:40.634 [main] DEBUG nextflow.cli.CmdRun - Applied DSL=2 by global default
May-13 20:12:40.669 [main] INFO nextflow.cli.CmdRun - Launching main.nf [pensive_faggin] DSL2 - revision: 435bd2eede
May-13 20:12:40.669 [main] DEBUG nextflow.plugin.PluginsFacade - Plugins default=[]
May-13 20:12:40.669 [main] DEBUG nextflow.plugin.PluginsFacade - Plugins resolved requirement=[]
May-13 20:12:40.681 [main] DEBUG nextflow.secret.LocalSecretsProvider - Secrets store: /home/tweber/.nextflow/secrets/store.json
May-13 20:12:40.685 [main] DEBUG nextflow.secret.SecretsLoader - Discovered secrets providers: [nextflow.secret.LocalSecretsProvider@2a334bac] - activable => nextflow.secret.LocalSecretsProvider@2a334bac
May-13 20:12:40.753 [main] DEBUG nextflow.Session - Session UUID: 67fbece7-36f9-4ca5-9d09-2e721c0c01c8
May-13 20:12:40.753 [main] DEBUG nextflow.Session - Run name: pensive_faggin
May-13 20:12:40.754 [main] DEBUG nextflow.Session - Executor pool size: 128
May-13 20:12:40.768 [main] DEBUG nextflow.util.ThreadPoolBuilder - Creating thread pool 'FileTransfer' minSize=10; maxSize=384; workQueue=LinkedBlockingQueue[10000]; allowCoreThreadTimeout=false
May-13 20:12:40.809 [main] DEBUG nextflow.cli.CmdRun -
Version: 23.04.1 build 5866
Created: 15-04-2023 06:51 UTC (08:51 CEST)
System: Linux 4.18.0-425.3.1.el8.x86_64
Runtime: Groovy 3.0.16 on OpenJDK 64-Bit Server VM 17.0.3-internal+0-adhoc..src
Encoding: UTF-8 (UTF-8)
Process: [email protected] [10.11.8.232]
CPUs: 128 - Mem: 2 TB (349.9 GB) - Swap: 4 GB (0)
May-13 20:12:40.903 [main] DEBUG nextflow.Session - Work-dir: /g/korbel2/weber/workspace/nextflow-samba/samba/work/training_shortreads [nfs]
May-13 20:12:40.937 [main] DEBUG nextflow.executor.ExecutorFactory - Extension executors providers=[]
May-13 20:12:40.949 [main] DEBUG nextflow.Session - Observer factory: DefaultObserverFactory
May-13 20:12:41.059 [main] DEBUG nextflow.cache.CacheFactory - Using Nextflow cache factory: nextflow.cache.DefaultCacheFactory
May-13 20:12:41.077 [main] DEBUG nextflow.util.CustomThreadPool - Creating default thread pool > poolSize: 129; maxThreads: 1000
May-13 20:12:41.179 [main] DEBUG nextflow.Session - Session start
May-13 20:12:41.185 [main] DEBUG nextflow.trace.TraceFileObserver - Workflow started -- trace file: /g/korbel2/weber/workspace/nextflow-samba/samba/results/training_shortreads/pipeline_info/trace.tsv
May-13 20:12:44.903 [main] DEBUG nextflow.script.ScriptRunner - > Launching execution
May-13 20:12:45.012 [main] INFO nextflow.Nextflow - ----------------------------------------------------
__ __ __ . __ __
\ |_ |) | |/| |_ |)
\ | |) | | | | | \

samba v3.1.0: Standardized and Automated MetaBarcoding Analyses workflow

May-13 20:12:45.019 [main] INFO nextflow.Nextflow - Run Name : pensive_faggin
Project Name : training_shortreads
Manifest File : /g/korbel2/weber/workspace/nextflow-samba/samba/training_dataset/shortreads/q2_manifest
Metadata File : /g/korbel2/weber/workspace/nextflow-samba/samba/training_dataset/shortreads/q2_metadata
Data Type : Paired-End
Container : singularity
Output dir : /g/korbel2/weber/workspace/nextflow-samba/samba/results/training_shortreads
Launch dir : /g/korbel2/weber/workspace/nextflow-samba/samba
Working dir : /g/korbel2/weber/workspace/nextflow-samba/samba/work/training_shortreads
Script dir : /g/korbel2/weber/workspace/nextflow-samba/samba
User : tweber
Config Profile : shortreadstest,singularity
Data integrity : Data integrity checking process enabled
Primer removal : Primer removal process enabled
Clustering : Distribution based-clustering process enabled
Decontamination : Sample decontamination process enabled
Prediction : Functionnal prediction process enabled
Ancom : Differential abundance ANCOM analysis process enabled
Alpha div : Alpha diversity indexes process enabled
Beta div : Beta diversity statistics processes enabled
Desc comp : Descriptive comparisons statistics process enabled
May-13 20:12:45.020 [main] INFO nextflow.Nextflow - ----------------------------------------------------
May-13 20:12:45.112 [main] DEBUG nextflow.Session - Session aborted -- Cause: No such property: testmanifest for class: Script_836238c5
May-13 20:12:45.136 [main] DEBUG nextflow.Session - The following nodes are still active:
[operator] map
[operator] reduce
[operator] map

May-13 20:12:45.162 [main] ERROR nextflow.cli.Launcher - @unknown
groovy.lang.MissingPropertyException: No such property: testmanifest for class: Script_836238c5
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:65)
at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:341)
at Script_836238c5.runScript(Script_836238c5:437)
at nextflow.script.BaseScript.run0(BaseScript.groovy:145)
at nextflow.script.BaseScript.run(BaseScript.groovy:192)
at nextflow.script.ScriptParser.runScript(ScriptParser.groovy:229)
at nextflow.script.ScriptRunner.run(ScriptRunner.groovy:224)
at nextflow.script.ScriptRunner.execute(ScriptRunner.groovy:130)
at nextflow.cli.CmdRun.run(CmdRun.groovy:368)
at nextflow.cli.Launcher.run(Launcher.groovy:494)
at nextflow.cli.Launcher.main(Launcher.groovy:653)


Config:

N E X T F L O W ~ version 23.04.1
Launching main.nf [pensive_faggin] DSL2 - revision: 435bd2eede

samba disappeared from nf-core ?

Upon following the instructions, it seems that samba has disappeared from the nextflow core, is that correct?

$ nextflow run nf-core/samba -profile test,singularity
N E X T F L O W ~ version 20.10.0
Pulling nf-core/samba ...
WARN: Cannot read project manifest -- Cause: Remote resource not found: https://api.github.com/repos/nf-core/samba/contents/nextflow.config
Remote resource not found: https://api.github.com/repos/nf-core/samba/contents/main.nf

Is there a proposed alternative?

Samba LR doc

Hello,
When use longreads = true parameter to activate Samba LR it is necessary to deactivate many short-reads specific option. It would be useful to have a list of option needed to be deactivated when running Samba LR.
Best
Germain

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.