needle reads two input sequences and writes their optimal global sequence alignment to file. It uses the Needleman-Wunsch alignment algorithm to find the optimum alignment (including gaps) of two sequences along their entire length. The algorithm uses a dynamic programming method to ensure the alignment is optimum, by exploring all possible alignments and choosing the best. A scoring matrix is read that contains values for every possible residue or nucleotide match. Needle finds the alignment with the maximum possible score where the score of an alignment is equal to the sum of the matches taken from the scoring matrix, minus a penalties arising from opening and extending gaps in the aligned sequences. The substitution matrix and gap opening and extension penalties are user-specified.
The Needleman-Wunsch algorithm is a member of the class of algorithms that can calculate the best score and alignment of two sequences in the order of mn steps, where n and m are the sequence lengths. These dynamic programming algorithms were first developed for protein sequence comparison by Needleman and Wunsch, though similar methods were independently devised during the late 1960's and early 1970's for use in the fields of speech processing and computer science.
An important problem is the treatment of gaps, i.e., spaces inserted to optimise the alignment score. A penalty is subtracted from the score for each gap opened (the 'gap open' penalty) and a penalty is subtracted from the score for the total number of gap spaces multiplied by a cost (the 'gap extension' penalty). Typically, the cost of extending a gap is set to be 5-10 times lower than the cost for opening a gap.
There are two ways to compute a penalty for a gap of n positions :
gap opening penalty + (n - 1) * gap extension penalty gap penalty + n * gap length penaltyThe two methods are basically equivalent. The first way is used by EMBOSS and WU-BLAST. The second way is used by NCBI-BLAST, GCG, Staden and CLUSTAL. Fasta for a long time used the first way, but recently shifted to the second.
In a Needleman-Wunsch global alignment, the entire length of each sequence is aligned. The sequences might be partially overlapping or one sequence might be aligned entirely internally to the other. There is no penalty for the hanging ends of the overlap. In bioinformatics, it is usually reasonable to assume that the sequences are incomplete and there should be no penalty for failing to align the missing bases.
% needle tsw:hba_human tsw:hbb_human Needleman-Wunsch global alignment of two sequences Gap opening penalty [10.0]: Gap extension penalty [0.5]: Output alignment [hba_human.needle]:
Go to the input files for this example
Go to the output files for this example
Standard (Mandatory) qualifiers: [-asequence] sequence Sequence 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] The gap open penalty is the score taken away when a gap is created. The best value depends on the choice of comparison matrix. The default value assumes you are using the EBLOSUM62 matrix for protein sequences, and the EDNAFULL matrix for nucleotide sequences. (Floating point number from 1.0 to 100.0) -gapextend float [0.5 for any sequence] The gap extension, penalty is added to the standard gap penalty for each base or residue in the gap. This is how long gaps are penalized. Usually you will expect a few long gaps rather than many short gaps, so the gap extension penalty should be lower than the gap penalty. An exception is where one or both sequences are single reads with possible sequencing errors in which case you would expect many single base gaps. You can get this result by setting the gap open penalty to zero (or very low) and using the gap extension penalty to control gap scoring. (Floating point number from 0.0 to 10.0) [-outfile] align [*.needle] 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. Advanced (Unprompted) qualifiers: -[no]brief boolean [Y] Brief identity and similarity Associated qualifiers: "-asequence" associated qualifiers -sbegin1 integer Start of the sequence to be used -send1 integer End of the 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 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|
|Sequence filename and optional format, or reference (input USA)||Readable sequence||Required|
|Sequence(s) filename and optional format, or reference (input USA)||Readable sequence(s)||Required|
|-gapopen||The gap open penalty is the score taken away when a gap is created. The best value depends on the choice of comparison matrix. The default value assumes you are using the EBLOSUM62 matrix for protein sequences, and the EDNAFULL matrix for nucleotide sequences.||Floating point number from 1.0 to 100.0||10.0 for any sequence|
|-gapextend||The gap extension, penalty is added to the standard gap penalty for each base or residue in the gap. This is how long gaps are penalized. Usually you will expect a few long gaps rather than many short gaps, so the gap extension penalty should be lower than the gap penalty. An exception is where one or both sequences are single reads with possible sequencing errors in which case you would expect many single base gaps. You can get this result by setting the gap open penalty to zero (or very low) and using the gap extension penalty to control gap scoring.||Floating point number from 0.0 to 10.0||0.5 for any sequence|
|Output alignment file name||Alignment output file||<*>.needle|
|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
|Advanced (Unprompted) qualifiers||Allowed values||Default|
|-[no]brief||Brief identity and similarity||Boolean value Yes/No||Yes|
ID HBA_HUMAN Reviewed; 142 AA. AC P69905; P01922; Q96KF1; Q9NYR7; DT 21-JUL-1986, integrated into UniProtKB/Swiss-Prot. DT 23-JAN-2007, sequence version 2. DT 03-APR-2007, entry version 41. DE Hemoglobin subunit alpha (Hemoglobin alpha chain) (Alpha-globin). GN Name=HBA1; GN and GN Name=HBA2; OS Homo sapiens (Human). OC Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; OC Mammalia; Eutheria; Euarchontoglires; Primates; Haplorrhini; OC Catarrhini; Hominidae; Homo. OX NCBI_TaxID=9606; RN  RP NUCLEOTIDE SEQUENCE [GENOMIC DNA] (HBA1). RX MEDLINE=81088339; PubMed=7448866; DOI=10.1016/0092-8674(80)90347-5; RA Michelson A.M., Orkin S.H.; RT "The 3' untranslated regions of the duplicated human alpha-globin RT genes are unexpectedly divergent."; RL Cell 22:371-377(1980). RN  RP NUCLEOTIDE SEQUENCE [MRNA] (HBA2). RX MEDLINE=80137531; PubMed=6244294; RA Wilson J.T., Wilson L.B., Reddy V.B., Cavallesco C., Ghosh P.K., RA Deriel J.K., Forget B.G., Weissman S.M.; RT "Nucleotide sequence of the coding portion of human alpha globin RT messenger RNA."; RL J. Biol. Chem. 255:2807-2815(1980). RN  RP NUCLEOTIDE SEQUENCE [GENOMIC DNA] (HBA2). RX MEDLINE=81175088; PubMed=6452630; RA Liebhaber S.A., Goossens M.J., Kan Y.W.; RT "Cloning and complete nucleotide sequence of human 5'-alpha-globin RT gene."; RL Proc. Natl. Acad. Sci. U.S.A. 77:7054-7058(1980). RN  RP NUCLEOTIDE SEQUENCE [GENOMIC DNA]. RX PubMed=6946451; RA Orkin S.H., Goff S.C., Hechtman R.L.; RT "Mutation in an intervening sequence splice junction in man."; RL Proc. Natl. Acad. Sci. U.S.A. 78:5041-5045(1981). RN  RP NUCLEOTIDE SEQUENCE [GENOMIC DNA], AND VARIANT LYS-32. RX MEDLINE=21303311; PubMed=11410421; RA Zhao Y., Xu X.; RT "Alpha2(CD31 AGG-->AAG, Arg-->Lys) causing non-deletional alpha- RT thalassemia in a Chinese family with HbH disease."; RL Haematologica 86:541-542(2001). RN  [Part of this file has been deleted for brevity] FT /FTId=VAR_002840. FT VARIANT 131 131 A -> D (in Yuda; O(2) affinity down). FT /FTId=VAR_002842. FT VARIANT 131 131 A -> P (in Sun Prairie; unstable). FT /FTId=VAR_002841. FT VARIANT 132 132 S -> P (in Questembert; highly unstable; FT causes alpha-thalassemia). FT /FTId=VAR_002843. FT VARIANT 134 134 S -> R (in Val de Marne; O(2) affinity FT up). FT /FTId=VAR_002844. FT VARIANT 136 136 V -> E (in Pavie). FT /FTId=VAR_002845. FT VARIANT 137 137 L -> M (in Chicago). FT /FTId=VAR_002846. FT VARIANT 137 137 L -> P (in Bibba; unstable; causes alpha- FT thalassemia). FT /FTId=VAR_002847. FT VARIANT 139 139 S -> P (in Attleboro; O(2) affinity up). FT /FTId=VAR_002848. FT VARIANT 140 140 K -> E (in Hanamaki; O(2) affinity up). FT /FTId=VAR_002849. FT VARIANT 140 140 K -> T (in Tokoname; O(2) affinity up). FT /FTId=VAR_002850. FT VARIANT 141 141 Y -> H (in Rouen; O(2) affinity up). FT /FTId=VAR_002851. FT VARIANT 142 142 R -> C (in Nunobiki; O(2) affinity up). FT /FTId=VAR_002852. FT VARIANT 142 142 R -> H (in Suresnes; O(2) affinity up). FT /FTId=VAR_002854. FT VARIANT 142 142 R -> L (in Legnano; O(2) affinity up). FT /FTId=VAR_002853. FT VARIANT 142 142 R -> P (in Singapore). FT /FTId=VAR_002855. FT HELIX 4 15 FT HELIX 16 20 FT HELIX 21 35 FT HELIX 37 42 FT HELIX 53 71 FT HELIX 73 75 FT HELIX 76 79 FT HELIX 81 89 FT HELIX 96 112 FT TURN 114 116 FT HELIX 119 136 FT TURN 137 139 SQ SEQUENCE 142 AA; 15258 MW; 15E13666573BBBAE CRC64; MVLSPADKTN VKAAWGKVGA HAGEYGAEAL ERMFLSFPTT KTYFPHFDLS HGSAQVKGHG KKVADALTNA VAHVDDMPNA LSALSDLHAH KLRVDPVNFK LLSHCLLVTL AAHLPAEFTP AVHASLDKFL ASVSTVLTSK YR //
ID HBB_HUMAN Reviewed; 147 AA. AC P68871; P02023; Q13852; Q14481; Q14510; Q45KT0; Q6FI08; Q8IZI1; AC Q9BX96; Q9UCP8; Q9UCP9; DT 21-JUL-1986, integrated into UniProtKB/Swiss-Prot. DT 23-JAN-2007, sequence version 2. DT 20-MAR-2007, entry version 43. DE Hemoglobin subunit beta (Hemoglobin beta chain) (Beta-globin). GN Name=HBB; OS Homo sapiens (Human). OC Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; OC Mammalia; Eutheria; Euarchontoglires; Primates; Haplorrhini; OC Catarrhini; Hominidae; Homo. OX NCBI_TaxID=9606; RN  RP NUCLEOTIDE SEQUENCE. RX MEDLINE=81064667; PubMed=6254664; DOI=10.1016/0092-8674(80)90428-6; RA Lawn R.M., Efstratiadis A., O'Connell C., Maniatis T.; RT "The nucleotide sequence of the human beta-globin gene."; RL Cell 21:647-651(1980). RN  RP NUCLEOTIDE SEQUENCE. RX MEDLINE=77126403; PubMed=1019344; RA Marotta C., Forget B., Cohen-Solal M., Weissman S.M.; RT "Nucleotide sequence analysis of coding and noncoding regions of human RT beta-globin mRNA."; RL Prog. Nucleic Acid Res. Mol. Biol. 19:165-175(1976). RN  RP NUCLEOTIDE SEQUENCE. RA Lu L., Hu Z.H., Du C.S., Fu Y.S.; RT "DNA sequence of the human beta-globin gene isolated from a healthy RT Chinese."; RL Submitted (JUN-1997) to the EMBL/GenBank/DDBJ databases. RN  RP NUCLEOTIDE SEQUENCE, AND VARIANT DURHAM-N.C. PRO-115. RC TISSUE=Blood; RA Kutlar F., Abboud M., Leithner C., Holley L., Brisco J., Kutlar A.; RT "Electrophoretically silent, very unstable, thalassemic mutation at RT codon 114 of beta globin (hemoglobin Durham-N.C.) detected by cDNA RT sequencing of mRNA, from a Russian women."; RL Submitted (AUG-1999) to the EMBL/GenBank/DDBJ databases. RN  RP NUCLEOTIDE SEQUENCE, AND VARIANT LOUISVILLE LEU-43. RC TISSUE=Blood; RA Kutlar F., Harbin J., Brisco J., Kutlar A.; RT "Rapid detection of electrophoretically silent, unstable human RT hemoglobin 'Louisville', (Beta; Phe 42 Leu/TTT to CTT) by cDNA RT sequencing of mRNA."; RL Submitted (JAN-1999) to the EMBL/GenBank/DDBJ databases. RN  RP NUCLEOTIDE SEQUENCE, AND VARIANT TY GARD GLN-125. [Part of this file has been deleted for brevity] FT VARIANT 141 141 A -> T (in St Jacques: O(2) affinity up). FT /FTId=VAR_003081. FT VARIANT 141 141 A -> V (in Puttelange; polycythemia; O(2) FT affinity up). FT /FTId=VAR_003082. FT VARIANT 142 142 L -> R (in Olmsted; unstable). FT /FTId=VAR_003083. FT VARIANT 143 143 A -> D (in Ohio; O(2) affinity up). FT /FTId=VAR_003084. FT VARIANT 144 144 H -> D (in Rancho Mirage). FT /FTId=VAR_003085. FT VARIANT 144 144 H -> P (in Syracuse; O(2) affinity up). FT /FTId=VAR_003087. FT VARIANT 144 144 H -> Q (in Little Rock; O(2) affinity FT up). FT /FTId=VAR_003086. FT VARIANT 144 144 H -> R (in Abruzzo; O(2) affinity up). FT /FTId=VAR_003088. FT VARIANT 145 145 K -> E (in Mito; O(2) affinity up). FT /FTId=VAR_003089. FT VARIANT 146 146 Y -> C (in Rainier; O(2) affinity up). FT /FTId=VAR_003090. FT VARIANT 146 146 Y -> H (in Bethesda; O(2) affinity up). FT /FTId=VAR_003091. FT VARIANT 147 147 H -> D (in Hiroshima; O(2) affinity up). FT /FTId=VAR_003092. FT VARIANT 147 147 H -> L (in Cowtown; O(2) affinity up). FT /FTId=VAR_003093. FT VARIANT 147 147 H -> P (in York; O(2) affinity up). FT /FTId=VAR_003094. FT VARIANT 147 147 H -> Q (in Kodaira; O(2) affinity up). FT /FTId=VAR_003095. FT HELIX 5 15 FT TURN 20 22 FT HELIX 23 34 FT HELIX 36 41 FT HELIX 43 45 FT HELIX 51 56 FT HELIX 58 76 FT TURN 77 79 FT HELIX 81 93 FT TURN 94 96 FT HELIX 101 118 FT HELIX 119 121 FT HELIX 124 141 FT HELIX 143 145 SQ SEQUENCE 147 AA; 15998 MW; A31F6D621C6556A1 CRC64; MVHLTPEEKS AVTALWGKVN VDEVGGEALG RLLVVYPWTQ RFFESFGDLS TPDAVMGNPK VKAHGKKVLG AFSDGLAHLD NLKGTFATLS ELHCDKLHVD PENFRLLGNV LVCVLAHHFG KEFTPPVQAA YQKVVAGVAN ALAHKYH //
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.
######################################## # Program: needle # Rundate: Tue 15 Jul 2008 12:00:00 # Commandline: needle # [-asequence] tsw:hba_human # [-bsequence] tsw:hbb_human # Align_format: srspair # Report_file: hba_human.needle ######################################## #======================================= # # Aligned_sequences: 2 # 1: HBA_HUMAN # 2: HBB_HUMAN # Matrix: EBLOSUM62 # Gap_penalty: 10.0 # Extend_penalty: 0.5 # # Length: 149 # Identity: 65/149 (43.6%) # Similarity: 90/149 (60.4%) # Gaps: 9/149 ( 6.0%) # Score: 292.5 # # #======================================= HBA_HUMAN 1 MV-LSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHF-D 48 || |:|.:|:.|.|.|||| :..|.|.|||.|:.:.:|.|:.:|..| | HBB_HUMAN 1 MVHLTPEEKSAVTALWGKV--NVDEVGGEALGRLLVVYPWTQRFFESFGD 48 HBA_HUMAN 49 LS-----HGSAQVKGHGKKVADALTNAVAHVDDMPNALSALSDLHAHKLR 93 || .|:.:||.|||||..|.::.:||:|::....:.||:||..||. HBB_HUMAN 49 LSTPDAVMGNPKVKAHGKKVLGAFSDGLAHLDNLKGTFATLSELHCDKLH 98 HBA_HUMAN 94 VDPVNFKLLSHCLLVTLAAHLPAEFTPAVHASLDKFLASVSTVLTSKYR 142 |||.||:||.:.|:..||.|...||||.|.|:..|.:|.|:..|..||. HBB_HUMAN 99 VDPENFRLLGNVLVCVLAHHFGKEFTPPVQAAYQKVVAGVANALAHKYH 147 #--------------------------------------- #---------------------------------------
The Identity: is the percentage of identical matches between the two sequences over the reported aligned region (including any gaps in the length).
The Similarity: is the percentage of matches between the two sequences over the reported aligned region (including any gaps in the length).
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:
A true Needleman Wunsch implementation like needle needs memory proportional to the product of the sequence lengths. For two sequences of length 10,000,000 and 1,000 it therefore needs memory proportional to 10,000,000,000 characters. Two arrays of this size are produced, one of ints and one of floats so multiply that figure by 8 to get the memory usage in bytes. That doesn't include other overheads. Therefore only use water and needle for accurate alignment of reasonably short sequences.
If you run out of memory, try using stretcher instead.
Uncaught exception Assertion failed raised at ajmem.c:xxx
Probably means you have run out of memory. Try using stretcher if this happens.
|est2genome||Align EST sequences to genomic DNA sequence|
|stretcher||Needleman-Wunsch rapid global alignment of two sequences|
When you want an alignment that covers the whole length of both sequences, use needle.
When you are trying to find the best region of similarity between two sequences, use water.
stretcher is a more suitable program to use to find global alignments of very long sequences.
Modified 26th July 1999 - scoring tweaked.
Modified 22 Oct 2000 - %ID and %Similarity scores added.