"""Auto-generated neutral delta data"""
# DO NOT EDIT - generated by gen_neutral_deltas.py

from enum import StrEnum
from typing import Literal
from .dclass import NeutralDeltaInfo


class NeutralDelta(StrEnum):
    """Neutral loss deltas for fragment ions"""
    HYDROGEN = "H"
    AMMONIA = "NH3"
    WATER = "H2O"
    CARBON_MONOXIDE = "CO"
    CARBON_DIOXIDE = "CO2"
    FORMAMIDE = "HCONH2"
    FORMIC_ACID = "HCOOH"
    METHANESULFENIC_ACID = "CH4OS"
    SULFUR_TRIOXIDE = "SO3"
    METAPHOSPHORIC_ACID = "HPO3"
    MERCAPTOACETAMIDE = "C2H5NOS"
    MERCAPTOACETIC_ACID = "C2H4O2S"
    PHOSPHORIC_ACID = "H3PO4"


NeutralDeltaLiteral = Literal[
    "H",
    "NH3",
    "H2O",
    "CO",
    "CO2",
    "HCONH2",
    "HCOOH",
    "CH4OS",
    "SO3",
    "HPO3",
    "C2H5NOS",
    "C2H4O2S",
    "H3PO4",
]

NEUTRAL_DELTA_DICT: dict[NeutralDelta, NeutralDeltaInfo] = {
NeutralDelta.HYDROGEN: NeutralDeltaInfo(
    formula="H",
    name="Hydrogen",
    description="For specifying hydrogen transfer from c to z ions in ETD",
    amino_acids=frozenset(),
    monoisotopic_mass=-1.00782503223,
    average_mass=-1.0079407540557772,
    dict_composition={'H': -1},
),
NeutralDelta.AMMONIA: NeutralDeltaInfo(
    formula="NH3",
    name="Ammonia",
    description="From amine groups",
    amino_acids=frozenset(['K', 'R', 'N', 'Q']),
    monoisotopic_mass=-17.02654910112,
    average_mass=-17.030525473613128,
    dict_composition={'N': -1, 'H': -3},
),
NeutralDelta.WATER: NeutralDeltaInfo(
    formula="H2O",
    name="Water",
    description="From -OH and -COOH groups",
    amino_acids=frozenset(['S', 'T', 'D', 'E']),
    monoisotopic_mass=-18.01056468403,
    average_mass=-18.015286432429832,
    dict_composition={'H': -2, 'O': -1},
),
NeutralDelta.CARBON_MONOXIDE: NeutralDeltaInfo(
    formula="CO",
    name="Carbon monoxide",
    description="For backbone fragments, use 'a' instead of 'b-CO'. But for internal fragments, use 'mx:y-CO'. Also seen as a neutral loss from formylated serine or threonine",
    amino_acids=frozenset(['S', 'T']),
    monoisotopic_mass=-27.99491461957,
    average_mass=-28.010140821053525,
    dict_composition={'C': -1, 'O': -1},
),
NeutralDelta.CARBON_DIOXIDE: NeutralDeltaInfo(
    formula="CO2",
    name="Carbon dioxide",
    description="From -COOH groups",
    amino_acids=frozenset(['D', 'E']),
    monoisotopic_mass=-43.98982923914,
    average_mass=-44.0095457453718,
    dict_composition={'C': -1, 'O': -2},
),
NeutralDelta.FORMAMIDE: NeutralDeltaInfo(
    formula="HCONH2",
    name="Formamide",
    description="From -CONH2 groups",
    amino_acids=frozenset(['N', 'Q']),
    monoisotopic_mass=-44.01363868846,
    average_mass=-44.032725540610876,
    dict_composition={'H': -2, 'C': -1, 'O': -1, 'N': -1},
),
NeutralDelta.FORMIC_ACID: NeutralDeltaInfo(
    formula="HCOOH",
    name="Formic acid",
    description="From -COOH groups",
    amino_acids=frozenset(['D', 'E']),
    monoisotopic_mass=-29.0027396518,
    average_mass=-29.018081575109303,
    dict_composition={'H': -1, 'C': -1, 'O': -1},
),
NeutralDelta.METHANESULFENIC_ACID: NeutralDeltaInfo(
    formula="CH4OS",
    name="Methanesulfenic acid",
    description="From oxidized methionine",
    amino_acids=frozenset(['M']),
    monoisotopic_mass=-63.998285922890005,
    average_mass=-64.1066912434037,
    dict_composition={'C': -1, 'H': -4, 'O': -1, 'S': -1},
),
NeutralDelta.SULFUR_TRIOXIDE: NeutralDeltaInfo(
    formula="SO3",
    name="Sulfur trioxide",
    description="From sulfotyrosine",
    amino_acids=frozenset(['Y']),
    monoisotopic_mass=-79.95681503311,
    average_mass=-80.0630021790819,
    dict_composition={'S': -1, 'O': -3},
),
NeutralDelta.METAPHOSPHORIC_ACID: NeutralDeltaInfo(
    formula="HPO3",
    name="Metaphosphoric acid",
    description="From phosphotyrosine and sometimes from phosphoserine and phosphothreonine",
    amino_acids=frozenset(['S', 'T', 'Y']),
    monoisotopic_mass=-79.96633088936,
    average_mass=-79.97991752543061,
    dict_composition={'H': -1, 'P': -1, 'O': -3},
),
NeutralDelta.MERCAPTOACETAMIDE: NeutralDeltaInfo(
    formula="C2H5NOS",
    name="Mercaptoacetamide",
    description="From carbamidomethyl cysteine",
    amino_acids=frozenset(['C']),
    monoisotopic_mass=-91.00918495955,
    average_mass=-91.13207110564053,
    dict_composition={'C': -2, 'H': -5, 'N': -1, 'O': -1, 'S': -1},
),
NeutralDelta.MERCAPTOACETIC_ACID: NeutralDeltaInfo(
    formula="C2H4O2S",
    name="Mercaptoacetic acid",
    description="From carboxymethyl cysteine",
    amino_acids=frozenset(['C']),
    monoisotopic_mass=-91.99320054246,
    average_mass=-92.11683206445723,
    dict_composition={'C': -2, 'H': -4, 'O': -2, 'S': -1},
),
NeutralDelta.PHOSPHORIC_ACID: NeutralDeltaInfo(
    formula="H3PO4",
    name="Phosphoric acid",
    description="From phosphoserine and phosphothreonine",
    amino_acids=frozenset(['S', 'T']),
    monoisotopic_mass=-97.97689557339001,
    average_mass=-97.99520395786044,
    dict_composition={'H': -3, 'P': -1, 'O': -4},
),
}
