Please help by correcting and extending the Wiki pages.
Given an input file of molecular weights corresponding to peptides cut by proteolytic enzymes or reagents, emowse will search the supplied input protein sequences for digest fragments that match the molecular weights. For each input sequence, emowse derives both whole sequence molecular weight and calculated peptide molecular weights for complete digests. One of eight cutting enzymes/reagents can be specified and an optional whole sequence molecular weight (if known). Optionally, monoisotopic weights are used. emowse also incorporate calculated peptide Mw's resulting from incomplete or partial cleavages. At present, this is achieved by computing all nearest-neighbour pairs for each enzyme or reagent.
emowse writes an output file that includes: i. The specified search parameters (digest reagent, specified error tolerance, specified intact protein Mw and Mw filter percentage). ii. Short 'hit' listing (the top 50 scoring proteins listed in descending order, the sequence ID name and brief text identifiers are included). iii. Detailed 'hit' listing (the top 50 entries listed in more detail).
% emowse Search protein sequences by digest fragment molecular weight Input protein sequence(s): tsw:* Peptide molecular weight values file: test.mowse Whole sequence molwt : Use monoisotopic weights [N]: Output file [12s1_arath.emowse]:
Go to the input files for this example
Go to the output files for this example
Search protein sequences by digest fragment molecular weight Version: EMBOSS:6.3.0 Standard (Mandatory) qualifiers: [-sequence] seqall Protein sequence(s) filename and optional format, or reference (input USA) [-infile] infile Peptide molecular weight values file -weight integer  Whole sequence molwt (Any integer value) -mono boolean [N] Use monoisotopic weights [-outfile] outfile [*.emowse] Output file name Additional (Optional) qualifiers: (none) Advanced (Unprompted) qualifiers: -mwdata datafile [Emolwt.dat] Molecular weights data file -frequencies datafile [Efreqs.dat] Amino acid frequencies data file -enzyme menu  Enzyme or reagent (Values: 1 (Trypsin); 2 (Lys-C); 3 (Arg-C); 4 (Asp-N); 5 (V8-bicarb); 6 (V8-phosph); 7 (Chymotrypsin); 8 (CNBr)) -pcrange integer  Allowed whole sequence weight variability (Integer from 0 to 75) -tolerance float [0.1] Tolerance (Number from 0.100 to 1.000) -partials float [0.4] Partials factor (Number from 0.100 to 1.000) Associated qualifiers: "-sequence" 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 "-outfile" associated qualifiers -odirectory3 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 and exit. 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 -version boolean Report version number and exit
|Standard (Mandatory) qualifiers|
|seqall||Protein sequence(s) filename and optional format, or reference (input USA)||Readable sequence(s)||Required|
|infile||Peptide molecular weight values file||Input file||Required|
|-weight||integer||Whole sequence molwt||Any integer value||0|
|-mono||boolean||Use monoisotopic weights||Boolean value Yes/No||No|
|outfile||Output file name||Output file||<*>.emowse|
|Additional (Optional) qualifiers|
|Advanced (Unprompted) qualifiers|
|-mwdata||datafile||Molecular weights data file||Data file||Emolwt.dat|
|-frequencies||datafile||Amino acid frequencies data file||Data file||Efreqs.dat|
|-enzyme||list||Enzyme or reagent||
|-pcrange||integer||Allowed whole sequence weight variability||Integer from 0 to 75||25|
|-tolerance||float||Tolerance||Number from 0.100 to 1.000||0.1|
|-partials||float||Partials factor||Number from 0.100 to 1.000||0.4|
|"-sequence" associated seqall qualifiers|
|integer||Start of each sequence to be used||Any integer value||0|
|integer||End of each sequence to be used||Any integer value||0|
|boolean||Reverse (if DNA)||Boolean value Yes/No||N|
|boolean||Ask for begin/end/reverse||Boolean value Yes/No||N|
|boolean||Sequence is nucleotide||Boolean value Yes/No||N|
|boolean||Sequence is protein||Boolean value Yes/No||N|
|boolean||Make lower case||Boolean value Yes/No||N|
|boolean||Make upper case||Boolean value Yes/No||N|
|string||Input sequence format||Any string|
|string||Database name||Any string|
|string||UFO features||Any string|
|string||Features format||Any string|
|string||Features file name||Any string|
|"-outfile" associated outfile qualifiers|
|string||Output directory||Any string|
|-auto||boolean||Turn off prompts||Boolean value Yes/No||N|
|-stdout||boolean||Write first file to standard output||Boolean value Yes/No||N|
|-filter||boolean||Read first file from standard input, write first file to standard output||Boolean value Yes/No||N|
|-options||boolean||Prompt for standard and additional values||Boolean value Yes/No||N|
|-debug||boolean||Write debug output to program.dbg||Boolean value Yes/No||N|
|-verbose||boolean||Report some/full command line options||Boolean value Yes/No||Y|
|-help||boolean||Report command line options and exit. More information on associated and general qualifiers can be found with -help -verbose||Boolean value Yes/No||N|
|-warning||boolean||Report warnings||Boolean value Yes/No||Y|
|-error||boolean||Report errors||Boolean value Yes/No||Y|
|-fatal||boolean||Report fatal errors||Boolean value Yes/No||Y|
|-die||boolean||Report dying program messages||Boolean value Yes/No||Y|
|-version||boolean||Report version number and exit||Boolean value Yes/No||N|
6082.8 5423.0 3086.3 2930.3 2424.7 2030.2 1399.6 1086.2
The input file is a list of molecular weights of the peptide fragments. One weight is allowed per line. The example file above is a Trypsin digest of the protein sw:100K_rat (produced by using the program digest).
Each molecular weight must be on a line of its own. Masses (M not M[H+]) are accepted in any order (ascending,descending or mixed). Peptide masses can be entered as integers or floating-point values, the latter being rounded to the nearest integer value for the search.
It is suggested that peptide masses should be selected from the range 700-4000 Daltons. This range balances the fact that very small peptides give little discrimination and minimizes the frequency of partially-cleaved peptides.
As a general rule, users are advised to identify and remove peptide masses resulting from autodigestion of the cleavage enzyme (e.g tryptic fragments of trypsin), best obtained by MS analysis of control digests containing only the enzyme.
Further information on the partial sequence and/or composition of the peptides can be given after the weight with a 'seq()' or 'comp()' specification. This should be formatted like:
mw seq(...) comp(...)
where mw is the molecular mass of the fragment, seq(...) is sequence information and comp(...) is composition information. A line may contain more than one sequence information qualifiers. For example:
7176 seq(b-t[pqt]ln) 1744 1490 1433 comp(3[ed]1[p]) seq(gmde)
Sequence informationThe sequence information should be given in standard One-character code. It should be preceded by a prefix as outlined in the table below, to indicate what type of sequence it is.
|n-||N terminal sequence||seq(n-ACDE)|
|c-||C terminal sequence||seq(c-FGHI)|
|The examples are all correct data for a
peptide with a sequence ACDEFGHI.|
Note that *-DEFG will search for both DEFG and GFED
Both lower and upper case characters may be used for amino-acids. An unknown amino acid may be indicated by an 'X'. More than one amino acid may be specified for a position by putting them between square brackets. A line may contain several sequence information qualifiers. An example for a peptide with the actual sequence ACDEFGHI might look like:
12345 seq(n-AC[DE]) seq(c-HI)
comp(2[H]0[M]3[DE]*[K])indicates a peptide which contains 2 histidines, no methionines, 3 acidic residues (glutamic or aspartic acid) and at least 1 lysine.
Using data fragments of: 1086.2 1399.6 2030.2 2424.7 2930.3 3086.3 5423.0 6082.8 1 UBR5_RAT E3 ubiquitin-protein ligase UBR5 (6.3.2.-) (E3 ubiquitin-prote 2 SYVC_TAKRU Valyl-tRNA synthetase (126.96.36.199) (Valine--tRNA ligase) (ValRS) 3 TCPD_TAKRU T-complex protein 1 subunit delta (TCP-1-delta) (CCT-delta) 4 OPS2_DROME Opsin Rh2 (Ocellar opsin) 5 FLAV_ECO57 Flavodoxin-1 6 FLAV_ECOL6 Flavodoxin-1 7 FLAV_ECOLI Flavodoxin-1 8 FLAV_KLEPN Flavodoxin 9 FLAV_SYNY3 Flavodoxin 10 EI2BB_TAKRU Translation initiation factor eIF-2B subunit beta (eIF-2B GDP- 11 FLAV_HAEIN Flavodoxin 12 HIRA_TAKRU Protein HIRA (TUP1-like enhancer of split protein 1) 13 OPS2_SCHGR Opsin-2 14 LACY_ECOLI Lactose permease (Lactose-proton symport) 15 FLAV_CLOSA Flavodoxin 16 AMIC_PSEAE Aliphatic amidase expression-regulating protein 17 PAX3_HUMAN Paired box protein Pax-3 (HuP2) 18 PAX4_HUMAN Paired box protein Pax-4 19 CO9_TAKRU Complement component C9 (Precursor) 20 SYHC_TAKRU Histidyl-tRNA synthetase, cytoplasmic (188.8.131.52) (Histidine--t 21 BGAL_ECOLI Beta-galactosidase (Beta-gal) (184.108.40.206) (Lactase) 22 HD_TAKRU Huntingtin (Huntington disease protein homolog) (HD protein ho 1 : UBR5_RAT 1.233e+06 103949.9 0.750 E3 ubiquitin-protein ligase UBR5 (6.3.2.-) (E3 ubiquitin-protein ligase, HECT domain-containing 1) (Hyperplastic discs protein homolog) (100 kDa protein) (Fragment) Mw Start End Seq 1086.3 389 398 CATTPMAVHR 1399.6 37 48 GDFLNYALSLMR 2424.7 321 343 VFMEDVGAEPGSILTELGGFEVK 2930.3 702 729 QLILASQSSDADAVFSAMDLAFAVDLCK 3086.3 489 516 QLSIDTRPFRPASEGNPSDDPDPLPAHR *6082.9 848 901 QDLVYFWTSSPSLPASEEGFQPMPSITIRPPDDQHLPTANTCISR... No Match 2030.2 5423.0 2 : SYVC_TAKRU 3.791e+01 138218.2 0.375 Valyl-tRNA synthetase (220.127.116.11) (Valine--tRNA ligase) (ValRS) Mw Start End Seq 1087.3 510 518 TVLHPFCDR *1399.6 1184 1195 VPVKVQEQDTEK [Part of this file has been deleted for brevity] No Match 1086.2 1399.6 2030.2 2424.7 2930.3 5423.0 6082.8 15 : FLAV_CLOSA 4.938e+00 17763.4 0.125 Flavodoxin Mw Start End Seq *1085.3 17 26 VAKLIEEGVK No Match 1399.6 2030.2 2424.7 2930.3 3086.3 5423.0 6082.8 16 : AMIC_PSEAE 3.859e+00 42807.1 0.125 Aliphatic amidase expression-regulating protein Mw Start End Seq *2423.7 308 328 VEDVQRHLYDICIDAPQGPVR No Match 1086.2 1399.6 2030.2 2930.3 3086.3 5423.0 6082.8 17 : PAX3_HUMAN 3.494e+00 52967.5 0.125 Paired box protein Pax-3 (HuP2) Mw Start End Seq *2930.4 11 37 MMRPGPGQNYPRSGFPLEVSTPLGQGR No Match 1086.2 1399.6 2030.2 2424.7 3086.3 5423.0 6082.8 18 : PAX4_HUMAN 3.488e+00 37832.7 0.125 Paired box protein Pax-4 Mw Start End Seq *2029.4 28 45 QQIVRLAVSGMRPCDISR No Match 1086.2 1399.6 2424.7 2930.3 3086.3 5423.0 6082.8 19 : CO9_TAKRU 3.007e+00 65197.9 0.125 Complement component C9 (Precursor) Mw Start End Seq *2930.2 135 162 TCPPTVLDTNEQGRTAGYGINILGADPR No Match 1086.2 1399.6 2030.2 2424.7 3086.3 5423.0 6082.8 20 : SYHC_TAKRU 2.821e+00 57913.0 0.125 Histidyl-tRNA synthetase, cytoplasmic (18.104.22.168) (Histidine--tRNA ligase) (HisRS) Mw Start End Seq 1087.2 124 133 DQGGELLSLR No Match 1399.6 2030.2 2424.7 2930.3 3086.3 5423.0 6082.8 21 : BGAL_ECOLI 2.280e+00 116482.9 0.125 Beta-galactosidase (Beta-gal) (22.214.171.124) (Lactase) Mw Start End Seq 1400.6 601 612 QFCMNGLVFADR No Match 1086.2 2030.2 2424.7 2930.3 3086.3 5423.0 6082.8 22 : HD_TAKRU 2.169e+00 348936.6 0.375 Huntingtin (Huntington disease protein homolog) (HD protein homolog) Mw Start End Seq *1400.6 2899 2911 VDGEALVKLSVDR *2031.3 645 663 LLSASFLLTGQKNGLTPDR *3085.6 1573 1597 LVQYHQVLEMFILVLQQCHKENEDK No Match 1086.2 2424.7 2930.3 5423.0 6082.8
The emowse search program outputs a listing file containing the following information.
Matching peptides marked with a '*' denote partially-cleaved fragments.
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:
Given a one-per-line file of molecular weights cut by enzymes/reagents, emowse will search a protein database for matches with the mass spectrometry data.
One of eight cutting enzymes/reagents can be specified and an optional whole sequence molecular weight.
Determination of molecular weight has always been an important aspect of the characterization of biological molecules. Protein molecular weight data, historically obtained by SDS gel electrophoresis or gel permeation chromatography, has been used establish purity, detect post-translational modification (such as phosphorylation or glycosylation) and aid identification. Until just over a decade ago, mass spectrometric techniques were typically limited to relatively small biomolecules, as proteins and nucleic acids were too large and fragile to withstand the harsh physical processes required to induce ionization. This began to change with the development of 'soft' ionization methods such as fast atom bombardment (FAB), electrospray ionisation (ESI) [2,3] and matrix-assisted laser desorption ionisation (MALDI), which can effect the efficient transition of large macromolecules from solution or solid crystalline state into intact, naked molecular ions in the gas phase. As an added bonus to the protein chemist, sample handling requirements are minimal and the amounts required for MS analysis are in the same range, or less, than existing analytical methods.
As well as providing accurate mass information for intact proteins, such techniques have been routinely used to produce accurate peptide molecular weight 'fingerprint' maps following digestion of known proteins with specific proteases. Such maps have been used to confirm protein sequences (allowing the detection of errors of translation, mutation or insertion), characterise post-translational modifications or processing events and assign disulphide bonds [5,6].
Less well appreciated, however, is the extent to which such peptide mass information can provide a 'fingerprint' signature sufficiently discriminating to allow for the unique and rapid identification of unknown sample proteins, independent of other analytical methods such as protein sequence analysis.
Practical experience has shown that sample proteins can be uniquely identified using as few as 3- 4 experimentally determined peptide masses when screened against a fragment database derived from over 50,000 proteins. Experimental errors of a few Daltons are tolerated by the scoring algorithms, permitting the use of inexpensive time-of-flight mass spectrometers. As with other types of physical data, such as amino acid composition or linear sequence, peptide masses can clearly provide a set of determinants sufficiently unique to identify or match unknown sample proteins. Peptide mass fingerprints can prove as discriminating as linear peptide sequence, but can be obtained in a fraction of the time using less material. In many cases, this allows for a rapid identification of a sample protein before committing to protein sequence analysis. Fragment masses also provide structural information, at the protein level, fully complementary to large-scale DNA sequencing or mapping projects [7,8,9].
For each entry in the specified set of sequences to search, emowse derives both whole sequence molecular weight and calculated peptide molecular weights for complete digests using the range of cleavage reagents and rules detailed in Table 1. Cleavage is disallowed if the target residue is followed by proline (except for CNBr or Asp N). Glu C (S. aureus V8 protease) cleavages are also inhibited if the adjacent residue is glutamic acid. Peptide mass calculations are based entirely on the linear sequence and use the average isotopic masses of amide-bonded amino acid residues (IUPAC 1987 relative atomic masses). To allow for N-terminal hydrogen and C-terminal hydroxyl the final calculated molecular weight of a peptide of N residues is given by the equation:
N __ \ / Residue mass + 18.0153 -- n=1Molecular weights are rounded to the nearest integer value before being used. Cysteine residues are calculated as the free thiol, anticipating that samples are reduced prior to mass analysis. CNBr fragments are calculated as the homoserine lactone form. Information relating to post- translational modification (phosphorylation, glycosylation etc.) is not incorporated into calculation of peptide masses.
Reagent no. Reagent Cleavage rule 1 Trypsin C-term to K/R 2 Lys-C C-term to K 3 Arg-C C-term to R 4 Asp-N N-term to D 5 V8-bicarb C-term to E 6 V8-phosph C-term to E/D 7 Chymotrypsin C-term to F/W/Y/L/M 8 CNBr C-term to M
Current versions of emowse also incorporate calculated peptide Mw's resulting from incomplete or partial cleavages. At present, this is achieved by computing all nearest-neighbour pairs for each enzyme or reagent detailed in table 1.
Computing all possible nearest-neighbour partial fragments adds significantly to the number of peptides entered in the database (by a factor of two). The major effect of this is to increase the background score by increasing the number of random Mw matches, which can significantly reduce discrimination. The use of a low '-partials' factor (eg 0.1 - 0.3) is a useful way of limiting this effect - partial peptide matches will add a little to the cumulative frequency score, but without compromising discrimination.
More experienced users can utilise the '-partials' factor to optimize searches where the peptide Mw data contain a significant proportion of partial cleavage fragments (eg > 30%). In such cases, setting the '-partials' factor within the range 0.4 - 0.6 can help to improve discrimination. Conversely, if the digestion is perfect, with no partial fragments present, the lowest '-partials' factor of 0.1 will give maximum discrimination.
For each peptide Mw entry in the data file, emowse matches individual fragment molecular weights (FMWs) with database entry molecular weights (DBMWs). A 'hit' is scored when the following criterion is met:
DBMW-tolerance-1 < FMW < DBMW+tolerance+1
If an intact protein Mw is specified (SMW) then the program prompts for a molecular weight filter percentage (MWFP). emowse then restricts the search to those entries which match the following criteria:
R = SMW x MWFP / 100 0 < SMW-R < emowse entry Mol.wt. < SMW+R
Default search parameters are a tolerance of +/- 2 Daltons, intact Mw specified and the MWFP set to 25.
Cell value = Old value / Fmax
to yield floating point numbers between 0 and 1. These distribution frequency values, calculated for each cleavage reagent, were then built into the emowse search program. For every database entry scanned, all matching fragments contribute to the final score. In the current implementation, non-matching fragments are ignored (neutral). For each matching peptide Mw a score is assigned by looking up the appropriate normalised distribution frequency value. In the case of multiple 'hits' in any one target protein (i.e. more than one matching peptide Mw), the distribution frequency scores are multiplied. The final product score is inverted and then normalised to an 'average' protein Mw of 50 kDaltons to reduce the influence of random score accumulation in large proteins (>200 kDaltons). The final score is thus calculated as:
Score = 50/(Pn x H)
Where Pn is the product of n distribution scores and H the 'hit' protein molecular weight in kD.
Important consequences of this type of scoring scheme are that matches with peptides of higher Mw carry more scoring weight, and that the non-random distribution of fragment molecular weights in proteins of different sizes is compensated for.
This distribution was somewhat dependent on protein size, as smaller proteins generally yield fewer peptide fragments. Thus, all proteins of 30 kD and over were identified using 13% or less of possible fragments (1 in 8), with all proteins of 40 kD and above requiring less than 10% (1 in 10). In this latter group, therefore, more than 90% of the potential information (all possible peptides) was redundant. For the simulation a 'unique' identification required matching not only of protein type (e.g. globin) but correct discrimination of type, species, and isoform or isozyme. Discrimination could be further improved by reducing the error tolerance to only +/- 1 Dalton (mean=2.7 peptides). Such accuracies are easily bettered using more sophisticated ESI/quadrupole or high-field FAB spectrometers, but the default search value (+/- 2 Daltons) compensates for the reduced accuracy obtainable from the smaller time-of-flight (TOF) instruments. Mass accuracies better than +/- 1 Dalton were not essential, and in fact the error tolerance could be relaxed to +/- 5 Daltons in many cases with little degradation in performance. The simulation thus clearly demonstrated the high degree of discrimination afforded by relatively few peptide masses, even with generous allowance for error.
|backtranambig||Back-translate a protein sequence to ambiguous nucleotide sequence|
|backtranseq||Back-translate a protein sequence to a nucleotide sequence|
|charge||Draw a protein charge plot|
|checktrans||Reports STOP codons and ORF statistics of a protein|
|compseq||Calculate the composition of unique words in sequences|
|freak||Generate residue/base frequency table or plot|
|iep||Calculate the isoelectric point of proteins|
|mwcontam||Find weights common to multiple molecular weights files|
|mwfilter||Filter noisy data from molecular weights file|
|octanol||Draw a White-Wimley protein hydropathy plot|
|pepinfo||Plot amino acid properties of a protein sequence in parallel|
|pepstats||Calculates statistics of protein properties|
|pepwindow||Draw a hydropathy plot for a protein sequence|
|pepwindowall||Draw Kyte-Doolittle hydropathy plot for a protein alignment|
|wordcount||Count and extract unique words in molecular sequence(s)|
Please report all bugs to the EMBOSS bug team (emboss-bug © emboss.open-bio.org) not to the original author.