Table 2:
Data | Operation type | Cores | samtools | bedtools | sambamba | mosdepth | SeQuiLa-cov |
---|---|---|---|---|---|---|---|
WGS | Blocks | 1 | 2h 14m 58s1 | 10h 41m 27s | 2h 44m 0s | 1h 46m 27s | 1h 47m 5s |
5 | 2h 47m 53s | 36m 13s | 26m 59s | ||||
10 | 2h 50m 47s | 34m 34s | 13m 54s | ||||
Fixed-length windows | 1 | 1h 46m 50s | 1h 22m 49s | 1h 24m 8s | |||
5 | 1h 41m 23s | 20m 3s | 18m 43s | ||||
10 | 1h 50m 35s | 17m 49s | 9m 14s | ||||
WES | Blocks | 1 | 12m 26s1 | 23m 25s | 25m 42s | 6m 43s | 6m 54s |
5 | 25m 46s | 2m 25s | 1m 47s | ||||
10 | 25m 49s | 2m 20s | 1m 4s | ||||
Fixed-length windows | 1 | 14m 36s | 6m 11s | 6m 29s | |||
5 | 14m 54s | 2m 8s | 1m 42s | ||||
10 | 14m 40s | 2m 14s | 1m 1s |
Both samtools and bedtools calculate coverage using only a single thread; however, their results differ significantly, with samtools being approximately twice as fast. Sambamba positions itself as a multithreaded solution, although our tests revealed that its execution time is nearly constant, regardless of the number of CPU cores used, and even twice as slow as samtools. Mosdepth achieved speedup against samtools in blocks coverage and against sambamba in windows coverage calculations; however, its scalability reaches its limit at 5 CPU cores. Finally, SeQuiLa-cov achieves performance nearly identical to that of mosdepth for the single core, but the execution time decreases substantially for greater number of available computing resources, which makes this solution the fastest when run on multiple cores and nodes.
Per-base results are treated as block output. Samtools lacks the functionality of block coverage calculations; however, we included this tool in our benchmark for completeness, treating its per-base results as block outcome assuming that both result types require nearly the same resources.