esl-shuffle(1)

NAME

esl-shuffle - shuffling sequences or generating random ones

SYNOPSIS

Shuffling individual sequences:
    esl-shuffle [options] seqfile

Generating random sequences:
    esl-shuffle -G [options]

Shuffling multiple sequence alignments columnwise:
    esl-shuffle -A [options] msafile

Shuffling QRNA pairwise alignment input files:
    esl-shuffle -Q [options] qrna-alignment-file

DESCRIPTION
esl-shuffle is capable of four different modes of operation. By default, esl-shuffle reads individual sequences from seqfile , shuffles them, and outputs the shuffled sequence. By default, shuffling is done by preserving monoresidue composition; other options are listed below. With the -G option, esl-shuffle generates some number of random sequences of some length in some alphabet. The -N option controls the number (default is 1), the -L option controls the length (default is 0), and the --amino, --dna, and --rna options control the alphabet. With the -A option, esl-shuffle reads one or more multiple alignments from <msafile> and shuffles them columnwise. Finally, the -Q option is for shuffling pairwise alignments in QRNA input files. A QRNA input file is a quasi-FASTA file, where each successive pair of sequences is interpreted as a pairwise alignment; sequences may contain gap characters (period, dash, or underscore: .-_) and these pairs of sequences must have exactly the same aligned length. An unaligned sequence file to be shuffled may be in any of several different common unaligned sequence formats including FASTA, GenBank, EMBL, UniProt, or DDBJ; alignment files are also valid, in which case individual unaligned sequences are sequentially plucked from the alignment. By default the file format is autodetected. The --informat <s> option allows you to specify the format and override autodetection. This option may be useful for making esl-shuffle more robust, because format autodetection may fail on unusual files.

GENERAL OPTIONS

-h  Print brief help; includes version number and summary of all options, including expert options.

-o <f>
    Direct output to a file named <f> rather than to stdout.

-N <n>
    Generate <n> sequences, or <n> perform independent shuffles per input sequence or alignment.

-L <n>
    Generate sequences of length <n>, or truncate output shuffled sequences or alignments to a length of <n>.

SEQUENCE SHUFFLING OPTIONS
These options only apply in default (sequence shuffling) mode. They are mutually exclusive.

-m  Monoresidue shuffling (the default): preserve monoresidue composition exactly. Uses the so-called Fisher/Yates algorithm (Knuth's "Algorithm P").

-d  Diresidue shuffling; preserve diresidue composition exactly. Uses the Altschul/Erickson algorithm (Altschul and Erickson, 1986). A more efficient algorithm (Kandel and Winkler 1996) is known but has not yet been implemented in Easel.

-0  0th order Markov generation: generate a sequence of the same length with the same 0th order Markov frequencies. Such a sequence will approximately preserve the monoresidue composition of the input.

-1  1st order Markov generation: generate a sequence of the same length with the same 1st order Markov frequencies. Such a sequence will approximately preserve the diresidue composition of the input.

-r  Reversal; reverse each input.

-w <n>
    Regionally shuffle the input in nonoverlapping windows of size <n> residues, preserving exact monoresidue composition in each window.

MULTIPLE ALIGNMENT SHUFFLING OPTIONS

-b  Sample columns with replacement, in order to generate a bootstrap-resampled alignment dataset.

SEQUENCE GENERATION OPTIONS
One of these must be selected.

--amino
    Generate amino acid sequences.

--dna
    Generate DNA sequences.

--rna
    Generate RNA sequences (the default).

EXPERT OPTIONS

--informat <s>
    Specify that the sequence file is in format <s>, where <s> may be FASTA, GenBank, EMBL, UniProt, DDBJ, or Stockholm. This string is case-insensitive ("genbank" or "GenBank" both work, for example).

--seed <n>
    Specify the seed for the random number generator, where the seed <n> is an integer greater than zero. This can be used to make the results of esl-shuffle reproducible. The default is to choose the random number generator seed by calling time(). Note that because time() likely returns the time in units of seconds, two calls to esl-shuffle within the same second will use the same seed and generate identical random number sequences; you may want to avoid this.

AUTHOR
Easel and its documentation are @EASEL_COPYRIGHT@. @EASEL_LICENSE@. See COPYING in the source code distribution for more details. The Easel home page is: @EASEL_URL@