Given a set of input sequences, shuffle the letters within those sequences with any k-let size.
method = 'markov', then the Markov model is used to
generate sequences which will maintain (on average) the k-let
frequencies. Please note that this method is not a 'true' shuffling, and
for short sequences (e.g. <100bp) this can result in slightly more
dissimilar sequences versus true shuffling. See
\insertCitemarkovmodel;textualuniversalmotif for a discussion on the
method = 'euler', then the sequence shuffling method proposed by
\insertCitemarkovmodel2;textualuniversalmotif is used. As opposed
to the 'markov' method, this one preserves exact k-let frequencies. This
is done by creating a k-let edge graph, then following a
random Eulerian walk through the graph. Not all walks will use up all
available letters however, so the cycle-popping algorithm proposed by
\insertCiteeulerAlgo;textualuniversalmotif is used to find a
random Eulerian path. A side effect of using this method is that the
starting and ending sequence letters will remain unshuffled.
method = 'linear', then the input sequences are split linearly
k letters. For example, for
k = 3 'ACAGATAGACCC' becomes
'ACA GAT AGA CCC'; after which these
3-lets are shuffled randomly.
Do note however, that the
method parameter is only relevant for
k > 1.
k = 1, a simple shuffling is performed using the
from the C++ standard library.
XStringSet The input sequences will be returned with
identical names and lengths.
Benjamin Jean-Marie Tremblay, email@example.com
1 2 3 4
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.