Skip to main content

mbctools: A User-Friendly Metabarcoding and Cross-Platform Pipeline for Analyzing Multiple Amplicon Sequencing Data across a Large Diversity of Organisms

Project description

mbctools

This crossplatform (Linux, OSX, Windows) Python program is a toolkit to make the use of VSEARCH easier and interactive, helping to analyze your Metabarcoding NGS data in best conditions. It features the following MAIN MENU:

1 -> INITIAL ANALYSIS (mandatory): read merging, sample-level dereplication, sequence clustering,
	chimera detection, affiliation of sequences to loci, and sequence re-orientation

2 -> PRIMER REMOVAL AND SELECTION OF MINIMUM SEQUENCE ABUNDANCE LEVELS ACCORDING TO USER-DEFINED THRESHOLDS

3 -> GENERATION OF A UNIQUE SEQUENCE FILE FOR EACH LOCUS (comprising all samples' data)

4 -> EXPORTING ANALYSIS RESULTS INTO metaXplor and MIAN FORMATS

mbctools reference:

Christian Barnabé†, Guilhem Sempéré†, Vincent Manzanilla, Joel Moo Millan, Antoine Amblard-Rambert and Etienne Waleckx (†Co–first authors). mbctools: A User-Friendly Metabarcoding and Cross-Platform Pipeline for Analyzing Multiple Amplicon Sequencing Data across a Large Diversity of Organisms. bioRxiv doi: https://doi.org/10.1101/2024.02.08.579441

VSEARCH reference:

Rognes T, Flouri T, Nichols B, Quince C, Mahe F (2016). VSEARCH: a versatile open source tool for metagenomics. PeerJ 4:e2584 doi: 10.7717/peerj.2584 https://doi.org/10.7717/peerj.2584

metaXplor reference:

Guilhem Sempéré, Adrien Pétel, Magsen Abbé, Pierre Lefeuvre, Philippe Roumagnac, Frédéric Mahé, Gaël Baurens, Denis Filloux. metaXplor: an interactive viral and microbial metagenomic data manager. GigaScience, Volume 10, Issue 2, February 2021, giab001, https://doi.org/10.1093/gigascience/giab001


Requirements

  • Python v3.7 or higher
  • VSEARCH v2.19.0 or higher must be installed and accessible in the PATH (binaries for all platforms available at https://github.com/torognes/vsearch, along with installation procedure descriptions)
  • Windows users will need to enable Powershell script execution using the Set-ExecutionPolicy command

Procedure for Windows setup

  • Download and install latest Python3 release from https://www.python.org/downloads/ (simplest way is to use the 64-bit installer). Don't forget to tick the "Add python.exe to PATH" checkbox before launching setup

  • Download and unzip latest VSEARCH release from https://github.com/torognes/vsearch/releases

  • Locate the path to the vsearch.exe executable (e.g., C:\Users<UserName>\Downloads\vsearch-2.28.1-win-x86_64) and add it to the PATH environment variable as follows:

    • Press Win + R, type sysdm.cpl, and press Enter
    • In the Advanced system settings tab, click Environment Variables
    • Find the Path environment variable and select it. Click Edit
    • In the Edit System Variable window, add an entry pointing to the location of vsearch.exe (not including the file name, only its full path). Click OK until all windows disappear
  • Open a command prompt and type "pip install mbctools"

You should then be able to launch mbctools directly from the command prompt or Powershell, by typing "mbctools".


Test data

Test data are available at https://doi.org/10.23708/W3TODJ and may be used as a guidance example


Getting started

Once VSEARCH + mbctools are installed and accessible from the PATH, and .txt files pointing to the data have been edited, entering the "mbctools" command from a console is normally enough to launch the program. If you did not use pip to install mbctools and directly downloaded mbctools.py from the source code repository, may have have to try different commands like "./mbctools.py", "python mbctools.py" or "python3 mbctools.py"


Releasing to PyPI

The release script performs all release steps with a single command:

  • reads version dynamically from mbctools.py (__version__)
  • builds and checks package artifacts
  • creates matching git tag (v<version>) if needed
  • pushes branch and tag to git remote
  • uploads to PyPI
chmod +x scripts/release_pypi.sh
export TWINE_USERNAME=__token__
export TWINE_PASSWORD='pypi-<YOUR_REAL_PYPI_TOKEN>'
./scripts/release_pypi.sh

The script enforces a clean git working tree and always performs git push before PyPI upload.

Versioning rules

  • Use PEP 440 versions directly in mbctools.py (for example: 2.0.0a0, 2.0.0b1, 2.0.0rc1, 2.0.0).
  • Keep the same version in git tags and PyPI uploads.

User installation and launch

# install latest stable
python -m pip install mbctools

# install a specific pre-release
python -m pip install mbctools==2.0.0a0

# or install the latest available pre-release
python -m pip install --pre mbctools

# run with either command
mbctools
python -m mbctools

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mbctools-2.0.0a4.tar.gz (40.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mbctools-2.0.0a4-py3-none-any.whl (40.7 kB view details)

Uploaded Python 3

File details

Details for the file mbctools-2.0.0a4.tar.gz.

File metadata

  • Download URL: mbctools-2.0.0a4.tar.gz
  • Upload date:
  • Size: 40.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for mbctools-2.0.0a4.tar.gz
Algorithm Hash digest
SHA256 b1078adbe33b718e5811e99205f49b3c3aa3ad758618c55c4bb515f0497ced03
MD5 3ebd6d6efbdc41b5ec11321ea5e7a692
BLAKE2b-256 3b3dcb191fa473fbdcc182b49bfd7afb5d384e2a9bb7a4c3e847880c4218ee8b

See more details on using hashes here.

File details

Details for the file mbctools-2.0.0a4-py3-none-any.whl.

File metadata

  • Download URL: mbctools-2.0.0a4-py3-none-any.whl
  • Upload date:
  • Size: 40.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for mbctools-2.0.0a4-py3-none-any.whl
Algorithm Hash digest
SHA256 fb2defde8466982da8f4ee07fef322c2836bfecf762d374d5456e6ef21ebe948
MD5 7dc53502be12b2545d1688ebc039b86a
BLAKE2b-256 c6e2336a67394668c2fd1cbcb72f2139d6c80e4496262fd77937148ac2c9bd1a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page