Skip to content

Frames

Frame is the base class for all MS1 frames. DDAMs1Frame, DIAMs1Frame, and PRMMs1Frame inherit every field and method listed under Frame — only their additional fields are shown below each subclass.

tdfpy.Frame dataclass

Frame(
    _timsdata: TimsData,
    frame_id: int,
    time: float,
    polarity: Polarity,
    scan_mode: int,
    msms_type: int,
    tims_id: int | None,
    max_intensity: int,
    summed_intensities: int,
    num_scans: int,
    num_peaks: int,
    mz_calibration: int,
    t1: float,
    t2: float,
    tims_calibration: int,
    property_group: int | None,
    accumulation_time: float,
    ramp_time: float,
)

Bases: _TdfData

Base class for a single timsTOF acquisition frame.

A frame represents one complete TIMS-MS acquisition cycle. All fields below are present on DDAMs1Frame and DIAMs1Frame through inheritance.

frame_id instance-attribute

frame_id: int

Unique frame ID (1-based).

time instance-attribute

time: float

Acquisition time in seconds.

polarity instance-attribute

polarity: Polarity

Ion polarity of the acquisition.

scan_mode instance-attribute

scan_mode: int

Scan mode integer from the TDF schema.

msms_type instance-attribute

msms_type: int

MS/MS type (0 = MS1, 8 = DDA MS2, 9 = DIA MS2).

tims_id instance-attribute

tims_id: int | None

TIMS device ID, if present.

max_intensity instance-attribute

max_intensity: int

Maximum peak intensity across all scans in this frame.

summed_intensities instance-attribute

summed_intensities: int

Sum of all peak intensities in this frame.

num_scans instance-attribute

num_scans: int

Number of TIMS scans (mobility bins) in this frame.

num_peaks instance-attribute

num_peaks: int

Total number of peaks across all scans in this frame.

mz_calibration instance-attribute

mz_calibration: int

Reference to the m/z calibration entry.

t1 instance-attribute

t1: float

TIMS calibration coefficient T1.

t2 instance-attribute

t2: float

TIMS calibration coefficient T2.

tims_calibration instance-attribute

tims_calibration: int

Reference to the TIMS calibration entry.

property_group instance-attribute

property_group: int | None

Reference to the property group entry, if present.

accumulation_time instance-attribute

accumulation_time: float

Ion accumulation time in milliseconds.

ramp_time instance-attribute

ramp_time: float

TIMS ramp time in milliseconds.

peaks property

peaks: list[npt.NDArray[np.float64]]

Read raw peaks for this frame and return as list of (mz, intensity) arrays.

raw_peaks

raw_peaks(
    *,
    exclude: ChargeStateRegion | None = None,
    smooth: Smooth | None = None,
    noise: NoiseSpec = None,
    ion_mobility_type: Literal[
        "ook0", "ccs", "voltage"
    ] = "ook0"
) -> np.ndarray

Return raw peaks as (N, 3) [mz, intensity, ion_mobility].

Higher-level pythonic wrapper around :func:tdfpy.get_raw_peaks. See that function for the meaning of each kwarg.

Source code in src/tdfpy/elems.py
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
def raw_peaks(
    self,
    *,
    exclude: ChargeStateRegion | None = None,
    smooth: Smooth | None = None,
    noise: NoiseSpec = None,
    ion_mobility_type: Literal["ook0", "ccs", "voltage"] = "ook0",
) -> np.ndarray:
    """Return raw peaks as ``(N, 3)`` ``[mz, intensity, ion_mobility]``.

    Higher-level pythonic wrapper around :func:`tdfpy.get_raw_peaks`. See
    that function for the meaning of each kwarg.
    """
    return _frame_raw_peaks(
        self.timsdata,
        self.frame_id,
        scan_range=None,
        exclude=exclude,
        smooth=smooth,
        noise=noise,
        ion_mobility_type=ion_mobility_type,
    )

centroid

centroid(
    *,
    exclude: ChargeStateRegion | None = None,
    smooth: Smooth | None = None,
    noise: NoiseSpec = None,
    ion_mobility_type: Literal[
        "ook0", "ccs", "voltage"
    ] = "ook0",
    centroid: Centroider | None = None
) -> np.ndarray

Centroid the spectrum for this frame.

Pre-centroid raw-peak knobs (exclude, noise, smoothing, ion_mobility_type) are forwarded to :func:tdfpy.get_raw_peaks. Centroider-specific knobs live on :class:~tdfpy.pipeline.Centroider.

Source code in src/tdfpy/elems.py
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
def centroid(
    self,
    *,
    exclude: ChargeStateRegion | None = None,
    smooth: Smooth | None = None,
    noise: NoiseSpec = None,
    ion_mobility_type: Literal["ook0", "ccs", "voltage"] = "ook0",
    centroid: Centroider | None = None,
) -> np.ndarray:
    """Centroid the spectrum for this frame.

    Pre-centroid raw-peak knobs (``exclude``, ``noise``, smoothing,
    ``ion_mobility_type``) are forwarded to
    :func:`tdfpy.get_raw_peaks`. Centroider-specific knobs live on
    :class:`~tdfpy.pipeline.Centroider`.
    """
    return _frame_centroid(
        self.timsdata,
        self.frame_id,
        scan_range=None,
        exclude=exclude,
        smooth=smooth,
        noise=noise,
        ion_mobility_type=ion_mobility_type,
        centroid=centroid,
    )

tdfpy.DDAMs1Frame dataclass

DDAMs1Frame(
    _timsdata: TimsData,
    frame_id: int,
    time: float,
    polarity: Polarity,
    scan_mode: int,
    msms_type: int,
    tims_id: int | None,
    max_intensity: int,
    summed_intensities: int,
    num_scans: int,
    num_peaks: int,
    mz_calibration: int,
    t1: float,
    t2: float,
    tims_calibration: int,
    property_group: int | None,
    accumulation_time: float,
    ramp_time: float,
    precursors: tuple[Precursor, ...],
)

Bases: Frame

An MS1 frame from a DDA acquisition.

Inherits all fields from Frame. The precursors field lists every precursor detected in this frame.

precursors instance-attribute

precursors: tuple[Precursor, ...]

All precursors detected in this MS1 frame.

tdfpy.DIAMs1Frame dataclass

DIAMs1Frame(
    _timsdata: TimsData,
    frame_id: int,
    time: float,
    polarity: Polarity,
    scan_mode: int,
    msms_type: int,
    tims_id: int | None,
    max_intensity: int,
    summed_intensities: int,
    num_scans: int,
    num_peaks: int,
    mz_calibration: int,
    t1: float,
    t2: float,
    tims_calibration: int,
    property_group: int | None,
    accumulation_time: float,
    ramp_time: float,
    dia_windows: tuple[DiaWindow, ...],
)

Bases: Frame

An MS1 frame from a DIA acquisition.

Inherits all fields from Frame. The dia_windows field lists the DIA isolation windows that were active during this frame.

dia_windows instance-attribute

dia_windows: tuple[DiaWindow, ...]

All DIA windows associated with this MS1 frame.

PRM MS1 Frame

In a PRM acquisition, each MS1 frame carries references to the PrmTransition objects that were being collected in nearby MS2 frames. This lets you correlate survey scans with the targeted transitions acquired in the same run.

tdfpy.PRMMs1Frame dataclass

PRMMs1Frame(
    _timsdata: TimsData,
    frame_id: int,
    time: float,
    polarity: Polarity,
    scan_mode: int,
    msms_type: int,
    tims_id: int | None,
    max_intensity: int,
    summed_intensities: int,
    num_scans: int,
    num_peaks: int,
    mz_calibration: int,
    t1: float,
    t2: float,
    tims_calibration: int,
    property_group: int | None,
    accumulation_time: float,
    ramp_time: float,
    prm_transitions: tuple[PrmTransition, ...],
)

Bases: Frame

An MS1 frame from a PRM acquisition.

Inherits all fields from Frame. The prm_transitions field lists the PRM transitions from adjacent MS2 frames.

prm_transitions instance-attribute

prm_transitions: tuple[PrmTransition, ...]

All PRM transitions associated with this MS1 frame.