labtools.shuffle

Module Contents

Functions

windowed_shuffle(seq[, window_size, step_size, ...])

Return a number of uniquely shuffled sequences.

labtools.shuffle.windowed_shuffle(seq, window_size=5, step_size=1, n_shuffles=1, short_last_window=False)[source]

Return a number of uniquely shuffled sequences.

If n_shuffles is higher than the number of possible unique shuffles in that window, only the unique shuffles are returned. Returns sequences with shuffled letters in lowercase.

Parameters:
  • seq (str) – Sequence to shuffle.

  • window_size (int, default 5) – Size of shuffle region.

  • step_size (int, default 1) – Distance between window starts (default 1).

  • n_shuffles (int, default 1) – Number of shuffles to make for each region (default 1).

  • short_last_window (bool, default False) – Whether last window can be less than window_size to include all letters (default False).

Returns:

A list of shuffled sequences.

Return type:

list

Examples

>>> shuffles_list, names_list = shuffle.windowed_shuffle("ABCDEFGHIJKLMNOPQRSTUVWYXZ")
...shuffles_list
['decbaFGHIJKLMNOPQRSTUVWYXZ',
 'AfdecbGHIJKLMNOPQRSTUVWYXZ',
 'ABfcdegHIJKLMNOPQRSTUVWYXZ',
 'ABCfdhgeIJKLMNOPQRSTUVWYXZ',
 'ABCDhgeifJKLMNOPQRSTUVWYXZ',
 'ABCDEifgjhKLMNOPQRSTUVWYXZ',
 'ABCDEFhjgkiLMNOPQRSTUVWYXZ',
 'ABCDEFGkjilhMNOPQRSTUVWYXZ',
 'ABCDEFGHikmljNOPQRSTUVWYXZ',
 'ABCDEFGHIjmlknOPQRSTUVWYXZ',
 'ABCDEFGHIJomklnPQRSTUVWYXZ',
 'ABCDEFGHIJKpomlnQRSTUVWYXZ',
 'ABCDEFGHIJKLpoqnmRSTUVWYXZ',
 'ABCDEFGHIJKLMronqpSTUVWYXZ',
 'ABCDEFGHIJKLMNsqrpoTUVWYXZ',
 'ABCDEFGHIJKLMNOrsqtpUVWYXZ',
 'ABCDEFGHIJKLMNOPsutrqVWYXZ',
 'ABCDEFGHIJKLMNOPQstruvWYXZ',
 'ABCDEFGHIJKLMNOPQRvsutwYXZ',
 'ABCDEFGHIJKLMNOPQRSuvwytXZ',
 'ABCDEFGHIJKLMNOPQRSTxuvywZ',
 'ABCDEFGHIJKLMNOPQRSTUwxzyv']