wordfinder

 

Function

Match large sequences against one or more other sequences

Description

This is a rough and ready local alignment program for large sequences. The reason it is rough and ready is that wordmatch is used to find all the word matches between the first sequence and another sequence. Then by calculating the highest score for a diagonal we can then use this as the centre point for a Smith-Waterman type calculation of a width given by the user. So a narrow diagonal Smith-Waterman is calculated hence the results will be rough but due to the space saving much larger sequences can be aligned.

Usage

Here is a sample session with wordfinder


% wordfinder tembl:j01636 @eclac.list -word 50  
Match large sequences against one or more other sequences
Gap opening penalty [30.0]: 
Gap extension penalty [1.5]: 3.0
Output alignment [j01636.wordfinder]: 
Target 1 J01636 matches 1
Target 2 X51872 matches 1
Target 3 V00294 matches 1
Target 4 V00295 matches 1
Target 5 V00296 matches 1

Go to the input files for this example
Go to the output files for this example

Command line arguments

   Standard (Mandatory) qualifiers:
  [-asequence]         seqset     Sequence set filename and optional format,
                                  or reference (input USA)
  [-bsequence]         seqall     Sequence(s) filename and optional format, or
                                  reference (input USA)
   -gapopen            float      [10.0 for any sequence type] Gap opening
                                  penalty (Number from 0.000 to 1000.000)
   -gapextend          float      [0.5 for any sequence type] Gap extension
                                  penalty (Number from 0.000 to 10.000)
  [-outfile]           align      [*.wordfinder] Output alignment file name

   Additional (Optional) qualifiers:
   -datafile           matrixf    [EBLOSUM62 for protein, EDNAFULL for DNA]
                                  This is the scoring matrix file used when
                                  comparing sequences. By default it is the
                                  file 'EBLOSUM62' (for proteins) or the file
                                  'EDNAFULL' (for nucleic sequences). These
                                  files are found in the 'data' directory of
                                  the EMBOSS installation.
   -width              integer    [16] Alignment width (Integer 1 or more)
   -wordlen            integer    [6] Word length for initial matching
                                  (Integer 3 or more)
   -limitmatch         integer    [0] Maximum match score (zero for no limit)
                                  (Integer 0 or more)
   -limitalign         integer    [0] Maximum alignment length (zero for no
                                  limit) (Integer 0 or more)
   -lowmatch           integer    [0] Minimum match score (zero for no limit)
                                  (Integer 0 or more)
   -lowalign           integer    [0] Minimum alignment length (zero for no
                                  limit) (Integer 0 or more)
   -errorfile          outfile    [wordfinder.error] Error file to be written
                                  to

   Advanced (Unprompted) qualifiers: (none)
   Associated qualifiers:

   "-asequence" associated qualifiers
   -sbegin1            integer    Start of each sequence to be used
   -send1              integer    End of each sequence to be used
   -sreverse1          boolean    Reverse (if DNA)
   -sask1              boolean    Ask for begin/end/reverse
   -snucleotide1       boolean    Sequence is nucleotide
   -sprotein1          boolean    Sequence is protein
   -slower1            boolean    Make lower case
   -supper1            boolean    Make upper case
   -sformat1           string     Input sequence format
   -sdbname1           string     Database name
   -sid1               string     Entryname
   -ufo1               string     UFO features
   -fformat1           string     Features format
   -fopenfile1         string     Features file name

   "-bsequence" associated qualifiers
   -sbegin2            integer    Start of each sequence to be used
   -send2              integer    End of each sequence to be used
   -sreverse2          boolean    Reverse (if DNA)
   -sask2              boolean    Ask for begin/end/reverse
   -snucleotide2       boolean    Sequence is nucleotide
   -sprotein2          boolean    Sequence is protein
   -slower2            boolean    Make lower case
   -supper2            boolean    Make upper case
   -sformat2           string     Input sequence format
   -sdbname2           string     Database name
   -sid2               string     Entryname
   -ufo2               string     UFO features
   -fformat2           string     Features format
   -fopenfile2         string     Features file name

   "-outfile" associated qualifiers
   -aformat3           string     Alignment format
   -aextension3        string     File name extension
   -adirectory3        string     Output directory
   -aname3             string     Base file name
   -awidth3            integer    Alignment width
   -aaccshow3          boolean    Show accession number in the header
   -adesshow3          boolean    Show description in the header
   -ausashow3          boolean    Show the full USA in the alignment
   -aglobal3           boolean    Show the full sequence in alignment

   "-errorfile" associated qualifiers
   -odirectory         string     Output directory

   General qualifiers:
   -auto               boolean    Turn off prompts
   -stdout             boolean    Write first file to standard output
   -filter             boolean    Read first file from standard input, write
                                  first file to standard output
   -options            boolean    Prompt for standard and additional values
   -debug              boolean    Write debug output to program.dbg
   -verbose            boolean    Report some/full command line options
   -help               boolean    Report command line options. More
                                  information on associated and general
                                  qualifiers can be found with -help -verbose
   -warning            boolean    Report warnings
   -error              boolean    Report errors
   -fatal              boolean    Report fatal errors
   -die                boolean    Report dying program messages

Standard (Mandatory) qualifiers Allowed values Default
[-asequence]
(Parameter 1)
Sequence set filename and optional format, or reference (input USA) Readable set of sequences Required
[-bsequence]
(Parameter 2)
Sequence(s) filename and optional format, or reference (input USA) Readable sequence(s) Required
-gapopen Gap opening penalty Number from 0.000 to 1000.000 10.0 for any sequence type
-gapextend Gap extension penalty Number from 0.000 to 10.000 0.5 for any sequence type
[-outfile]
(Parameter 3)
Output alignment file name Alignment output file <*>.wordfinder
Additional (Optional) qualifiers Allowed values Default
-datafile This is the scoring matrix file used when comparing sequences. By default it is the file 'EBLOSUM62' (for proteins) or the file 'EDNAFULL' (for nucleic sequences). These files are found in the 'data' directory of the EMBOSS installation. Comparison matrix file in EMBOSS data path EBLOSUM62 for protein
EDNAFULL for DNA
-width Alignment width Integer 1 or more 16
-wordlen Word length for initial matching Integer 3 or more 6
-limitmatch Maximum match score (zero for no limit) Integer 0 or more 0
-limitalign Maximum alignment length (zero for no limit) Integer 0 or more 0
-lowmatch Minimum match score (zero for no limit) Integer 0 or more 0
-lowalign Minimum alignment length (zero for no limit) Integer 0 or more 0
-errorfile Error file to be written to Output file wordfinder.error
Advanced (Unprompted) qualifiers Allowed values Default
(none)

Input file format

wordfinder reads two sequence USAs of the same type. They must both be protein or both be nucleic acid sequences.

Input files for usage example

'tembl:j01636' is a sequence entry in the example nucleic acid database 'tembl'

File: eclac.list

#Formerly ECLAC
tembl:J01636

#Formerly ECLACA
tembl:X51872

#Formerly ECLACI
tembl:V00294

#Formerly ECLACY
tembl:V00295

#Formerly ECLACZ
tembl:V00296

Database entry: tembl:j01636

ID   J01636; SV 1; linear; genomic DNA; STD; PRO; 7477 BP.
XX
AC   J01636; J01637; K01483; K01793;
XX
DT   30-NOV-1990 (Rel. 26, Created)
DT   09-SEP-2004 (Rel. 81, Last updated, Version 8)
XX
DE   E.coli lactose operon with lacI, lacZ, lacY and lacA genes.
XX
KW   acetyltransferase; beta-D-galactosidase; galactosidase; lac operon;
KW   lac repressor protein; lacA gene; lacI gene; lactose permease; lacY gene;
KW   lacZ gene; mutagenesis; palindrome; promoter region;
KW   thiogalactoside acetyltransferase.
XX
OS   Escherichia coli
OC   Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales;
OC   Enterobacteriaceae; Escherichia.
XX
RN   [1]
RP   1243-1266
RX   PUBMED; 4587255.
RA   Gilbert W., Maxam A.;
RT   "The nucleotide sequence of the lac operator";
RL   Proc. Natl. Acad. Sci. U.S.A. 70(12):3581-3584(1973).
XX
RN   [2]
RP   1246-1308
RX   PUBMED; 4587256.
RA   Maizels N.M.;
RT   "The nucleotide sequence of the lactose messenger ribonucleic acid
RT   transcribed from the UV5 promoter mutant of Escherichia coli";
RL   Proc. Natl. Acad. Sci. U.S.A. 70(12):3585-3589(1973).
XX
RN   [3]
RX   PUBMED; 4598642.
RA   Gilbert W., Maizels N., Maxam A.;
RT   "Sequences of controlling regions of the lactose operon";
RL   Cold Spring Harb. Symp. Quant. Biol. 38:845-855(1974).
XX
RN   [4]
RA   Gilbert W., Gralla J., Majors A.J., Maxam A.;
RT   "Lactose operator sequences and the action of lac repressor";
RL   (in) Sund H., Blauer G. (Eds.);
RL   PROTEIN-LIGAND INTERACTIONS:193-207;
RL   Walter de Gruyter, New York (1975)
XX
RN   [5]
RP   1146-1282
RX   PUBMED; 1088926.
RA   Dickson R.C., Abelson J.N., Barnes W.M., Reznikoff W.S.;


  [Part of this file has been deleted for brevity]

     cgatttggct acatgacatc aaccatatca gcaaaagtga tacgggtatt atttttgccg      4560
     ctatttctct gttctcgcta ttattccaac cgctgtttgg tctgctttct gacaaactcg      4620
     ggctgcgcaa atacctgctg tggattatta ccggcatgtt agtgatgttt gcgccgttct      4680
     ttatttttat cttcgggcca ctgttacaat acaacatttt agtaggatcg attgttggtg      4740
     gtatttatct aggcttttgt tttaacgccg gtgcgccagc agtagaggca tttattgaga      4800
     aagtcagccg tcgcagtaat ttcgaatttg gtcgcgcgcg gatgtttggc tgtgttggct      4860
     gggcgctgtg tgcctcgatt gtcggcatca tgttcaccat caataatcag tttgttttct      4920
     ggctgggctc tggctgtgca ctcatcctcg ccgttttact ctttttcgcc aaaacggatg      4980
     cgccctcttc tgccacggtt gccaatgcgg taggtgccaa ccattcggca tttagcctta      5040
     agctggcact ggaactgttc agacagccaa aactgtggtt tttgtcactg tatgttattg      5100
     gcgtttcctg cacctacgat gtttttgacc aacagtttgc taatttcttt acttcgttct      5160
     ttgctaccgg tgaacagggt acgcgggtat ttggctacgt aacgacaatg ggcgaattac      5220
     ttaacgcctc gattatgttc tttgcgccac tgatcattaa tcgcatcggt gggaaaaacg      5280
     ccctgctgct ggctggcact attatgtctg tacgtattat tggctcatcg ttcgccacct      5340
     cagcgctgga agtggttatt ctgaaaacgc tgcatatgtt tgaagtaccg ttcctgctgg      5400
     tgggctgctt taaatatatt accagccagt ttgaagtgcg tttttcagcg acgatttatc      5460
     tggtctgttt ctgcttcttt aagcaactgg cgatgatttt tatgtctgta ctggcgggca      5520
     atatgtatga aagcatcggt ttccagggcg cttatctggt gctgggtctg gtggcgctgg      5580
     gcttcacctt aatttccgtg ttcacgctta gcggccccgg cccgctttcc ctgctgcgtc      5640
     gtcaggtgaa tgaagtcgct taagcaatca atgtcggatg cggcgcgacg cttatccgac      5700
     caacatatca taacggagtg atcgcattga acatgccaat gaccgaaaga ataagagcag      5760
     gcaagctatt taccgatatg tgcgaaggct taccggaaaa aagacttcgt gggaaaacgt      5820
     taatgtatga gtttaatcac tcgcatccat cagaagttga aaaaagagaa agcctgatta      5880
     aagaaatgtt tgccacggta ggggaaaacg cctgggtaga accgcctgtc tatttctctt      5940
     acggttccaa catccatata ggccgcaatt tttatgcaaa tttcaattta accattgtcg      6000
     atgactacac ggtaacaatc ggtgataacg tactgattgc acccaacgtt actctttccg      6060
     ttacgggaca ccctgtacac catgaattga gaaaaaacgg cgagatgtac tcttttccga      6120
     taacgattgg caataacgtc tggatcggaa gtcatgtggt tattaatcca ggcgtcacca      6180
     tcggggataa ttctgttatt ggcgcgggta gtatcgtcac aaaagacatt ccaccaaacg      6240
     tcgtggcggc tggcgttcct tgtcgggtta ttcgcgaaat aaacgaccgg gataagcact      6300
     attatttcaa agattataaa gttgaatcgt cagtttaaat tataaaaatt gcctgatacg      6360
     ctgcgcttat caggcctaca agttcagcga tctacattag ccgcatccgg catgaacaaa      6420
     gcgcaggaac aagcgtcgca tcatgcctct ttgacccaca gctgcggaaa acgtactggt      6480
     gcaaaacgca gggttatgat catcagccca acgacgcaca gcgcatgaaa tgcccagtcc      6540
     atcaggtaat tgccgctgat actacgcagc acgccagaaa accacggggc aagcccggcg      6600
     atgataaaac cgattccctg cataaacgcc accagcttgc cagcaatagc cggttgcaca      6660
     gagtgatcga gcgccagcag caaacagagc ggaaacgcgc cgcccagacc taacccacac      6720
     accatcgccc acaataccgg caattgcatc ggcagccaga taaagccgca gaaccccacc      6780
     agttgtaaca ccagcgccag cattaacagt ttgcgccgat cctgatggcg agccatagca      6840
     ggcatcagca aagctcctgc ggcttgccca agcgtcatca atgccagtaa ggaaccgctg      6900
     tactgcgcgc tggcaccaat ctcaatatag aaagcgggta accaggcaat caggctggcg      6960
     taaccgccgt taatcagacc gaagtaaaca cccagcgtcc acgcgcgggg agtgaatacc      7020
     acgcgaaccg gagtggttgt tgtcttgtgg gaagaggcga cctcgcgggc gctttgccac      7080
     caccaggcaa agagcgcaac aacggcaggc agcgccacca ggcgagtgtt tgataccagg      7140
     tttcgctatg ttgaactaac cagggcgtta tggcggcacc aagcccaccg ccgcccatca      7200
     gagccgcgga ccacagcccc atcaccagtg gcgtgcgctg ctgaaaccgc cgtttaatca      7260
     ccgaagcatc accgcctgaa tgatgccgat ccccacccca ccaagcagtg cgctgctaag      7320
     cagcagcgca ctttgcgggt aaagctcacg catcaatgca ccgacggcaa tcagcaacag      7380
     actgatggcg acactgcgac gttcgctgac atgctgatga agccagcttc cggccagcgc      7440
     cagcccgccc atggtaacca ccggcagagc ggtcgac                               7477
//

Output file format

The output is a standard EMBOSS alignment file.

The results can be output in one of several styles by using the command-line qualifier -aformat xxx, where 'xxx' is replaced by the name of the required format. Some of the alignment formats can cope with an unlimited number of sequences, while others are only for pairs of sequences.

The available multiple alignment format names are: unknown, multiple, simple, fasta, msf, trace, srs

The available pairwise alignment format names are: pair, markx0, markx1, markx2, markx3, markx10, srspair, score

See: http://emboss.sf.net/docs/themes/AlignFormats.html for further information on alignment formats.

The output alignment is in simple format by default.

Output files for usage example

File: wordfinder.error


File: j01636.wordfinder

########################################
# Program: wordfinder
# Rundate: Tue 15 Jul 2008 12:00:00
# Commandline: wordfinder
#    [-asequence] tembl:j01636
#    [-bsequence] @../../data/eclac.list
#    -wordlen 50
#    -gapextend 3.0
# Align_format: simple
# Report_file: j01636.wordfinder
########################################

#=======================================
#
# Aligned_sequences: 2
# 1: J01636
# 2: J01636
# Matrix: EDNAFULL
# Gap_penalty: 30.0
# Extend_penalty: 3.0
#
# Length: 7477
# Identity:    7477/7477 (100.0%)
# Similarity:  7477/7477 (100.0%)
# Gaps:           0/7477 ( 0.0%)
# Score: 37385.0
# 
# Wordscore:7477
# Alignlength:7477
#
#=======================================

J01636             1 gacaccatcgaatggcgcaaaacctttcgcggtatggcatgatagcgccc     50
                     ||||||||||||||||||||||||||||||||||||||||||||||||||
J01636             1 gacaccatcgaatggcgcaaaacctttcgcggtatggcatgatagcgccc     50

J01636            51 ggaagagagtcaattcagggtggtgaatgtgaaaccagtaacgttatacg    100
                     ||||||||||||||||||||||||||||||||||||||||||||||||||
J01636            51 ggaagagagtcaattcagggtggtgaatgtgaaaccagtaacgttatacg    100

J01636           101 atgtcgcagagtatgccggtgtctcttatcagaccgtttcccgcgtggtg    150
                     ||||||||||||||||||||||||||||||||||||||||||||||||||
J01636           101 atgtcgcagagtatgccggtgtctcttatcagaccgtttcccgcgtggtg    150

J01636           151 aaccaggccagccacgtttctgcgaaaacgcgggaaaaagtggaagcggc    200
                     ||||||||||||||||||||||||||||||||||||||||||||||||||
J01636           151 aaccaggccagccacgtttctgcgaaaacgcgggaaaaagtggaagcggc    200

J01636           201 gatggcggagctgaattacattcccaaccgcgtggcacaacaactggcgg    250
                     ||||||||||||||||||||||||||||||||||||||||||||||||||


  [Part of this file has been deleted for brevity]

J01636          3787 tgctgattacgaccgctcacgcgtggcagcatcaggggaaaaccttattt   3836
                     ||||||||||||||||||||||||||||||||||||||||||||||||||
V00296          2501 tgctgattacgaccgctcacgcgtggcagcatcaggggaaaaccttattt   2550

J01636          3837 atcagccggaaaacctaccggattgatggtagtggtcaaatggcgattac   3886
                     ||||||||||||||||||||||||||||||||||||||||||||||||||
V00296          2551 atcagccggaaaacctaccggattgatggtagtggtcaaatggcgattac   2600

J01636          3887 cgttgatgttgaagtggcgagcgatacaccgcatccggcgcggattggcc   3936
                     ||||||||||||||||||||||||||||||||||||||||||||||||||
V00296          2601 cgttgatgttgaagtggcgagcgatacaccgcatccggcgcggattggcc   2650

J01636          3937 tgaactgccagctggcgcaggtagcagagcgggtaaactggctcggatta   3986
                     ||||||||||||||||||||||||||||||||||||||||||||||||||
V00296          2651 tgaactgccagctggcgcaggtagcagagcgggtaaactggctcggatta   2700

J01636          3987 gggccgcaagaaaactatcccgaccgccttactgccgcctgttttgaccg   4036
                     ||||||||||||||||||||||||||||||||||||||||||||||||||
V00296          2701 gggccgcaagaaaactatcccgaccgccttactgccgcctgttttgaccg   2750

J01636          4037 ctgggatctgccattgtcagacatgtataccccgtacgtcttcccgagcg   4086
                     ||||||||||||||||||||||||||||||||||||||||||||||||||
V00296          2751 ctgggatctgccattgtcagacatgtataccccgtacgtcttcccgagcg   2800

J01636          4087 aaaacggtctgcgctgcgggacgcgcgaattgaattatggcccacaccag   4136
                     ||||||||||||||||||||||||||||||||||||||||||||||||||
V00296          2801 aaaacggtctgcgctgcgggacgcgcgaattgaattatggcccacaccag   2850

J01636          4137 tggcgcggcgacttccagttcaacatcagccgctacagtcaacagcaact   4186
                     ||||||||||||||||||||||||||||||||||||||||||||||||||
V00296          2851 tggcgcggcgacttccagttcaacatcagccgctacagtcaacagcaact   2900

J01636          4187 gatggaaaccagccatcgccatctgctgcacgcggaagaaggcacatggc   4236
                     ||||||||||||||||||||||||||||||||||||||||||||||||||
V00296          2901 gatggaaaccagccatcgccatctgctgcacgcggaagaaggcacatggc   2950

J01636          4237 tgaatatcgacggtttccatatggggattggtggcgacgactcctggagc   4286
                     ||||||||||||||||||||||||||||||||||||||||||||||||||
V00296          2951 tgaatatcgacggtttccatatggggattggtggcgacgactcctggagc   3000

J01636          4287 ccgtcagtatcggcggaattccagctgagcgccggtcgctaccattacca   4336
                     ||||||||||||||||||||||||||||||||||||||||||||||||||
V00296          3001 ccgtcagtatcggcggaattccagctgagcgccggtcgctaccattacca   3050

J01636          4337 gttggtctggtgtcaaaaataataataa   4364
                     ||||||||||||||||||||||||||||
V00296          3051 gttggtctggtgtcaaaaataataataa   3078


#---------------------------------------
#---------------------------------------

The file 'wordfinder.error' will contain any errors that occured during the program. This may be that wordmatch could not find any matches hence no suitable start point is found for the smith-waterman calculation.

Data files

For protein sequences EBLOSUM62 is used for the substitution matrix. For nucleotide sequence, EDNAMAT is used. Others can be specified.

EMBOSS data files are distributed with the application and stored in the standard EMBOSS data directory, which is defined by the EMBOSS environment variable EMBOSS_DATA.

To see the available EMBOSS data files, run:

% embossdata -showall

To fetch one of the data files (for example 'Exxx.dat') into your current directory for you to inspect or modify, run:


% embossdata -fetch -file Exxx.dat

Users can provide their own data files in their own directories. Project specific files can be put in the current directory, or for tidier directory listings in a subdirectory called ".embossdata". Files for all EMBOSS runs can be put in the user's home directory, or again in a subdirectory called ".embossdata".

The directories are searched in the following order:

Notes

The time this program takes to do an alignment depends very much on the word size. For short sequences a short word size (e.g. 4) can make it take a very long time. Large word sizes (e.g. 30) for sequences that are very similar give a very quick result. The default of 16 should give reasonable fast alignments.

Because it does a Smith & Waterman alignment (albeit in a narrow region around the diagonal shown to be the 'best' by a word match), this program can use huge amounts of memory if the sequences are large.

Because the alignment is made within a narrow area each side of the 'best' diagonal, if there are sufficient indels between the two sequences, then the path of the Smith & Waterman alignment can wander outside of this area. Making the width larger can avoid this problem, but you then use more memory.

The longer the sequences and the wider the specified alignment width, the more memory will be used.

If the program terminates due to lack of memory you can try the following:

Run the UNIX command 'limit' to see if your stack or memory usage have been limited and if so, run 'unlimit', (e.g.: '% unlimit stacksize').

References

None.

Warnings

None.

Diagnostic Error Messages

None.

Exit status

It always exits with a status of 0.

Known bugs

None.

See also

Program name Description
matcher Waterman-Eggert local alignment of two sequences
seqmatchall All-against-all word comparison of a sequence set
supermatcher Calculate approximate local pair-wise alignments of larger sequences
water Smith-Waterman local alignment of sequences
wordmatch Finds regions of identity (exact matches) of two sequences

Author(s)

Ian Longden (il © sanger.ac.uk)
Sanger Institute, Wellcome Trust Genome Campus, Hinxton, Cambridge, CB10 1SA, UK.

History

Target users

This program is intended to be used by everyone and everything, from naive users to embedded scripts.

Comments

None