Parameters for MS2 TMT11Plx Thermo Orbitrap

103 views
Skip to first unread message

Rantwon Jaylen Domazsa

unread,
Jul 7, 2023, 5:28:33 PM7/7/23
to Comet ms/ms db search support
Hello,

Could someone double-check if my Linux parameters are inputted correctly? I was given reference parameters from what looks like the Windows GUI, but the prior workflow is the same.

Is it okay to add the fixed mods to the variable modifications section? I changed the value <0=variable/else binary> to "1" for my variable mods 2 and 3 to indicate these are fixed. Or should I be adding these fixed mod values to the additional modifications section?

Lastly, are there other serious parameters to consider that may influence the search?

Reference Parameters
Variable modification: Methionine oxidation (15.994915)
Fixed modification: Cysteine residues were alkylated with IAA (57.0214637236)
Fixed modification: TMT11plx reagents (229.162932 for Lys residues and N-term)
Mass and Enzyme Parameters
https://imgur.com/a/fSwFd5k

My Parameters
# comet_version 2023.01 rev. 2 (7c9150d)
decoy_search = 0                       # 0=no (default), 1=internal decoy concatenated, 2=internal decoy separate
peff_format = 0                        # 0=no (normal fasta, default), 1=PEFF PSI-MOD, 2=PEFF Unimod
peff_obo =                             # path to PSI Mod or Unimod OBO file
num_threads = 30                        # 0=poll CPU to set num threads; else specify num threads directly (max 128)

# masses
peptide_mass_tolerance = 50.00
peptide_mass_units = 2                 # 0=amu, 1=mmu, 2=ppm
mass_type_parent = 1                   # 0=average masses, 1=monoisotopic masses
mass_type_fragment = 1                 # 0=average masses, 1=monoisotopic masses
precursor_tolerance_type = 1           # 0=MH+ (default), 1=precursor m/z; only valid for amu/mmu tolerances
isotope_error = 3                      # 0=off, 1=0/1 (C13 error), 2=0/1/2, 3=0/1/2/3, 4=-8/-4/0/4/8 (for +4/+8 labeling)

# search enzyme
search_enzyme_number = 1               # choose from list at end of this params file
search_enzyme2_number = 3              # second enzyme; set to 0 if no second enzyme
num_enzyme_termini = 2                 # 1 (semi-digested), 2 (fully digested, default), 8 C-term unspecific , 9 N-term unspecific
allowed_missed_cleavage = 2            # maximum value is 5; for enzyme search

# Up to 9 variable modifications are supported
# format:  <mass> <residues> <0=variable/else binary> <max_mods_per_peptide> <term_distance> <n/c-term> <required> <neutral_loss>
#     e.g. 79.966331 STY 0 3 -1 0 0 97.976896
#
variable_mod01 = 15.9949 M 0 3 -1 0 0 0.0
variable_mod02 = 229.162932 K 1 3 -1 1 0 0.0
variable_mod03 = 57.0214637236 C 1 3 -1 0 0 0.0
variable_mod04 = 0.0 X 0 3 -1 0 0 0.0
variable_mod05 = 0.0 X 0 3 -1 0 0 0.0
variable_mod06 = 0.0 X 0 3 -1 0 0 0.0
variable_mod07 = 0.0 X 0 3 -1 0 0 0.0
variable_mod08 = 0.0 X 0 3 -1 0 0 0.0
variable_mod09 = 0.0 X 0 3 -1 0 0 0.0
max_variable_mods_in_peptide = 5
require_variable_mod = 0
scale_fragmentNL = 0                   # 0=no, 1=yes; fragment neutral loss mass is multipled by number of modified residues in the fragment

# fragment ions
# ion trap ms/ms:  1.0005 tolerance, 0.4 offset (mono masses), theoretical_fragment_ions = 1
# high res ms/ms:    0.02 tolerance, 0.0 offset (mono masses), theoretical_fragment_ions = 0, spectrum_batch_size = 15000
fragment_bin_tol = 1.0005              # binning to use on fragment ions
fragment_bin_offset = 0.4              # offset position to start the binning (0.0 to 1.0)
theoretical_fragment_ions = 1          # 0=use flanking peaks, 1=M peak only
use_A_ions = 0
use_B_ions = 1
use_C_ions = 0
use_X_ions = 0
use_Y_ions = 1
use_Z_ions = 0
use_Z1_ions = 0
use_NL_ions = 0                        # 0=no, 1=yes to consider NH3/H2O neutral loss peaks

# output
output_sqtfile = 1                     # 0=no, 1=yes  write sqt file
output_txtfile = 1                     # 0=no, 1=yes  write tab-delimited txt file
output_pepxmlfile = 1                  # 0=no, 1=yes  write pepXML file
output_mzidentmlfile = 1               # 0=no, 1=yes  write mzIdentML file
output_percolatorfile = 1              # 0=no, 1=yes  write Percolator pin file
print_expect_score = 1                 # 0=no, 1=yes to replace Sp with expect in out & sqt
num_output_lines = 5                   # num peptide results to show

sample_enzyme_number = 1               # Sample enzyme which is possibly different than the one applied to the search.
                                       # Used to calculate NTT & NMC in pepXML output (default=1 for trypsin).

# mzXML parameters
scan_range = 0 0                       # start and end scan range to search; either entry can be set independently
precursor_charge = 0 0                 # precursor charge range to analyze; does not override any existing charge; 0 as 1st entry ignores parameter
override_charge = 0                    # 0=no, 1=override precursor charge states, 2=ignore precursor charges outside precursor_charge range, 3=see online
ms_level = 2                           # MS level to analyze, valid are levels 2 (default) or 3
activation_method = ALL                # activation method; used if activation method set; allowed ALL, CID, ECD, ETD, ETD+SA, PQD, HCD, IRMPD, SID

# misc parameters
digest_mass_range = 600.0 5000.0       # MH+ peptide mass range to analyze
peptide_length_range = 5 63            # minimum and maximum peptide length to analyze (default 1 63; max length 63)
num_results = 100                      # number of search hits to store internally
max_duplicate_proteins = 20            # maximum number of additional duplicate protein names to report for each peptide ID; -1 reports all duplicates
max_fragment_charge = 3                # set maximum fragment charge state to analyze (allowed max 5)
max_precursor_charge = 6               # set maximum precursor charge state to analyze (allowed max 9)
nucleotide_reading_frame = 0           # 0=proteinDB, 1-6, 7=forward three, 8=reverse three, 9=all six
clip_nterm_methionine = 0              # 0=leave protein sequences as-is; 1=also consider sequence w/o N-term methionine
spectrum_batch_size = 15000            # max. # of spectra to search at a time; 0 to search the entire scan range in one loop
decoy_prefix = DECOY_                  # decoy entries are denoted by this string which is pre-pended to each protein accession
equal_I_and_L = 1                      # 0=treat I and L as different; 1=treat I and L as same
output_suffix =                        # add a suffix to output base names i.e. suffix "-C" generates base-C.pep.xml from base.mzXML input
mass_offsets =                         # one or more mass offsets to search (values substracted from deconvoluted precursor mass)
precursor_NL_ions =                    # one or more precursor neutral loss masses, will be added to xcorr analysis

# spectral processing
minimum_peaks = 10                     # required minimum number of peaks in spectrum to search (default 10)
minimum_intensity = 0                  # minimum intensity value to read in
remove_precursor_peak = 0              # 0=no, 1=yes, 2=all charge reduced precursor peaks (for ETD), 3=phosphate neutral loss peaks
remove_precursor_tolerance = 1.5       # +- Da tolerance for precursor removal
clear_mz_range = 0.0 0.0               # for iTRAQ/TMT type data; will clear out all peaks in the specified m/z range

# additional modifications
add_Cterm_peptide = 0.0
add_Nterm_peptide = 0.0
add_Cterm_protein = 0.0
add_Nterm_protein = 0.0

add_G_glycine = 0.0000                 # added to G - avg.  57.0513, mono.  57.02146
add_A_alanine = 0.0000                 # added to A - avg.  71.0779, mono.  71.03711
add_S_serine = 0.0000                  # added to S - avg.  87.0773, mono.  87.03203
add_P_proline = 0.0000                 # added to P - avg.  97.1152, mono.  97.05276
add_V_valine = 0.0000                  # added to V - avg.  99.1311, mono.  99.06841
add_T_threonine = 0.0000               # added to T - avg. 101.1038, mono. 101.04768
add_C_cysteine = 57.021464             # added to C - avg. 103.1429, mono. 103.00918
add_L_leucine = 0.0000                 # added to L - avg. 113.1576, mono. 113.08406
add_I_isoleucine = 0.0000              # added to I - avg. 113.1576, mono. 113.08406
add_N_asparagine = 0.0000              # added to N - avg. 114.1026, mono. 114.04293
add_D_aspartic_acid = 0.0000           # added to D - avg. 115.0874, mono. 115.02694
add_Q_glutamine = 0.0000               # added to Q - avg. 128.1292, mono. 128.05858
add_K_lysine = 0.0000                  # added to K - avg. 128.1723, mono. 128.09496
add_E_glutamic_acid = 0.0000           # added to E - avg. 129.1140, mono. 129.04259
add_M_methionine = 0.0000              # added to M - avg. 131.1961, mono. 131.04048
add_H_histidine = 0.0000               # added to H - avg. 137.1393, mono. 137.05891
add_F_phenylalanine = 0.0000           # added to F - avg. 147.1739, mono. 147.06841
add_U_selenocysteine = 0.0000          # added to U - avg. 150.0379, mono. 150.95363
add_R_arginine = 0.0000                # added to R - avg. 156.1857, mono. 156.10111
add_Y_tyrosine = 0.0000                # added to Y - avg. 163.0633, mono. 163.06333
add_W_tryptophan = 0.0000              # added to W - avg. 186.0793, mono. 186.07931
add_O_pyrrolysine = 0.0000             # added to O - avg. 237.2982, mono  237.14773
add_B_user_amino_acid = 0.0000         # added to B - avg.   0.0000, mono.   0.00000
add_J_user_amino_acid = 0.0000         # added to J - avg.   0.0000, mono.   0.00000
add_X_user_amino_acid = 0.0000         # added to X - avg.   0.0000, mono.   0.00000
add_Z_user_amino_acid = 0.0000         # added to Z - avg.   0.0000, mono.   0.00000

# COMET_ENZYME_INFO _must_ be at the end of this parameters file
[COMET_ENZYME_INFO]
0.  Cut_everywhere         0      -           -
1.  Trypsin                1      KR          P
2.  Trypsin/P              1      KR          -
3.  Lys_C                  1      K           P
4.  Lys_N                  0      K           -
5.  Arg_C                  1      R           P
6.  Asp_N                  0      D           -
7.  CNBr                   1      M           -
8.  Glu_C                  1      DE          P
9.  PepsinA                1      FL          P
10. Chymotrypsin           1      FWYL        P
11. No_cut                 1      @     @
 

David Tabb

unread,
Jul 8, 2023, 5:47:03 AM7/8/23
to Comet ms/ms db search support
Sorry, sent the first copy of this message by email to just Rantwon...

Hi, Rantwon.

I am not authoritative on Comet in particular, but I will try to give you some feedback:
  • Does your sequence database already contain decoys?  I saw that you had internal decoys turned off.
  • I was a bit surprised by a 50ppm precursor tolerance.  If you are using PeptideProphet downstream, I am sure it will benefit at the stage of determining which spectra are successfully identified.  Otherwise, it's more typical to use 10ppm or 20ppm for Orbi-class data.
  • I have seen many people allowing for a very wide-ranging number of isotope errors (isotope_error option), but I am unconvinced this is always helpful.  I usually allow for 0/1 errors only (setting 1).
  • I hope Jimmy will give some feedback on the "<0=variable/else binary>" part of the variable mods lines.  I believe that you want Lys to be statically modified, and for that, you should really use a "add_K_lysine" line instead.  If I recall correctly (that's a big "if"), binary mods are all-or-nothing for the peptide on which they are found, as one might use when SILAC is in use.  It wouldn't make sense for one Lys to be "heavy" and another one "light" on the same peptide in that type of isotopic labeling (except in the case of incomplete labelling).
  • At the moment, I believe your configuration does not anticipate that N-termini will be labelled with the TMT reagent.  The '1' you have in the Lys variable mod line I believe would anticipate that the only Lys that can be labeled are those that appear at the N-terminus (again I am uncertain).  Use add_Nterm_peptide.
  • Because Cys appears both in variable mods and in static mods, Comet would always assume a mass of 160 for it and also check for a mass of 217 (double alkylation).  I do not think this is what you intended.
  • Definitely change the values for fragment_bin_tol and fragment_bin_offset.  They are currently set for use in MS/MS data collected at low resolution, not high.
  • clear_mz_range is intended to strip out the TMT reporter ions for purposes of identification, but it is currently deactivated.
I believe you were interested in knowing whether variable modifications and static modifications can be grouped together in the config file rather than having the variables near the top and the statics near the bottom.  I believe that Comet does not care about the ordering of the lines, but some older builds of Sequest do care.  Jimmy, is there any reason that one cannot move the static mods up higher in the file?

I hope this is useful, and I apologize if I've misinterpreted the meanings of these settings!

Thanks,
Dave

Rantwon Jaylen Domazsa

unread,
Jul 9, 2023, 6:27:50 PM7/9/23
to Comet ms/ms db search support
Hi Dave,

Thanks for the suggestions! Here's my followup

1) Our sequence database is the mouse proteome and is concatenated with contaminants like Human EGF and Bovine Albumin. Should decoy search be set to (decoy_search = 1) to indicate the concat?
2) 50ppm was the metric our collaborator forwarded so we used the same.
3) Will leaving the default (isotope_error = 3) be okay?
4,5,6) I fixed the static mods to be included in the additional modifications section. I realized it was more appropriate to do so after your explanation of residues appearing at N/C terminals. Only methionine oxidation is left as a variable mod (variable_mod01 = 15.9949, M, 0, 3, -1, 0, 0, 0.0)
7) I believe our data was collected at low resolution, but I'll have to double-check. What is telling that the data should have high res parameters?
8) What mz range should be set for TMT 11-plex reagents?

Our collaborator had run the same workflow, hence why we kept the reference parameters. 

Best,

David Tabb

unread,
Jul 10, 2023, 5:21:24 AM7/10/23
to Comet ms/ms db search support
Hullo again!

1) Yes, if your sequence database contains only genuine biological sequences and not reversed or other decoy sequences, you will probably want to activate decoy_search=1 so that you can use target-decoy strategies to limit your FDR.  I am a proponent of the "reference proteomes" available at UniProt rather than using only the SwissProt proteins for each species, and I prefer inclusion of isoforms.  It is more typical in our field that people use just the SwissProt part of the reference proteomes, and most people I think omit isoform variants, as well.
2) An Orbitrap will generally have precursor mass accuracy within 10 ppm if it has been calibrated appropriately.  20ppm is a slightly more skeptical mass tolerance setting.  I have known one university core facility that relied upon mass correction in data analysis rather than calibrating their instruments, and somehow they achieved worse than 30ppm mass tolerance, but this is a rare exception!
3) Yes, using isotope_error=3 will be fine.  I just don't like making the search "looser" than necessary.
7) Almost everyone using TMT or iTRAQ measures fragments at high resolution because we need to resolve the reporter ions as much as possible, particularly when we're using some of the recent isobaric tags that have spacings of less than one Da.  You can check in your mzML files whether the MSn spectra have "filter strings" that start with "FTMS" rather than "ITMS".  The former is a high-res measurement.
8) To look up the TMT11 reporter ion m/z values, I downloaded the user guide from https://www.thermofisher.com/order/catalog/product/A34808.  The m/z values of the reporters appear on page 9/10.  The lowest is 126.128, and the highest is 131.144.  If you blank out a range of the MS/MS scans that covers 0.1 Da below and above that range, you might slightly improve identifications.

Good luck!
Dave

pwil...@gmail.com

unread,
Jul 10, 2023, 7:05:48 PM7/10/23
to Comet ms/ms db search support
Hi,
I'll add some thoughts. Comet does not process reporter ions for TMT quant. I assume you are using some pipeline that can use Comet search results for identifying peptide sequences, inferring proteins, and doing the TMT quantitative summarization. 

TMT on Orbitraps can be done two ways. All quadrupole/Orbitrap instruments (Q-Exactives and Exploris line) are limited to reporter ions present in the MS2 spectrum used for peptide identification. That has to be taken at high enough resolution to resolve the N- and C- forms of the TMT tags. The Tribrid instruments can do TMT in MS2 scans like the simpler Orbitraps, but they also support a better way to acquire more accurate reporter ion signals. This is the synchronous precursor selection (SPS) MS3 acquisition. In the SPS-MS3 instrument method, peptide identification MS2 scans are taken in the low resolution linear ion trap. A second low resolution ion trap scan repeats the peptide fragmentation and selects (typically 10) fragment ions in narrow notches. Those selected fragment ions are transferred to a collision cell for higher energy fragmentation to liberate the reporter ions with high efficiency. The reporter ions are analyzed in MS3 scans done in the Orbitrap, typically at a resolution of 50-60K. These scans, with m/z typically from 110 to 500, give the reporter ion signals for the relative quantification. 

Comet searches are configured differently depending on how the TMT data was acquired. If reporter ions are being measured in the MS2 scans, those scans are high resolution and you use the high resolution fragment ion mass settings. Excluding the region with the reporter ions may improve match scoring, although there are no b- or y-ions in the reporter ion m/z region. If the SPS-MS3 method was used, the fragment ion tolerances are the low resolution setting for the ion trap. Reporter ions will be weak in the lower collision energy used for the CID scans and their m/z region does not need to be excluded.

Modifications are independent of the way the TMT data was acquired. I try to do as few variable modifications as possible, typically only oxidized Met. I always specify the TMT tags (peptide N-term and on lysine) as static modifications, along with alkylated cysteine. Here is part of a comet.params file showing the variable modifications:

#

# Up to 9 variable modifications are supported
# format:  <mass> <residues> <0=variable/else binary> <max_mods_per_peptide> <term_distance> <n/c-term> <required>
#     e.g. 79.966331 STY 0 3 -1 0 0
#
variable_mod01 = 15.9949 M 0 3 -1 0 0
variable_mod02 = 0.0000 X 0 3 -1 0 0
variable_mod03 = 0.0000 X 0 3 -1 0 0
variable_mod04 = 0.0000 X 0 3 -1 0 0
variable_mod05 = 0.0000 X 0 3 -1 0 0
variable_mod06 = 0.0000 X 0 3 -1 0 0
variable_mod07 = 0.0000 X 0 3 -1 0 0
variable_mod08 = 0.0000 X 0 3 -1 0 0
variable_mod09 = 0.0000 X 0 3 -1 0 0
max_variable_mods_in_peptide = 5
require_variable_mod = 0

And the static modifications:

#
# additional modifications
#

add_Cterm_peptide = 0.0000            
add_Nterm_peptide = 304.2071          
add_Cterm_protein = 0.0000            
add_Nterm_protein = 0.0000            

add_G_glycine = 0.0000                 # added to G - avg.  57.0513, mono.  57.02146
add_A_alanine = 0.0000                 # added to A - avg.  71.0779, mono.  71.03711
add_S_serine = 0.0000                  # added to S - avg.  87.0773, mono.  87.03203
add_P_proline = 0.0000                 # added to P - avg.  97.1152, mono.  97.05276
add_V_valine = 0.0000                  # added to V - avg.  99.1311, mono.  99.06841
add_T_threonine = 0.0000               # added to T - avg. 101.1038, mono. 101.04768
add_C_cysteine = 57.0215               # added to C - avg. 103.1429, mono. 103.00918

add_L_leucine = 0.0000                 # added to L - avg. 113.1576, mono. 113.08406
add_I_isoleucine = 0.0000              # added to I - avg. 113.1576, mono. 113.08406
add_N_asparagine = 0.0000              # added to N - avg. 114.1026, mono. 114.04293
add_D_aspartic_acid = 0.0000           # added to D - avg. 115.0874, mono. 115.02694
add_Q_glutamine = 0.0000               # added to Q - avg. 128.1292, mono. 128.05858
add_K_lysine = 304.2071                # added to K - avg. 128.1723, mono. 128.09496

add_E_glutamic_acid = 0.0000           # added to E - avg. 129.1140, mono. 129.04259
add_M_methionine = 0.0000              # added to M - avg. 131.1961, mono. 131.04048
add_O_ornithine = 0.0000               # added to O - avg. 132.1610, mono  132.08988

add_H_histidine = 0.0000               # added to H - avg. 137.1393, mono. 137.05891
add_F_phenylalanine = 0.0000           # added to F - avg. 147.1739, mono. 147.06841
add_U_selenocysteine = 0.0000          # added to U - avg. 150.3079, mono. 150.95363

add_R_arginine = 0.0000                # added to R - avg. 156.1857, mono. 156.10111
add_Y_tyrosine = 0.0000                # added to Y - avg. 163.0633, mono. 163.06333
add_W_tryptophan = 0.0000              # added to W - avg. 186.0793, mono. 186.07931
add_B_user_amino_acid = 0.0000         # added to B - avg.   0.0000, mono.   0.00000
add_J_user_amino_acid = 0.0000         # added to J - avg.   0.0000, mono.   0.00000
add_X_user_amino_acid = 0.0000         # added to X - avg.   0.0000, mono.   0.00000
add_Z_user_amino_acid = 0.0000         # added to Z - avg.   0.0000, mono.   0.00000

Note that these are the masses for the newer TMTpro reagents. The 6/10/11 plex tags are 229.1629 mass values.

Precursor ion settings are an area where I disagree with the rest of the proteomics community. I used wide tolerance settings (1.25 Da), and Da m/z scales rather than ppm. My pipeline is designed to work that way. If you are bored, you can read more at https://pwilmart.github.io/blog/2021/04/22/Parent-ion-tolerance. With the more commonly used narrow tolerance searches, I recommend 50 ppm and allowing isotopic peak mis-triggers (isotope_error = 1 for Comet). 10 ppm is too narrow as mass calibration drifts on Orbitraps can easily be in this range. If you have errors larger than 20 ppm, the instrument should have been recalibrated. The reason to use 50ppm instead of 20ppm is to allow incorrect matches to have larger mass errors that distinguish them from correct matches which should have small mass errors. This adds power to post processing classifiers like Percolator. 

Protein FASTA file choices are another area where I seem to disagree with what most folks do. FASTA files from UniProt is not a simple thing at all. See the top part of this blog entry to see what kind of mouse FASTA files you can get from UniProt: https://pwilmart.github.io/blog/2020/09/19/shotgun-quantification-part2. I almost exclusively use the canonical forms of the reference proteomes (the one protein per gene options) and never add isoforms. I want as little peptide redundancy as possible when doing TMT quantification. This simplifies protein inference and deciding what peptides are usable for quant as most peptides map to only one protein sequence. I do FASTA processing outside of the search engine. I add a set of common contaminants and then add sequence reversed entries. I do not need to do any fancy methods to make decoys because I do wide tolerance searching. Narrow tolerance searches may require more care to make sure the decoy peptides are accurate mass balanced with target peptides. Comet can make decoys, but does not have any internal set of common contaminants. You can add contaminants to you target mouse proteins and then use Comet options to make decoys for you. You need to make sure the decoy Comet option is compatible with the post processing steps for the Comet search results. Some pipelines match peptide sequences to the FASTA file entries and you will not have the decoy proteins in your FASTA file. I think Comet makes decoy peptides for each MS2 spectrum based on the target peptides that were scored.

You could also look at MSFragger with developed workflows for TMT. They have tutorials for common analyses scenarios. The search is a little different than Comet. The post processing steps might be similar to trans proteome pipeline steps. I personally have never used MSFragger for TMT. I have my own pipeline that uses Comet for the searches and a series of Python scripts for peptide filtering, protein inference, and reporter ion processing. These shotgun TMT experiments are quite complicated to perform and to analyze. There are a lot of bench steps, the data acquisition is complicated, and the data processing involves many steps. The statistical analysis of the resulting TMT data is also very involved. The increased number of channels in TMT experiments are often used to do more complicated study designs which need more elaborate statistical analyses.
Cheers,
Phil Wilmarth
PSR Core, Oregon Health & Science University.

Jimmy Eng

unread,
Jul 10, 2023, 10:41:51 PM7/10/23
to Comet ms/ms db search support
This is one of those posts/threads that I didn't get any notifications of until Phil's response today.  To address a couple of questions that Dave brought up:
    • I hope Jimmy will give some feedback on the "<0=variable/else binary>" part of the variable mods lines.  I believe that you want Lys to be statically modified, and for that, you should really use a "add_K_lysine" line instead.  If I recall correctly (that's a big "if"), binary mods are all-or-nothing for the peptide on which they are found, as one might use when SILAC is in use.  It wouldn't make sense for one Lys to be "heavy" and another one "light" on the same peptide in that type of isotopic labeling (except in the case of incomplete labelling).
    • I believe you were interested in knowing whether variable modifications and static modifications can be grouped together in the config file rather than having the variables near the top and the statics near the bottom.  I believe that Comet does not care about the ordering of the lines, but some older builds of Sequest do care.  Jimmy, is there any reason that one cannot move the static mods up higher in the file?
      The binary modification entry in the variable mods informs Comet to force all possible modified residues in a peptide to either all be modified or all be unmodified.  Setting the binary modification param does effectively treat it as a combination of no-mods and a static mod search if that makes sense.  There's a very small use case for when someone might want to do a binary modification search (which probably doesn't justify it's existence); TMT analysis would not be one of those cases.  I typically use static mods to analyze TMT data but I have received requests to do TMT searches using variable mods in order to also evaluate the labelling efficiency. 

      As for the the order of parameter entries in the comet.params file, the order doesn't matter except for the enzyme definitions at the end of the file which needs to stay at the end.  So yes, the static mods can be moved up higher in the file; I'll move them next to the variable mods in the next update.

      And I encourage everyone to give Phil's PAW pipeline a try.  It's clear Phil has given much more careful thought to optimizing TMT processing than I likely ever will!

      Jimmy
      Reply all
      Reply to author
      Forward
      0 new messages