Benchmark
Dataset and results is described at http://shenwei356.github.io/fakit/benchmark
The benchmark needs be performed in Linux-like operating systems.
Install softwares
Softwares
- fakit. (Go).
Version v0.1.4.
- fasta_utilities. (Perl).
Version 3dcc0bc.
Lots of dependencies to install_.
- fastx_toolkit. (Perl).
Version 0.0.13.
Can't handle multi-line FASTA files_.
- pyfaidx. (Python).
Version 0.4.7.1.
- seqmagick. (Python).
Version 0.6.1
- seqtk. (C).
Version 1.0-r82-dirty.
Attention: the fasta_utilities
uses Perl module Term-ProgressBar
which make it failed to run when using benchmark script run_benchmark_00_all.pl
.
Please change the source code of ProgressBar.pm (for me, the path is
/usr/share/perl5/vendor_perl/Term/ProgressBar.pm). Add the code below after line 535
:
$config{bar_width} = 1 if $config{bar_width} < 1;
The edited code is
} else {
$config{bar_width} = $target;
$config{bar_width} = 1 if $config{bar_width} < 1; # new line
die "configured bar_width $config{bar_width} < 1"
if $config{bar_width} < 1;
}
Data preparation
http://blog.shenwei.me/fakit/benchmark/#datasets
Run tests
Usage:
1. Run all tests:
perl run_benchmark_00_all.pl run_*.sh
2. Run one test:
perl run_benchmark_00_all.pl run_benchmark_04_remove_duplicated_seqs_by_name.sh
3. Custom repeate times:
perl run_benchmark_00_all.pl -n 5 run_benchmark_04_remove_duplicated_seqs_by_name.sh
Plot result
Before this, you need to run
perl run_benchmark_00_all.pl run_*.sh
Libraries ggplot2
and scales
are needed.
Run:
./plot.R