Comet releases 2026.01
Documentation for parameters for release 2026.01 can be found here.
Download release here.
release 2026.01 rev. 1 (2026.01.1), release date 2026/03/16
- Incorporated BS:thread_pool (C++ threads; replaces pthreads on Linux) by @jke000 in #109.
- The restored peptide indexing now supports Comet’s internal decoys.
- Bug fix: address wrong mass being returned by RTS fragment ion index searches in the 2026.01 rev. 0 release that did not take into account static modifications in the mass calculation.
- Known bug: reported RTS decoy proteins could have the decoy tag repeated twice e.g. DECOY_DECOY_sp|P21675|TAF1_HUMAN instead of DECOY_sp|P21675|TAF1_HUMAN. This was addressed with commit 31e0634, which is included in the 2026/03/20 retag of v2026.01.1 noted below; binaries from the original 2026/03/16 tag are affected.
- Note v2026.01.1 was originally tagged from commit 9df704c on 2026/03/16; it was retagged on 2026/03/20 to incorporate a small bug fix with commit 31e0634.
The following bugs present in this release were identified and addressed in later releases, as noted for each item:
- 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: for a peptide present multiple times within a protein, index searches could report different previous/next flanking residues from run to run. 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: the AScorePro site scoring tie-break comparator was invalid, so modification site placement on exact ties depended on the internal enumeration order. Addressed in release 2026.02 rev. 1.
- Known bug: AScorePro localization never ran in RTS peptide index searches, regardless of the print_ascorepro_score setting. 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: in peptide index searches with internal decoys, a peptide matching both a target and its reversed decoy was reported as two separate PSM rows. 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 bug: in fragment ion index batch searches, AScorePro read the variable modification settings before they were replaced by the values stored in the .idx header, so it could run with stale modification settings. 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: the RTS finalize calls did not free the preprocessing buffers (MS2 search) and freed the search memory pool that they did not allocate (MS1 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: in RTS searches of a peptide index built with internal decoys, decoy hits were returned with the target protein names, indistinguishable from real identifications. Addressed in release 2026.03 rev. 0.
- Known bug: in peptide index searches of a pre-built .idx file, every internal decoy candidate was classified as a target. Addressed in release 2026.03 rev. 0.
- 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: AScorePro could relocalize a position-restricted variable modification onto a residue that the search itself does not allow, e.g. N-terminal pyroglutamate onto an internal Q. 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: mzIdentML output from fragment ion index and peptide index searches contained garbage protein accessions. 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: enabling AScorePro with variable_mod10 through variable_mod15 in use corrupted the reported modification sites. As of release 2026.03 rev. 0 this combination is rejected with an error (AScorePro supports variable_mod01 through variable_mod09).
- 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 non-numeric entry in the mass_offsets parameter hangs the parameter parser at 100% CPU. 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.
- Known bug: with internal decoys (decoy_search = 1), AScorePro relocalizing an internal decoy top hit could create a duplicate result row. Addressed in release 2026.03 rev. 0.
release 2026.01 rev. 0 (2026.01.0), release date 2026/02/03
- Compute deltaCn for the decoy results if the decoy search is separate, by @fabianegli in #94
- Make idx files independent as before (no requirements of keeping fasta around), by @jke000 in #100. Thanks to C. McGann for the request.
- Minor code changes to facilitate Crux integration. Note: Crux-Comet runs 60% slower than standalone Comet under Linux.
- Known bug: the RTS fragment ion index returned peptide mass is wrong for any peptide that contains a static modification; the static modification mass is not accounted for. Everything else is correct otherwise; just the reported mass is wrong. Addressed in release 2026.01 rev. 1.
- Known bug: reported RTS decoy proteins could have the decoy tag repeated twice e.g. DECOY_DECOY_sp|P21675|TAF1_HUMAN instead of DECOY_sp|P21675|TAF1_HUMAN. Addressed with commit 31e0634 in the 2026/03/20 retag of v2026.01.1.
- All known bugs listed under release 2026.01 rev. 1 above also apply to this release.
Home
Releases
Params
Notes
Code
Download