Comet parameter: variable_mod01 through variable_mod15
There are 8 fields/settings that are associated with these parameters:
- The first entry is a decimal value specifying the modification mass difference.
- The second entry is the residue(s) that the modifications are possibly applied to.
If more than a single residue is modified by the same mass difference, list them
all as a string. Terminal modifications are specified with these codes, which can be
combined with residues in the same string (e.g. “nK”):
- ‘n’ = any peptide N-terminus
- ‘c’ = any peptide C-terminus
- ’^’ = protein N-terminus only, i.e. the N-terminus of a peptide that starts at the first residue of the protein (or at the second residue when the initial methionine is clipped, see clip_nterm_methionine); added with release 2026.03.0
- ’$’ = protein C-terminus only, i.e. the C-terminus of a peptide that ends at the last residue of the protein; added with release 2026.03.0
- The third entry is an integer to specify whether the modification is a
variable modification (0) or a binary modification (non-zero value).
Note that if you set the same binary modification value in multiple “variable_mod?” parameter
entries, Comet will treat those variable modifications as a “binary set”. This means
that all modifiable residues in the “binary set” must be unmodified or modified. Multiple
“binary sets” can be specified by setting a different binary modification value e.g.
use “1” for all modifications in set 1, and “2” for all modifications in set 2.
Binary modification groups were added with version 2015.02 rev. 1.
- 0 = variable modification analyzes all permutations of modified and unmodified residues.
- non-zero value = binary modification analyzes peptides where all residues are either modified or all residues are not modified.
- The fourth entry is an integer specifying the maximum number of modified residues possible in a peptide for this modification entry. With release 2020.01 rev. 3, this field has been extended to allow specifying both a minimum and maximum number of modified residues for this modification entry. A single integer, e.g. “3”, would specify that up to 3 variable mods are allowed. Comma separated values, e.g. “2,4” would specify that peptides must have between 2 and 4 of this variable modification.
- The fifth entry specifies the distance the modification is applied to from the respective terminus:
- -2 = apply anywhere except c-terminal residue of peptide
- -1 = no distance constraint
- 0 = only applies to terminal residue
- 1 = only applies to terminal residue and next residue
- 2 = only applies to terminal residue through next 2 residues
- N = only applies to terminal residue through next N residues where N is a positive integer
- The sixth entry specifies which terminus the distance constraint is applied to:
- 0 = protein N-terminus
- 1 = protein C-terminus
- 2 = peptide N-terminus
- 3 = peptide C-terminus
-
Starting with release 2026.03.0, the distance constraint (fifth and sixth entries) is honored by regular FASTA searches and by both indexed database searches (fragment ion index and peptide index, .idx files). Earlier releases applied it to regular FASTA searches only; indexed searches applied the modification without the constraint.
Distance constraint FASTA search Indexed (.idx) search none (-1) yes yes -2 (not on the peptide C-terminal residue) yes yes peptide N-terminus or C-terminus (2 or 3), any distance yes yes protein N-terminus or C-terminus (0 or 1), distance 0 yes yes protein N-terminus or C-terminus (0 or 1), distance > 0 yes partial: applied only to peptides at that protein terminus (a warning is reported) The index does not store where a peptide lies within its protein, so for a protein terminus distance greater than 0, an indexed search considers only peptides that contain that protein terminus. A peptide present in multiple proteins is a candidate for a protein-terminus modification if it is protein-terminal in any of those proteins; a match carrying that modification is then reported only against the proteins in which the peptide is at that terminus, as in a regular FASTA search.
- A distance value below -2, or a distance of 0 or more combined with a terminus value outside 0 to 3, is an error and the search does not run (release 2026.03.0 and later).
- A terminal modification can be combined with a distance constraint on the opposite terminus to restrict it by peptide length, e.g. “n 0 1 8 3” applies the N-terminal modification only to peptides of 9 residues or fewer.
- Binary modifications (non-zero third entry) with a distance constraint are supported by regular FASTA searches only.
- When “n” or “c” is the only entry in the residue string, “n” with distance 0 from the protein N-terminus (e.g. “n 0 3 0 0”) is treated as “^” and “c” with distance 0 from the protein C-terminus (e.g. “c 0 3 0 1”) is treated as “$”.
- The seventh entry specifies whether peptides must contain this modification. If set to 1,
only peptides that contain this modification will be analyzed.
- 0 = not forced to be present
- 1 = modification is required
- -1 = exclusive modification; only one of the set of exclusive modifications can appear in the peptide; this functionality was added with release 2024.01.0
- The eighth entry is an optional fragment neutral loss field. For any fragment ion that contains the variable modification, a neutral loss will also be analyzed if the specified neutral loss value is not zero (0.0). With version 2025.01.0, this field has been extended to accept two fragment neutral loss values. Use a comma (no spaces) to delimit the second neutral loss; see example below.
- The default value is “0.0 X 0 3 -1 0 0 0.0” if this parameter is missing except if Comet is compiled with the Crux flag on. For Crux compilation, the default value for variable_mod01 is “15.9949 M 0 3 -1 0 0 0.0” if this parameter is missing.
Example:
variable_mod01 = 15.9949 M 0 3 -1 0 0 0.0
variable_mod02 = 79.966331 STY 0 3 -1 0 0 97.976896 ... possible phosphorylation on any S, T, Y residue with a neutral loss of 98
variable_mod02 = 79.966331 STY 0 3 -1 0 0 97.976896,79.966331 ... possible phosphorylation on any S, T, Y residue with fragment neutral losses of 98 and 80 considered
variable_mod02 = 79.966331 STY 0 3 -1 0 1 0.0 ... force peptide IDs to contain at least one phosphorylation mod
variable_mod01 = 42.010565 nK 0 3 -1 0 0 0.0 ... acetylation mod to lysine and N-terminus of all peptides
variable_mod01 = 42.010565 ^ 0 1 -1 0 0 0.0 ... acetylation of protein N-terminus (release 2026.03.0 and later)
variable_mod01 = 15.994915 n 0 3 0 0 0 0.0 ... oxidation of protein N-terminus (same as "15.994915 ^ 0 3 -1 0 0 0.0")
variable_mod01 = 28.0 c 0 3 8 1 0 0.0 ... modification applied to C-terminus as long as the C-term residue is one of last 9 residues in protein
(indexed searches apply it only to peptides that end at the protein C-terminus)
variable_mod03 = -17.026549 Q 0 1 0 2 0 0.0 ... cyclization of N-terminal glutamine to form pyroglutamic acid (elimination of NH3)
variable_mod04 = -18.010565 E 0 1 0 2 0 0.0 ... cyclization of N-terminal glutamic acid to form pyroglutamic acid (elimination of H2O)
Here is a binary modification search example of triple SILAC plus acetylation of lysine. The SILAC modifications are “R +6 and K +4” (medium) and “R +10 and K +8” (heavy). In conjunction with K +42 acetylation, the binary modification sets would be “R +6, K +4, K +4+42” for SILAC medium (binary group 1) and “R +10, K +8, K +8+42” for SILAC heavy (binary group 2). Mass values are listed with no precision for clarity; definitely use precise modification masses in practice.
variable_mod01 = 42.0 K 0 3 -1 0 0 0.0
variable_mod02 = 6.0 R 1 3 -1 0 0 0.0
variable_mod03 = 4.0 K 1 3 -1 0 0 0.0
variable_mod04 = 46.0 K 1 3 -1 0 0 0.0
variable_mod05 = 10.0 R 2 3 -1 0 0 0.0
variable_mod06 = 8.0 K 2 3 -1 0 0 0.0
variable_mod07 = 50.0 K 2 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
variable_mod10 = 0.0 X 0 3 -1 0 0 0.0
variable_mod11 = 0.0 X 0 3 -1 0 0 0.0
variable_mod12 = 0.0 X 0 3 -1 0 0 0.0
variable_mod13 = 0.0 X 0 3 -1 0 0 0.0
variable_mod14 = 0.0 X 0 3 -1 0 0 0.0
variable_mod15 = 0.0 X 0 3 -1 0 0 0.0
Comet Variable Mod Config Generator
Use the form below to build a correctly formatted variable_mod line for Comet. When valid, the config string will appear in the display box and can be copied to your clipboard.
Home
Releases
Params
Notes
Code
Download