Hi Tung,
Yes, this behavior for a static mod on C is normal:
--mods-spec <string> – The general form of a modification specification has three components, as exemplified by 1STY+79.966331.
The three components are: [max_per_peptide]residues[+/-]mass_change
In the example, max_per_peptide is 1, residues are STY, and mass_change is +79.966331. To specify a static modification, the number preceding the amino acid must be omitted; i.e., C+57.02146
specifies a static modification of 57.02146 Da to cysteine. Note that
Tide allows at most one modification per amino acid. Also, the default
modification (C+57.02146) will be added to every mods-spec string unless
an explicit C+0 is included. Default = C+57.02146.
Unfortunately, the answer to your second question is that Crux does not currently have a way to generate lists of matched b/y ions. Sorry about that!
Bill