OBITools3
: A package for the management of analyses and data in DNA metabarcoding
The About the OBITools3
Notes
The OBITools3 are still in beta. They work on OSX and Linux systems, and should work on the Windows Subsystem for Linux soon. If you encounter bugs or want to request a feature, you can do so in issues or by sending an email at celine.mercier@metabarcoding.org. You can also see incoming features in the issues.
Tutorial
Tutorial using most commands: Wolf tutorial
Installing the OBITools3
The OBITools3 are now available to download from git, and will soon be on Nix (pull request).
Requirements: python3, python3-venv, git, CMake
Then you can do:
git clone https://git.metabarcoding.org/obitools/obitools3.git
cd obitools3
python3 -m venv obi3-env
. obi3-env/bin/activate
pip install cython
python3 setup.py install
. obi_completion_script.sh
And test the installation with:
obi test
The OBITools3 data structure
The OBITools3 rely on an ad hoc database system, inside which all the data that a DNA metabarcoding experiment must consider is stored: the sequences, the metadata (describing for instance the samples), the database containing the reference sequences used for the taxonomic annotation, as well as the taxonomic databases.
DNA metabarcoding data can easily be represented in the form of tables, and each command can be regarded as an operation transforming one or several 'input' tables into one or several 'output' tables, which can be used by the next command.
The new database system used by the OBITools3 (called DMS for Data Management System) relies on column-oriented storage. Each column contains a data element, and several columns can be assembled in views representing the data tables (equivalent to a fasta file).
The OBITools3 syntax
-
Basic syntax:
obi command [options] input_URI output_URI
-
A URI (Uniform Resource Identifier) is a simple way to identify the input and output of a command. For a file, it's simply the path to the file. For a view, it can be the path to the view file in the DMS:
path_to_my_dms.obidms/VIEWS/my_view.obiview
Or a simplified version:
path_to_my_dms/my_view
Any hybrid of those 2 works too.
-
View names must be unique within a DMS, in other words, views can not be overwritten.
-
All tools accept different input and output DMS.
-
If the output DMS is not given, the input DMS is used.
-
For a taxonomy, both those and their hybrids work:
path_to_my_dms.obidms/TAXONOMY/my_taxonomy path_to_my_dms/taxonomy/my_taxonomy
-
obi -h
gives a list of all the commands. -
obi command -h
prints the help of the command. -
obi --version
prints the version of the OBITools3 installed. -
Autocompletion of commands and views is available (by pressing tab after 'obi')