Comet releases 2025.02
Documentation for parameters for release 2025.02 can be found here.
Download release here.
release 2025.02 rev. 0 (2025.02.0), release date 2025/06/04
- Per request, implemented the “min_precursor_charge” parameter. This, along with the existing “max_precursor_charge” parameter, allows for searching a restricted precursor charge state range. Feature requested by the UW Bruce lab.
- Changed allocations of temporary memory during threaded preprocessing… by @mhoopmann in https://github.com/UWPR/Comet/pull/78
- Update MSToolkit in https://github.com/UWPR/Comet/pull/80
- Deprecated win32 support in Visual Studio.
- NOTE: there are performance/speed issues with the Windows versions of Comet after release 2023.01 rev. 2. The performance issue affects release 2024.01 rev. 0 through this 2025.02 rev. 0 release. These versions run much slower than they should on Windows. Linux binaries do not appear affected and it will be a priority to address the issue.
The following bugs present in this release were identified and addressed in later releases, as noted for each item:
- Known bug: peptide index searches parsed the wrong digest mass range start from the .idx file for each query, resulting in slow search times. Addressed in release 2025.03 rev. 0.
- Known bug: peptide index searches limited the fragment ion mass range of the xcorr calculation to fragindex_max_fragmentmass, resulting in lower than expected xcorr scores for larger peptides. Addressed in release 2025.03 rev. 0.
- Known bug: in the peptide similarity check of the deltaCn calculation, the K/Q and I/L comparisons were performed against the top ranked peptide instead of the intended pair of peptides. Addressed in release 2025.03 rev. 0.
- Known bug: fragment ion index searches could segfault in the binary search of the fragment index entries (BinarySearchIndexMass) when the search midpoint reached zero. Addressed in release 2025.03 rev. 0.
- Known bug: the require_variable_mod parameter was not applied in fragment ion index searches, so unmodified peptides were not excluded. Addressed in release 2025.03 rev. 0.
- Known bug: mzIdentML output reported the retention time with the cvParam “start scan time” (MS:1000016) instead of “retention time” (MS:1000894), see issue #84. Addressed in release 2025.03 rev. 0.
- Known bug: the duplicate peptide check (CheckDuplicate) did not consider the terminal modification states, so peptides differing only in a terminal variable modification could be treated as duplicates (identified while looking into issue #93). Addressed in release 2026.01 rev. 0.
- Known bug: Comet segfaults when the -N command line option specifies an output path in a folder that does not exist, see issue #90. Addressed in release 2026.01 rev. 0.
- Known bug: with decoy_search = 2, deltaCn was not computed for the decoy results. Addressed in release 2026.01 rev. 0 (PR #94).
- Known issue: reported peptide masses could vary at the 6th decimal place due to accumulated floating point rounding when digesting the FASTA sequences, see issue #93. Peptide masses are recalculated in post-processing as of release 2026.01 rev. 0.
- Known bug: the set_Z_user_amino_acid parameter set the mass of residue X instead of residue Z. Addressed in release 2026.02 rev. 0.
- Known bug: the fragindex_num_spectrumpeaks parameter was ignored; the default value of 150 was always applied. Addressed in release 2026.02 rev. 0.
- Known bug: an .idx file generated on Windows could not be read on Linux (bad_alloc error), and vice versa, because index file size fields were written with a platform dependent 4 or 8 byte integer. Addressed in release 2026.02 rev. 0.
- Known bug: the E-value linear regression could index before the start of an array when fewer than 5 histogram bins precede the fit start (identified with AddressSanitizer). Addressed in release 2026.02 rev. 0.
- Known bug: in CometWrapper.dll, the mass range accessors get_dStart() and get_dEnd() returned their values truncated to integers. Addressed in release 2026.02 rev. 0.
- Known bug: search results were not deterministic when many candidate peptides had exactly tied scores; identical searches could report different sp_rank values or, rarely, a different top ranked peptide across runs. This affected FASTA, fragment ion index and peptide index searches. Addressed in release 2026.02 rev. 1.
- Known bug: in real-time searches (RTS) using the fragment ion index, the top peaks were selected in mass order rather than by intensity whenever more than fragindex_num_spectrumpeaks peaks passed the intensity cutoff, so RTS scored against a worse peak subset than the batch search. Addressed in release 2026.02 rev. 1.
- Known bug: the RTS single spectrum search did not apply the minimum_peaks and clear_mz_range spectrum filters that the batch search applies, so RTS could weakly score spectra that the batch search skips. Addressed in release 2026.02 rev. 1.
- Known bug: the top peak selection for fragment ion index searches (batch and RTS) did not respect the fragindex_min_fragmentmass and fragindex_max_fragmentmass bounds, so peaks that can never match an indexed fragment could occupy a top peak slot. Addressed in release 2026.02 rev. 1.
- Known bug: reading compact, non-indexed mzML files (e.g. Proteome Discoverer output where several closing tags share a line) could corrupt the heap or fail with “is not indexed” errors, and spectra in non-indexed mzML/mzXML files with indented or multi-line opening tags could be mislocated (“parseOffset(): Syntax error”). Addressed in release 2026.02 rev. 1.
- Known bug: fragment ion index peptides containing non-standard residue codes (B, J, O, U, X, Z) could be silently dropped from the index or have their sequence truncated due to a peptide packing collision. Addressed in release 2026.02 rev. 1.
- Known bug: static modifications were applied twice to the parent residue masses when reading a fragment ion index .idx file, corrupting the mass attribute of the aminoacid_modification elements and the residuemass parameter lines in the pep.xml output. Addressed in release 2026.02 rev. 1.
- Known bug: with equal_I_and_L = 1, peptides from different proteins that differ only by I/L were kept as separate index entries, so a single query could match twice. Addressed in release 2026.02 rev. 1.
- Known bug: internal limits in the index build (24 modifiable residues or 2000 modification combinations per peptide) silently dropped all modified forms of highly modifiable peptides from fragment ion and peptide indexes. Addressed in release 2026.02 rev. 1.
- Known bug: in PEFF searches, the mass tolerance check for variant peptides used the unmodified peptide mass without the PEFF mass difference. Addressed in release 2026.02 rev. 1.
- Known issue: for Thermo .raw files on Windows, the charge state discrimination for spectra without a known precursor charge was inert, so such spectra were always searched as both 2+ and 3+. Addressed in release 2026.02 rev. 1.
- Known bug: peptide index batch searches of an existing .idx file did not apply the spectrum_batch_size limit, so memory use was effectively unbounded (e.g. 7.4 GB for a 20K spectra search). Addressed in release 2026.02 rev. 1.
- Known bug: fragment ion index searches used a compacted variable modification slot index as the variable_modNN slot index. For peptides whose active modifications are not contiguous starting at variable_mod01, or that carry more than one modification type, the precursor mass and modified fragment ion masses were computed against the wrong modification, corrupting both xcorr and Sp for the affected peptides. Peptide index and FASTA searches were not affected. Addressed in release 2026.02 rev. 2.
- Known bug: the digest_mass_range and peptide_length_range values set at search time were not applied when searching an existing .idx file (never checked for peptide index searches and only coincidentally applied for fragment ion index searches). Addressed in release 2026.02 rev. 2.
- Known bug: several fields of the search results structure were left uninitialized, causing intermittent memory corruption that depended on the heap layout. Addressed in release 2026.02 rev. 2.
- Known bug: the .idx file did not store the per-modification maximum count or max_variable_mods_in_peptide, so searching an existing index with values different from those used to build it gave incorrect results. Addressed in release 2026.02 rev. 2.
- Known bug: a corrupt or truncated .idx file could cause a segfault or a silent search against an empty index instead of a clean error. Addressed in release 2026.02 rev. 2.
- Known bug: the .idx file did not store decoy_prefix, num_enzyme_termini, allowed_missed_cleavage or clip_nterm_methionine, so a search-time parameter mismatch could corrupt the target/decoy split or misreport the enzyme metadata in the pep.xml and mzIdentML output. Addressed in release 2026.03 rev. 0.
- Known bug: the variable_modNN position restrictions (fifth and sixth fields) were ignored by fragment ion index and peptide index searches; the modification was applied without the restriction. Addressed in release 2026.03 rev. 0.
- Known bug: fragment ion index searches never applied the add_Nterm_protein and add_Cterm_protein static modifications to peptides at a protein terminus, resulting in lower xcorr scores for those peptides when a non-zero value is set. Addressed in release 2026.03 rev. 0.
- Known bug: in FASTA searches, the reported precursor mass of a peptide with a variable modification at the protein N-terminus was short by the add_Nterm_protein mass when that parameter is non-zero. Addressed in release 2026.03 rev. 0.
- Known bug: in mzIdentML output, the massDelta of a variable terminal modification double counted the static protein terminal modification mass. Addressed in release 2026.03 rev. 0.
- Known issue: the E-value linear regression used a narrow initial fit window of 5 histogram bins; the wider initial fit window was restored in release 2026.03 rev. 0 (PR #126).
- Known bugs identified in a code review of the search engine and addressed in release 2026.03 rev. 0 (PR #128): the modification count caps were bypassed for variable_mod10 through variable_mod15 in FASTA searches and in fragment ion/peptide index searches; stale precursor neutral loss and start position state in index searches; incorrect decoy neutral loss ladders; the -F command line option without -L could search zero spectra; the preprocessing memory pool wait held its mutex for the entire 240 second wait, preventing a slot from being released; plus several off-by-one heap reads/writes.
- Known bug: the add_U_selenocysteine parameter was never read; the code expected the parameter name add_U_user_amino_acid. Addressed in release 2026.03 rev. 0.
- Known bug: a search_enzyme_number, search_enzyme2_number or sample_enzyme_number value with no matching entry in the enzyme list silently used a default enzyme instead of reporting an error. Addressed in release 2026.03 rev. 0.
- Known bug: very long parameter values (e.g. a long database_name path) overflowed a fixed size buffer. Addressed in release 2026.03 rev. 0.
- Known bug: PEFF parsing, see issue #132: with “# HasAnnotationIdentifiers=true” the annotation identifier was read as the modification position, so labeled modifications landed on the wrong residue and labeled variants were dropped; modification names containing parentheses were split, and a name ending in “)” caused that and all later modifications on the protein to be dropped; a \VariantSimple entry with an empty residue field inherited the previous entry’s residue. Addressed in release 2026.03 rev. 0.
Home
Releases
Params
Notes
Code
Download