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.0a5.tar.gz (45.5 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.0a5-py3-none-any.whl (45.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mbctools-2.0.0a5.tar.gz
  • Upload date:
  • Size: 45.5 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.0a5.tar.gz
Algorithm Hash digest
SHA256 cd72482a12897ec88484083f2bfeb8bc4d4efb57c4e4b3e2077e5211a99a56e9
MD5 2a1d2a252e3bdd1cdc95cccf69cce460
BLAKE2b-256 a158c57c52ceee081c8e3f540b4b1b979d6a9e42a4a07b00bd5c5d2271b6bcfd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbctools-2.0.0a5-py3-none-any.whl
  • Upload date:
  • Size: 45.9 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.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 911d698995a4acc6c1740b8c71a9ae037ff3a269db53e86168f61c9c71bd776d
MD5 219594c306b8b6d1608c034af17bcd8c
BLAKE2b-256 af568870807f14d571da2af47aee1fa96454bcd0fb18909ec1f1bba8e0bfe92f

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