README for standalone MEGABLAST
(last updated 7/2/2004)
Mega BLAST uses the greedy algorithm of Zhang et al. [1] for
nucleotide sequence alignment search and concatenates many
queries to save time spent scanning the database. This program
is optimized for aligning sequences that differ slightly as a
result of sequencing or other similar "errors". It is up to
10 times faster than more common sequence similarity programs
and therefore can be used to swiftly compare two large sets of
sequences against each other.
Most of the options are similar to those in the blastall binary
(see README.bls file for their descriptions). Note that megablast
binary does not require the program option. Below are the more
detailed explanations of some of the options
either specific to Mega BLAST or having different meaning:
-----------------------------
-W Word size.
When W is divisible by 4, it guarantees that all perfect
matches of length W + 3 will be found by Mega BLAST search,
however perfect matches of length as low as W might also be
found, although the latter is not guaranteed. Any value of
W not divisible by 4 is equivalent to the nearest value
divisible by 4 (with 4*i+2 equivalent to 4*i).
-----------------------------
-G, -E Affine gapping penalties.
If these options are not set (both are 0), then non-affine
gapping is assumed with gap opening penalty 0 and gap
extension penalty E, that can be computed from match reward
r and mismatch penalty q by the formula: E = r/2 - q. The
affine version of Mega BLAST requires significantly more
memory, so it should be avoided if possible, especially when
some of the query or database sequences are very long.
-----------------------------
-D Type of the Mega BLAST output.
0: Produce one-line output for each alignment, in the form
'subject-id'=='[+-]query-id' (s_off q_off s_end q_end)
score
Here subject(query)-id is a gi number, an accession or
some other type of identifier found in the FASTA
definition line of the respective sequence.
+ or - corresponds to same or different strand alignment.
Score for non-affine gapping parameters means the total
number of differences (mismatches + gaps). For affine case
it is the actual (raw) score of the alignment.
1: Show the same output as level 0, plus the endpoints and
percentage of identical nucleotides for each ungapped
segment in the alignment.
2: Show the traditional BLAST (blastn) output.
3: Show one-line output for each alignment, with the
following fields tab-separated:
Query id, Subject id, percent of identity, alignment
length, number of mismatches (not including gaps), number
of gap openings, start of alignment in query, end of
alignment in query, start of alignment in subject, end of
alignment in subject, expected value, bit score.
If the alignment is from a reverse strand, the subject
start and end are printed in the reverse order, reflecting
the actual direction of the alignment.
-----------------------------
-F Filtering
This option is described in the README.bls file and in general
works identically to other BLAST programs. It actually
contains two different options: the type of filtering and what
stages of the search should mask the filtered regions. The
option is specified by a string that contains all types
of filters the user wants to apply, separated by semicolons
or spaces. The available filters for nucleotide BLAST or Mega
BLAST searches are:
D - dust
R - Human repeats
V - Vector screen
L - low complexity (equivalent to D)
Finally, if letter 'm' is included in the filter string, all types of
filters are used to mask the query sequence regions only on the word finding
stage and do not affect the extension stage.
E.g. if the option -F "m D;R" is specified, then both dust and human repeats
filtering will be applied, but the alignments will be extended through the
filtered areas. With option -F "L;V" the dust and vector screen filters will
be applied, and the filtered areas will be masked for all stages of the
search.
The -F m option affects the lower case filtering (specified by the -U option)
as well. Therefore if one wants to use lower case filtering, but allow the
extension through lower case regions of the query sequence, the -F m -U T
combination of options must be used.
-----------------------------
-X X-dropoff value.
As in BLAST, this values provides a cutoff threshold for the extension
algorithm tree exploration. When the score of a given branch drops below the
current best score minus the X-dropoff, the exploration of this branch
stops.
-y X-dropoff for ungapped extensions.
-Z X-dropoff for the final gapped extension.
Both -y and -Z are used only in conjunction with -n T option, i.e. when
non-greedy gapped extension is performed, like in blastn.
Note that all of these are the raw values, as opposed to bit values for other
variations of BLAST.
-----------------------------
-e The cutoff expectation value.
By default this value is set to a very large number, i.e. effectively there
is no expectation value cutoff.
-----------------------------
-v Maximal number of database sequences to report alignments from.
-b Maximal number of reported alignments for a given database sequence.
These options are meaningful only in conjunction with -D 2.
-----------------------------
-J Believe the query defline.
The default is T (TRUE) for all types of output except -D 2. In the latter
case, the default is F (FALSE), unless a SeqAlign ASN.1 output is required,
specified by the -O option.
Note: this option must be set to F (FALSE) if the sequence IDs in the FASTA
file are not unique.
-----------------------------
-M Maximal total length of queries to be concatenated for a single megablast
search.
Setting this value to smaller than default (20,000,000) can reduce the memory
image of the program for large searches.
-----------------------------
-P Maximal number of positions for a hash value.
This option provides for a very simple type of filtering if it is set to a
non-zero value. Namely, any pattern of length 12 when word size is greater
than or equal to 16 (8 for smaller word sizes), that appears in all of the
query sequences together more than P times, is masked and not included in the
search look-up table. If such masking occurs, megablast shows a warning
message on the standard output. This can be useful when running megablast for
very long unmasked sequences, in which case when -P option is not set, the
search might take a very long time.
-----------------------------
-O ASN.1 Seqalign file.
This option specifies a file name for writing ASN.1 output. It is only
meaningful in conjunction with -D 2. The ASN.1 will consist of separate
ASN.1 codes for each query sequence:
Seq-annot ::= {
All hits for first query
}
Seq-annot ::= {
All hits for second query
}
etc.
-----------------------------
-s Minimal hit score to report.
By default this value is set to W, where W is the wordsize (-W option),
i.e. is ignored (since all found alignments are extended from an exact match
of length at least W).
-----------------------------
-Q Masked query output.
All regions of the query sequences, that were hit by any found alignment, are
masked by N's. The output is written to a file specified by the -Q option. It
can be used only in conjunction with -D 2.
-----------------------------
-f Show full IDs in the output.
By default, for -D 0 and -D 1 outputs, the sequence IDs are reported as GIs
or accession numbers (if GIs are not available). If -f is set to T, full IDs
will be shown, unless -J option is set to F. In the latter case full deflines
will be shown for the query sequences.
-----------------------------
-U Use lower case filtering of FASTA sequences.
Like in blastall binary, this option allows to treat lower case in the query
sequences as masked residues. The deafult for this option is set to FALSE,
in which case the lower case is treated identically to upper case.
-----------------------------
-p Cutoff by percentage of identity
The alignments with identity percentage below the value of this option are
not reported in all output formats except -D 0 (with the latter the traceback
is not performed, so it is impossible to calculate the percentage of identical
residues).
-----------------------------
-t Discontiguous word template length.
If this is not zero, the discontiguous word approach is used. The supported
template lengths are 16, 18, and 21. The word size (-W parameter) must be 11 or
12 in this case.
-N Discontiguous template type: coding (0), non-coding (1), or both (2).
For each of the three template lengths, two discontiguous templates are
supported. One of them, called coding, is based on the '110' pattern, the other
is optimal, or close to optimal, based on the hit probability simulations for
random sequences.
The exact templates are:
W = 11, t = 16, coding: 1101101101101101
W = 11, t = 16, non-coding: 1110010110110111
W = 12, t = 16, coding: 1111101101101101
W = 12, t = 16, non-coding: 1110110110110111
W = 11, t = 18, coding: 101101100101101101
W = 11, t = 18, non-coding: 111010010110010111
W = 12, t = 18, coding: 101101101101101101
W = 12, t = 18, non-coding: 111010110010110111
W = 11, t = 21, coding: 100101100101100101101
W = 11, t = 21, non-coding: 111010010100010010111
W = 12, t = 21, coding: 100101101101100101101
W = 12, t = 21, non-coding: 111010010110010010111
If 'both' option is chosen, then all initial matches satisfying either one of the
two types of templates are extended.
-----------------------------
-g Generate words for every base of the database.
Both in blastn and traditional megablast, the database sequences are compressed
4:1, and words are looked up only at the beginning of each byte, i.e. at every 4th
base. This option prescribes to lookup words starting at any arbitrary base
of the database sequence.
-----------------------------
-H Maximal number of HSPs to save per database sequence.
-----------------------------
[1] Zhang Z., Schwartz S., Wagner L., & Miller W. (2000),
"A greedy algorithm for aligning DNA sequences", J Comput Biol 2000; 7(1-2):203-14.