Skip to content

Latest commit

 

History

History
46 lines (29 loc) · 3.92 KB

README.md

File metadata and controls

46 lines (29 loc) · 3.92 KB

Welcome to the BioMate

BioMate represents a collection of scripts and utility tools for everyday processing of biological data, conveniently gathered into a single Python package.

To check the package information and available sub-commands, you can run biomate --help.

Available tools

  • Blabber - FASTA, FASTQ or plain text sequence generator. It can be used to re-generate a demultiplexed flowcell folder using a sample sheet as input.
  • Dirstruct - Extract or create a directory structure. It can be used to simulate nested folder structures for testing purposes.
  • Indexer - Indexing tool for FASTA/FASTQ files. It can be used to search for expected indexes and get 'fuzzy' information.
  • FastRewind - Convert a demultiplexed folder back into the Illumina NovaSeqXPlus output. It can be used to generate a subset for demultiplex testing.
  • Nspector - Inspect FASTQ files for N-base content and their distribution across flowcell tiles and sequencing cycles.
  • Strainer - Evaluate index mixing across flowcell lanes by identifying sample indexes from one lane appearing in undetermined reads of another.
  • Waif - Report the barcodes that remain undetermined in every demultiplexing run of a lane, with an estimated read count.

General options

In addition to the --version option, which prints the current version of the BioMate package, the following options can be provided before any sub-command (e.g. biomate <OPTION> <SUBCOMMAND>), and they will be propagated to the sub-command execution:

  • --verbose: Increase verbosity of the output by setting the logging level to DEBUG. This will print additional information about the execution of the sub-command.
  • --quiet: Decrease verbosity of the output by setting the logging level to ERROR. This will suppress most of the output, only printing errors.

Note: By default, the logging level is set to INFO, which will print general information about the execution of the sub-command, but not the detailed debug information.

Important: In some cases (e.g. when the output will be printed to the standard output), the --quiet option will be applied automatically to avoid cluttering the output with unnecessary information. In such cases, the logging level will be set to ERROR regardless of the --verbose or --quiet options.

External dependencies

BCL-convert

The demultiplexing test recipes (e.g. make test_mix) require the Illumina BCL-convert executable. BCL-convert is a proprietary Illumina tool whose redistribution is prohibited, so it is not included in this repository. To use it:

  1. Download BCL-convert from the Illumina website and accept the license terms.
  2. Place the bcl-convert executable in the assets/ directory of this repository, i.e. as assets/bcl-convert.
  3. The file is listed in .gitignore and must never be committed.

The Makefile looks for the executable at assets/bcl-convert by default. If the tool is installed elsewhere, set the BCLCONVERT variable to its full path (e.g. make BCLCONVERT=/full/path/to/bcl-convert test_mix).

BCL-convert opens thousands of BCL and filter files in parallel, so it needs a high open-file (nofile) limit. The Makefile raises the soft limit to BCLCONVERT_NOFILE (default 65535) in the same shell that runs BCL-convert, and aborts with an actionable error if the resulting limit is below BCLCONVERT_MIN_NOFILE (default 4096). If your session cannot reach that minimum (for example, when the hard limit is 1024), raise it before running the recipes:

ulimit -Sn 65535

or add a nofile entry to /etc/security/limits.conf. Otherwise BCL-convert aborts in strict mode with a misleading Missing ... file error.