URMAP, a new read mapping algorithm. URMAP is an order of magnitude faster than BWA with comparable accuracy on several validation tests. On a Genome in a Bottle (GIAB) variant calling test with 30× coverage 2×150 reads, URMAP achieves high accuracy (precision 0.998, sensitivity 0.982 and F-measure 0.990) with the strelka2 caller. However, GIAB reference variants are shown to be biased against repetitive regions which are difficult to map and may therefore pose an unrealistically easy challenge to read mappers and variant callers.
More at https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7320720/
Comments
map command
Maps unpaired reads to a reference genome. The reference genome is stored as a UFI file created by the make_ufi command. The original FASTA file for the reference is not needed.
Reads must be in FASTQ format or gzip-compressed FASTQ format. It is generally faster to use uncompressed reads because decompression is typically more expensive than the additional file i/o time required to read the larger uncompressed file.
Options
The FASTQ filename is specified following -map. Use "-" (minus sign) to get input from a pipe. If the reads are gzip-compressed, the filename must end in .gz. Piped input must be decompressed (you can always add gunzip to the pipe if needed).
The reference genome index filename is given by the -ufi option.
A filename for SAM format output is specified by -samout. Use /dev/stdout or "-" (minus sign) if you want to pipe output to another program.
The -threads option specifies the number of processor threads to use for mapping. Default is the number of CPU cores or 10, whichever is smaller.
The -veryfast option specifies a variant mapping algorithm which is ~3x faster but somewhat less accurate. To get the full speed improvement, the index should also be built with the -veryfast option, though UFI indexes are compatible with map regardless of whether -veryfast is used for mapping or for indexing.
Pipes
To get input from a pipe, use /dev/stdin as the filename.
To send output to a pipe, use "-" (minus sign) as the filename. Using /dev/stdout will not work because urmap attempts to create the file.
Example
urmap -map reads.fastq -ufi hg38.ufi -samout reads.sam