microbiome - functional annotation of sequencing reads
A super-fast ( < 20min/10GB of reads ) and accurate ( > 90% precision ) method for annotation of molecular functionality encoded in sequencing read data without the need for assembly or gene finding.
- Python 3.x
- DIAMOND >= 0.8.8 (sources: https://github.com/bbuchfink/diamond)
Note: mi-faser was developed and optimized using DIAMOND v0.8.8, which is included in the current release. According to the authors, more recent versions of DIAMOND offer substantial improvements regarding speed and memory usage as well as bugfixes. Thus, we strongly recommend to always use the latest version of DIAMOND (see Section: DIAMOND upgrade). This might alter mi-faser results slightly. However, results are expected to be enriched by new correct annotations rather than introducing mis-annotations.
To process fastq(fq) input files the SeqIO module of the biopython package (http://biopython.org) has to be available in your python environment.
Note that it is recommended to download and compile DIAMOND locally (https://github.com/bbuchfink/diamond) as this might have a significant impact on performance (due to special CPU instructions). However, this repository includes a pre-compiled version of DIAMOND to use.
Open a terminal and checkout the mi-faser repository:
git clone https://email@example.com/bromberglab/mifaser_base.git
or download the zipped version:
curl --remote-name https://bitbucket.org/bromberglab/mifaser_base/get/master.zip unzip master.zip
Navigate to the mifaser_base directory and run mi-faser (only required parameter is a valid input-file):
$ python mifaser.py -f/--inputfile <INPUT_FILE>
[-s/--split <SPLIT_SIZE>] defaults to 100k; use *-s 0* to force no split [-o/--outputfolder <OUTPUT_FOLDER>] defaults to *<INPUT_FILE_NAME>_out* [-b/--binariesfolder <BINARIES_FOLDER>] defaults to *./binaries* [-d/--databasefolder <DATABASE_FOLDER>] defaults to *./database* [-i/--diamondfolder <DIAMOND_FOLDER>] defaults to *./diamond*
As DIAMOND (https://github.com/bbuchfink/diamond) is still under development, we provide an easy way to upgrade (or downgrade) to another version. In case a specific version of DIAMOND is given as parameter, this version will be automatically downloaded and installed. If no specific version is supplied, the latest release is used.
$ mifaser_base/diamond/update.sh [<DIAMOND_VERSION>]