title: uShuffle: a useful tool for shuffling biological sequences while preserving the k-let counts.
abstract: BACKGROUND
  Randomly shuffled sequences are routinely used in sequence analysis to evaluate the statistical significance of a biological sequence. In many cases, biologists need sophisticated shuffling tools that preserve not only the counts of distinct letters but also higher-order statistics such as doublet counts, triplet counts, and, in general, k-let counts.
  
  
  RESULTS
  We present a sequence analysis tool (named uShuffle) for generating uniform random permutations of biological sequences (such as DNAs, RNAs, and proteins) that preserve the exact k-let counts. The uShuffle tool implements the latest variant of the Euler algorithm and uses Wilson's algorithm in the crucial step of arborescence generation. It is carefully engineered and extremely efficient. The uShuffle tool achieves maximum flexibility by allowing arbitrary alphabet size and let size. It can be used as a command-line program, a web application, or a utility library. Source code in C, Java, and C#, and integration instructions for Perl and Python are provided.
  
  
  CONCLUSIONS
  The uShuffle tool surpasses existing implementation of the Euler algorithm in both performance and flexibility. It is a useful tool for the bioinformatics community.
authors.affiliation: Department of Computer Science, Utah State University, Logan, UT 84322-4205, USA. mjiang@cc.usu.edu
authors.forename: Minghui
authors.initials: M
authors.lastname: Jiang
authors.forename: James
authors.initials: J
authors.lastname: Anderson
authors.forename: Joel
authors.initials: J
authors.lastname: Gillespie
authors.forename: Martin
authors.initials: M
authors.lastname: Mayne
mesh_terms: D000465:Algorithms; D003198:Computer Simulation; D008957:Models, Genetic; D015233:Models, Statistical; D017421:Sequence Analysis / Q000379:methods*; D012984:Software