An alignment-free and unsupervised tool to find and visualize genomic rearrangements


What is SMASH ?

SMASH is an alignment-free unsupervised machine learning tool to find and visualize rearrangements between pairs of DNA sequences. The method is based on the relative information contained across the sequences, estimated by compression technology. SMASH has been published in Scientific Reports in May 2015.

It answers the following questions:

How do I get SMASH ?

Clone our repository and run CMake command:
git clone
cd smash/src/
cmake .
Alternatively to CMake, run:
git clone
cd smash/src/
cp Makefile.nix Makefile


To see the possible options of SMASH type
./SMASH -h
These will print the following options:

 -h                  give this help,
 -V                  display version number,
 -v                  verbose mode,
 -f                  force (be sure!),

 -c  <context>       context order (DEF: 20),
 -t  <threshold>     threshold [0.0,2.0] (DEF: 1.5),
 -m  <mSize>         minimum block size (DEF: 1000000),

 -i                  do not show inversions,
 -n                  do not show regulars,
 -r  <ratio>         image size ratio (MaxSeq/150),
 -a  <alpha>         alpha estimator (DEF: 1000),
 -s  <seed>          seed for random 'N',
 -w  <wSize>         window size,
 -wt <wType>         window type [0|1|2|3] (DEF: 0),
 -d  <dSize>         sub-sample (DEF: 10000),
 -nd                 do not delete temporary files,
 -wi <width>         sequence width (DEF: 25),

 -p  <posFile>       output positions file,
 -o  <outFile>       output svg plot file,

 [refFile]           reference file,
 [tarFile]           target file.


GPL v3. For more information see LICENSE file or visit