RiboDetector is a software developed to accurately yet rapidly detect and remove rRNA sequences from metagenomeic, metatranscriptomic, and ncRNA sequencing data. It was developed based on LSTMs and optimized for both GPU and CPU usage to achieve a 10 times on CPU and 50 times on a consumer GPU faster runtime compared to the current state-of-the-art software. Moreover, it is very accurate, with ~10 times fewer false classifications. Finally, it has a low level of bias towards any GO functional groups. It also demonstrates a remarkable generalization ability to detect novel rRNA sequences that are not in the training/reference data (divergence >10%).
docker pull dawnmy/ribodetector:[tagname]
The tagname 0.2.7-cpu is for CPU version only. If you don't have GPU available on the computer, installing CPU version is the right choice. The GPU version is 0.2.7, and it is large due to the inclusion of CUDA toolkit and other dependencies needed for GPU based computing.
Please read the readme in the Github repo: https://github.com/hzi-bifo/RiboDetector
Example You need to specify enough memory and shared memory used by the container and CUDA
docker run --memory=<64>G --shm-size <32>G --gpus all \
-v <your local data dir>:/vol/data --rm dawnmy/ribodetector:0.2.7 \
ribodetector -t 10 \
-l 100 \
-i /vol/data/reads.{1,2}.fq \
-e rrna \
--chunk_size 256 \
-o /vol/data/reads.nonrna.{1,2}.fq
Detailed arguments and options
usage: ribodetector [-h] [-c CONFIG] [-d DEVICEID] -l LEN -i [INPUT [INPUT ...]]
-o [OUTPUT [OUTPUT ...]] [-r [RRNA [RRNA ...]]] [-e {rrna,norrna,both,none}]
[-t THREADS] [-m MEMORY] [--chunk_size CHUNK_SIZE] [-v]
rRNA sequence detector
optional arguments:
-h, --help show this help message and exit
-c CONFIG, --config CONFIG
Path of config file
-d DEVICEID, --deviceid DEVICEID
Indices of GPUs to enable. Quotated comma-separated device ID numbers. (default: all)
-l LEN, --len LEN Sequencing read length. Note: the accuracy reduces for reads shorter than 40.
-i [INPUT [INPUT ...]], --input [INPUT [INPUT ...]]
Path of input sequence files (fasta and fastq), the second file will be considered
as second end if two files given.
-o [OUTPUT [OUTPUT ...]], --output [OUTPUT [OUTPUT ...]]
Path of the output sequence files after rRNAs removal (same number of files as input).
(Note: 2 times slower to write gz files)
-r [RRNA [RRNA ...]], --rrna [RRNA [RRNA ...]]
Path of the output sequence file of detected rRNAs (same number of files as input)
-e {rrna,norrna,both,none}, --ensure {rrna,norrna,both,none}
Ensure which classificaion has high confidence for paired end reads.
norrna: output only high confident non-rRNAs, the rest are clasified as rRNAs;
rrna: vice versa, only high confident rRNAs are classified as rRNA and the rest output as non-rRNAs;
both: both non-rRNA and rRNA prediction with high confidence;
none: give label based on the mean probability of read pair.
(Only applicable for paired end reads, discard the read pair when their predicitons are discordant)
-t THREADS, --threads THREADS
number of threads to use. (default: 10)
-m MEMORY, --memory MEMORY
amount (GB) of GPU RAM. (default: 12)
--chunk_size CHUNK_SIZE
Use this parameter when having low memory. Parsing the file in chunks.
Not needed when free RAM >=5 * your_file_size (uncompressed, sum of paired ends).
When chunk_size=256, memory=16 it will load 256 * 16 * 1024 reads each chunk (use ~20 GB for 100bp paired end).
-v, --version show program's version number and exit
The CPU mode do not have the -m option as in GPU mode, the other arguments and options keep the same.
Example
docker run -v <your local data dir>:/vol/data --rm dawnmy/ribodetector:0.2.7-cpu \
ribodetector_cpu -t 10 \
-l 100 \
-i /vol/data/reads.{1,2}.fq \
-e rrna \
--chunk_size 512 \
-o /vol/data/reads.nonrrna.{1,2}.fq
Content type
Image
Digest
sha256:cc7894547…
Size
2 GB
Last updated
about 4 years ago
docker pull dawnmy/ribodetector:0.2.7