Skip to content

add dimethyl isotope label - #382

Merged
GeorgWa merged 3 commits into
mainfrom
add-dimethyl
Jan 4, 2026
Merged

GeorgWa merged 3 commits into
mainfrom
add-dimethyl

Conversation

@GeorgWa

@GeorgWa GeorgWa commented Dec 30, 2025

Copy link
Copy Markdown
Collaborator

Add msfragger mass mappings and SMILES for heavy dimethyl modifications:

  • Dimethyl:2H(4) (medium label)
  • Dimethyl:2H(6)13C(2) (heavy label)
  • Dimethyl:2H(4)13C(2)
  • Dimethyl:2H(6)

Add msfragger mass mappings and SMILES for heavy dimethyl modifications:
- Dimethyl:2H(4) (medium label)
- Dimethyl:2H(6)13C(2) (heavy label)
- Dimethyl:2H(4)13C(2)
- Dimethyl:2H(6)

Both @k and @Any_N-term variants included with verified masses.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@GeorgWa GeorgWa changed the title feat: add dimethyl isotope label modifications for msfragger add dimethyl isotope label Dec 30, 2025

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for dimethyl isotope label modifications in MSFragger by adding mass mappings and SMILES structures for various heavy dimethyl variants.

  • Adds MSFragger mass mappings for dimethyl isotope modifications (light and heavy labels)
  • Updates SMILES structures for dimethyl isotope modifications to represent the complete molecular structure
  • Ensures consistency across K (lysine) and N-terminal modification sites

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
alphabase/constants/const_files/psm_reader.yaml Adds MSFragger mass mappings for dimethyl isotope modifications on K and N-term sites
alphabase/constants/const_files/modification.tsv Updates SMILES structures for dimethyl isotope label modifications

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Dimethyl:2H(6)13C(2)@Protein_N-term 36.07567 36.0754 H(-2)2H(6)13C(2) 0.0 Isotopic label 330 [13C]([2H])([2H])([2H]) 0.0
Dimethyl:2H(6)13C(2)@Any_N-term 36.07567 36.0754 H(-2)2H(6)13C(2) 0.0 Isotopic label 330 [13C]([2H])([2H])([2H]) 0.0
Dimethyl:2H(6)13C(2)@Protein_N-term 36.07567 36.0754 H(-2)2H(6)13C(2) 0.0 Isotopic label 330 [13C]([2H])([2H])([2H])[Ts][13C]([2H])([2H])([2H]) 0.0
Dimethyl:2H(6)13C(2)@Any_N-term 36.07567 36.0754 H(-2)2H(6)13C(2) 0.0 Isotopic label 330 [13C]([2H])([2H])([2H])[Ts][13C]([2H])([2H])([2H]) 0.0

Copilot AI Dec 30, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The SMILES structures use [Ts] (tosyl group) as a placeholder, which is unconventional for representing N-terminal dimethylation. Standard SMILES notation for dimethylation should represent the two methyl groups attached to the nitrogen without tosyl groups. Consider using a more appropriate SMILES representation for the actual chemical structure.

Suggested change
Dimethyl:2H(6)13C(2)@Any_N-term 36.07567 36.0754 H(-2)2H(6)13C(2) 0.0 Isotopic label 330 [13C]([2H])([2H])([2H])[Ts][13C]([2H])([2H])([2H]) 0.0
Dimethyl:2H(6)13C(2)@Any_N-term 36.07567 36.0754 H(-2)2H(6)13C(2) 0.0 Isotopic label 330 [N]([13C]([2H])([2H])[2H])([13C]([2H])([2H])[2H]) 0.0

Copilot uses AI. Check for mistakes.
Dimethyl:2H(6)13C(2)@Any_N-term 36.07567 36.0754 H(-2)2H(6)13C(2) 0.0 Isotopic label 330 [13C]([2H])([2H])([2H])[Ts][13C]([2H])([2H])([2H]) 0.0
Dimethyl:2H(6)13C(2)@R 36.07567 36.0754 H(-2)2H(6)13C(2) 0.0 Isotopic label 330 0.0
Dimethyl:2H(6)13C(2)@K 36.07567 36.0754 H(-2)2H(6)13C(2) 0.0 Isotopic label 330 0.0
Dimethyl:2H(6)13C(2)@K 36.07567 36.0754 H(-2)2H(6)13C(2) 0.0 Isotopic label 330 [13C]([2H])([2H])([2H])N([13C]([2H])([2H])([2H]))CCCC[C@H](N([Fl])([Fl]))C(=O)[Ts] 0.0

Copilot AI Dec 30, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The SMILES structure uses [Fl] (likely fluorine) placeholders in the notation N([Fl])([Fl]), which is chemically invalid as nitrogen cannot be bonded to two separate fluorine atoms in this context. The complete lysine structure should be represented more accurately or the SMILES should focus only on the modification group.

Copilot uses AI. Check for mistakes.
Comment on lines +381 to +383
Dimethyl:2H(4)@Protein_N-term 32.056407 32.0778 2H(4)C(2) 0.0 Isotopic label 199 C([2H])([2H])[Ts]C([2H])([2H]) 0.0
Dimethyl:2H(4)@Any_N-term 32.056407 32.0778 2H(4)C(2) 0.0 Isotopic label 199 C([2H])([2H])[Ts]C([2H])([2H]) 0.0
Dimethyl:2H(4)@K 32.056407 32.0778 2H(4)C(2) 0.0 Isotopic label 199 C([2H])([2H])N(C([2H])([2H]))CCCC[C@H](N([Fl])([Fl]))C(=O)[Ts] 0.0

Copilot AI Dec 30, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent hydrogen representation in SMILES across different isotope variants. Some use ([2H])([2H])([1H]) explicitly showing hydrogen atoms while others use ([2H])([2H]) without explicit hydrogen. For clarity and consistency, consider using a uniform notation pattern across all dimethyl isotope modifications.

Suggested change
Dimethyl:2H(4)@Protein_N-term 32.056407 32.0778 2H(4)C(2) 0.0 Isotopic label 199 C([2H])([2H])[Ts]C([2H])([2H]) 0.0
Dimethyl:2H(4)@Any_N-term 32.056407 32.0778 2H(4)C(2) 0.0 Isotopic label 199 C([2H])([2H])[Ts]C([2H])([2H]) 0.0
Dimethyl:2H(4)@K 32.056407 32.0778 2H(4)C(2) 0.0 Isotopic label 199 C([2H])([2H])N(C([2H])([2H]))CCCC[C@H](N([Fl])([Fl]))C(=O)[Ts] 0.0
Dimethyl:2H(4)@Protein_N-term 32.056407 32.0778 2H(4)C(2) 0.0 Isotopic label 199 C([2H])([2H])([1H])[Ts]C([2H])([2H])([1H]) 0.0
Dimethyl:2H(4)@Any_N-term 32.056407 32.0778 2H(4)C(2) 0.0 Isotopic label 199 C([2H])([2H])([1H])[Ts]C([2H])([2H])([1H]) 0.0
Dimethyl:2H(4)@K 32.056407 32.0778 2H(4)C(2) 0.0 Isotopic label 199 C([2H])([2H])([1H])N(C([2H])([2H])([1H]))CCCC[C@H](N([Fl])([Fl]))C(=O)[Ts] 0.0

Copilot uses AI. Check for mistakes.
Comment on lines +764 to +767
Dimethyl:2H(4)13C(2)@Protein_N-term 34.063117 34.0631 2H(4)13C(2) 0.0 Isotopic label 510 [13C]([2H])([2H])([1H])[Ts][13C]([2H])([2H])([1H]) 0.0
Dimethyl:2H(4)13C(2)@R 34.063117 34.0631 2H(4)13C(2) 0.0 Isotopic label 510 0.0
Dimethyl:2H(4)13C(2)@K 34.063117 34.0631 2H(4)13C(2) 0.0 Isotopic label 510 0.0
Dimethyl:2H(4)13C(2)@Any_N-term 34.063117 34.0631 2H(4)13C(2) 0.0 Isotopic label 510 [13C]([2H])([2H])([1H]) 0.0
Dimethyl:2H(4)13C(2)@K 34.063117 34.0631 2H(4)13C(2) 0.0 Isotopic label 510 [13C]([2H])([2H])([1H])N([13C]([2H])([2H])([1H]))CCCC[C@H](N([Fl])([Fl]))C(=O)[Ts] 0.0
Dimethyl:2H(4)13C(2)@Any_N-term 34.063117 34.0631 2H(4)13C(2) 0.0 Isotopic label 510 [13C]([2H])([2H])([1H])[Ts][13C]([2H])([2H])([1H]) 0.0

Copilot AI Dec 30, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent hydrogen representation in SMILES across different isotope variants. Some use ([2H])([2H])([1H]) explicitly showing hydrogen atoms while others use ([2H])([2H]) without explicit hydrogen. For clarity and consistency, consider using a uniform notation pattern across all dimethyl isotope modifications.

Copilot uses AI. Check for mistakes.
Dimethyl:2H(6)@K 34.068961 34.0901 H(-2)2H(6)C(2) 0.0 Isotopic label 1291 0.0
Dimethyl:2H(6)@Any_N-term 34.068961 34.0901 H(-2)2H(6)C(2) 0.0 Isotopic label 1291 0.0
Dimethyl:2H(6)@K 34.068961 34.0901 H(-2)2H(6)C(2) 0.0 Isotopic label 1291 C([2H])([2H])([2H])N(C([2H])([2H])([2H]))CCCC[C@H](N([Fl])([Fl]))C(=O)[Ts] 0.0
Dimethyl:2H(6)@Any_N-term 34.068961 34.0901 H(-2)2H(6)C(2) 0.0 Isotopic label 1291 C([2H])([2H])([2H])[Ts]C([2H])([2H])([2H]) 0.0

Copilot AI Dec 30, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent hydrogen representation in SMILES across different isotope variants. Some use ([2H])([2H])([1H]) explicitly showing hydrogen atoms while others use ([2H])([2H]) without explicit hydrogen. For clarity and consistency, consider using a uniform notation pattern across all dimethyl isotope modifications.

Copilot uses AI. Check for mistakes.
Base automatically changed from claude/smiles-placeholder-atom-NlnFE to main December 30, 2025 19:04

@lucas-diedrich lucas-diedrich left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Would it make sense distinguish alphabase.smiles.smiles.MOD_N_TERM_PLACEHOLDER_ATOM=Ts and alphabase.smiles.smiles.C_TERM_PLACEHOLDER_ATOM=Ts semantically?

GeorgWa and others added 2 commits January 4, 2026 11:44
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@GeorgWa
GeorgWa merged commit 3c0d300 into main Jan 4, 2026
3 checks passed
@GeorgWa
GeorgWa deleted the add-dimethyl branch January 4, 2026 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants