From 176e0b0531183289669f79c2c37f981734a5eeba Mon Sep 17 00:00:00 2001
From: mschwoerer <82171591+mschwoer@users.noreply.github.com>
Date: Tue, 17 Mar 2026 11:14:26 +0100
Subject: [PATCH 1/3] move to alphatims
---
alphatims/alphatims_wrapper.py | 301 +++++++++++++++++++
alphatims/legacy/xic_plot_tims.py | 483 ++++++++++++++++++++++++++++++
2 files changed, 784 insertions(+)
create mode 100644 alphatims/alphatims_wrapper.py
create mode 100644 alphatims/legacy/xic_plot_tims.py
diff --git a/alphatims/alphatims_wrapper.py b/alphatims/alphatims_wrapper.py
new file mode 100644
index 0000000..dd28d87
--- /dev/null
+++ b/alphatims/alphatims_wrapper.py
@@ -0,0 +1,301 @@
+"""Methods to convert AlphaRaw objects into AlphaTims objects (TimsTOF). Moved from AlphaRaw."""
+
+import typing
+
+import numpy as np
+import pandas as pd
+
+import alphatims
+from alphatims.bruker import TimsTOF
+
+from alphabase.peptide.fragment import remove_unused_fragments
+from alpharaw.ms_data_base import MSData_Base
+
+
+def convert_to_alphatims(
+ spec_df: pd.DataFrame,
+ peak_df: pd.DataFrame,
+ dda: bool = False,
+) -> typing.Tuple[MSData_Base, TimsTOF]:
+ """
+ Convert any spectrum dataframe or sliced spectrum dataframe
+ and its peak dataframe into AlphaTims' TimsTOF object (AlphaTimsWrapper).
+
+ Args:
+ spec_df (pd.DataFrame):
+ spectrum dataframe or sliced spectrum dataframe in AlphaRaw's format.
+ peak_df (pd.DataFrame):
+ peak dataframe in AlphaRaw's format by removing unused peaks in spec_df.
+ dda (bool):
+ if dda data.
+
+ Returns:
+ MSData_Base: AlphaRaw object
+ TimsTOF: AlphaTims' TimsTOF object (AlphaTimsWrapper).
+ """
+ spec_df, peak_df = remove_unused_peaks(spec_df, peak_df)
+ ms_data = MSData_Base()
+ ms_data.spectrum_df = spec_df
+ ms_data.peak_df = peak_df
+
+ return ms_data, AlphaTimsWrapper(ms_data, dda=dda)
+
+
+def remove_unused_peaks(
+ spectrum_df: pd.DataFrame,
+ peak_df: pd.DataFrame,
+) -> typing.Tuple[pd.DataFrame, pd.DataFrame]:
+ """Removes unused peaks of removed spectra,
+ reannotates the peak_start_idx and peak_stop_idx
+
+ Parameters
+ ----------
+ spectrum_df : pd.DataFrame
+ Spectrum dataframe which contains peak_start_idx and peak_stop_idx columns
+
+ peak_df : pd.DataFrame
+ The peak dataframe which should be compressed by removing unused peaks.
+
+ Returns
+ -------
+ pd.DataFrame, pd.DataFrame
+ The reindexed spectrum DataFrame and the sliced peak DataFrame
+ """
+
+ spectrum_df, (peak_df,) = remove_unused_fragments(
+ spectrum_df,
+ (peak_df,),
+ frag_start_col="peak_start_idx",
+ frag_stop_col="peak_stop_idx",
+ )
+ return spectrum_df, peak_df
+
+ spectrum_df = spectrum_df.sort_values(["peak_start_idx"], ascending=True)
+ frag_idx = spectrum_df[["peak_start_idx", "peak_stop_idx"]].values
+
+ new_frag_idx, fragment_pointer = compress_fragment_indices(frag_idx)
+
+ spectrum_df[["peak_start_idx", "peak_stop_idx"]] = new_frag_idx
+ spectrum_df = spectrum_df.sort_index()
+
+ return (spectrum_df, peak_df.iloc[fragment_pointer].copy().reset_index(drop=True))
+
+
+class AlphaTimsReader(MSData_Base):
+ """
+ TimsTOF data are too large, do not use this class
+ """
+
+ def import_raw(self, burker_d_folder: str):
+ tims = TimsTOF(
+ burker_d_folder,
+ )
+
+ self.raw_file_path = burker_d_folder
+ self.file_type = "bruker"
+
+ self.spectrum_df["precursor_mz"] = tims.fragment_frames.IsolationMz.values
+ isolations = tims.fragment_frames.IsolationWidth.values / 2
+ self.spectrum_df["isolation_lower_mz"] = (
+ self.spectrum_df.precursor_mz - isolations
+ )
+ self.spectrum_df["isolation_upper_mz"] = (
+ self.spectrum_df.precursor_mz + isolations
+ )
+ self.spectrum_df["peak_start_idx"] = tims._push_indptr[:-1]
+ self.spectrum_df["peak_stop_idx"] = tims._push_indptr[1:]
+ self.spectrum_df["rt"] = tims.rt_values / 60
+ self.spectrum_df["mobility"] = tims.mobility_values
+ self.spectrum_df["ms_level"] = (tims.precursor_indices > 0).astype(np.int8) + 1
+ self.spectrum_df["spec_idx"] = self.spectrum_df.index.values
+ self.spectrum_df["tims_frame"] = (
+ self.spectrum_df.spec_idx // tims.scan_max_index
+ )
+ self.spectrum_df["tims_scan"] = self.spectrum_df.spec_idx % tims.scan_max_index
+
+ self.peak_df["mz"] = tims.mz_values[tims.tof_indices]
+ self.peak_df["intensity"] = tims.intensity_values.astype(np.float32)
+
+
+class AlphaTimsWrapper(TimsTOF):
+ """Create a AlphaTims object containing
+ all data in-memory (or memory mapping).
+
+ Attribute
+ ---------
+ slice_as_dataframe
+ Attribute from AlphaTims.
+ If True, AlphaTims slicing returns a pd.DataFrame by default.
+ If False, AlphaTims slicing provides a np.int64[:] with raw indices.
+ The value can be modified on-the-fly.
+ """
+
+ def __init__(self, msdata: MSData_Base, dda: bool, slice_as_dataframe: bool = True):
+ """
+ Parameters
+ ----------
+ msdata : MSData_Base
+ The AlphaRaw data object.
+
+ dda : bool
+ If DDA, precursor indices will be equal to scan numbers.
+ If not DDA (i.e. DIA), precursor indices will be equal to the
+ scan number within a DIA cycle.
+
+ slice_as_dataframe : bool
+ If True, slicing returns a pd.DataFrame by default.
+ If False, slicing provides a np.int64[:] with raw indices.
+ Default is True.
+ """
+ self._use_calibrated_mz_values_as_default = False
+ self._import_alpharaw_object(msdata, dda)
+ self.thermo_raw_file_name = msdata.raw_file_path
+ self.bruker_d_folder_name = self.thermo_raw_file_name
+ self.slice_as_dataframe = (
+ slice_as_dataframe # This value can be modified after creation.
+ )
+ # Precompile
+ self[0, "raw"]
+
+ def _import_alpharaw_object(
+ self,
+ msdata: MSData_Base,
+ dda: bool,
+ ):
+ self._version = alphatims.__version__
+ mz_values = msdata.peak_df.mz.values
+ self._intensity_values = msdata.peak_df.intensity.values
+
+ if (msdata.spectrum_df.peak_start_idx < 0).any():
+ spectrum_df = msdata.spectrum_df.query("peak_start_idx!=-1")
+ else:
+ spectrum_df = msdata.spectrum_df
+
+ self._push_indptr = np.zeros(len(spectrum_df) + 1, dtype=np.int64)
+ self._push_indptr[1:] = spectrum_df.peak_stop_idx.values
+ self._rt_values = spectrum_df.rt.values * 60
+ self._quad_mz_values = spectrum_df[
+ ["isolation_lower_mz", "isolation_upper_mz"]
+ ].values
+ if dda:
+ self._precursor_indices = np.zeros_like(self._rt_values, dtype=np.int64)
+ ms2s = spectrum_df.ms_level.values == 2
+ self._precursor_indices[ms2s] = np.cumsum(ms2s, dtype=np.int64)[ms2s]
+ else:
+ precursor_indices = []
+ prev_mz = -1
+ prev_idx = 0
+ for mz, ms_level in spectrum_df[["precursor_mz", "ms_level"]].values:
+ if ms_level == 1:
+ precursor_indices.append(0)
+ elif prev_mz >= mz: # TODO if DIA mz windows are not in order
+ prev_mz = mz
+ prev_idx = 1
+ precursor_indices.append(prev_idx)
+ else:
+ prev_idx += 1
+ prev_mz = mz
+ precursor_indices.append(prev_idx)
+ self._precursor_indices = np.array(precursor_indices, dtype=np.int64)
+
+ scan_count = len(self._precursor_indices)
+ self._frame_max_index = scan_count
+ self._scan_max_index = 1
+ self._mobility_max_value = 0.0
+ self._mobility_min_value = 0.0
+ self._mobility_values = np.array([0.0])
+ self._quad_indptr = self._push_indptr
+ self._raw_quad_indptr = np.arange(scan_count + 1)
+ self._intensity_min_value = float(np.min(self._intensity_values))
+ self._intensity_max_value = float(np.max(self._intensity_values))
+ self._intensity_corrections = np.ones(self._frame_max_index)
+ _q_mzs = self._quad_mz_values[self._quad_mz_values != -1]
+ if len(_q_mzs) > 0:
+ self._quad_min_mz_value = float(np.min(_q_mzs))
+ self._quad_max_mz_value = float(np.max(_q_mzs))
+ else:
+ self._quad_min_mz_value = 0
+ self._quad_max_mz_value = 0
+ self._precursor_max_index = int(np.max(self._precursor_indices)) + 1
+ self._acquisition_mode = (
+ msdata.file_type + " " + ("DDA" if dda else "DIA")
+ ) # TODO
+ self._mz_min_value = int(np.min(mz_values))
+ self._mz_max_value = int(np.max(mz_values)) + 1
+ self._decimals = 4
+ self._mz_values = (
+ np.arange(
+ 10**self._decimals * self._mz_min_value,
+ 10**self._decimals * (self._mz_max_value + 1),
+ )
+ / 10**self._decimals
+ )
+ self._tof_indices = (mz_values * 10**self._decimals).astype(
+ np.int32
+ ) - 10**self._decimals * self._mz_min_value
+ self._tof_max_index = len(self._mz_values)
+ self._meta_data = {"SampleName": msdata.raw_file_path}
+ msmstype = np.array([0 if s == -1 else 1 for s, e in self._quad_mz_values])
+ summed_intensities_ = np.cumsum(self._intensity_values)
+ summed_intensities = -summed_intensities_[self._push_indptr[:-1]]
+ summed_intensities[:-1] += summed_intensities_[self._push_indptr[1:-1]]
+ summed_intensities[-1] += summed_intensities_[-1]
+ max_intensities = [
+ np.max(
+ self._intensity_values[self._push_indptr[i] : self._push_indptr[i + 1]]
+ )
+ if self._push_indptr[i + 1] != -1
+ and self._push_indptr[i] != -1
+ and self._push_indptr[i] != self._push_indptr[i + 1]
+ else 0
+ for i in range(len(self._rt_values))
+ ]
+ self._frames = pd.DataFrame(
+ {
+ "MsMsType": msmstype,
+ "Time": self._rt_values,
+ "SummedIntensities": summed_intensities,
+ "MaxIntensity": max_intensities,
+ "Id": np.arange(len(self._rt_values)),
+ }
+ )
+ frame_numbers = np.arange(len(self._rt_values), dtype=np.int32)
+ isolation_widths = self._quad_mz_values[:, 1] + self._quad_mz_values[:, 0]
+ isolation_centers = self._quad_mz_values[:, 1] - self._quad_mz_values[:, 0]
+ self._fragment_frames = pd.DataFrame(
+ {
+ "Frame": frame_numbers[msmstype == 1],
+ "ScanNumBegin": 0,
+ "ScanNumEnd": 0,
+ "IsolationWidth": isolation_widths[msmstype == 1],
+ "IsolationMz": isolation_centers[msmstype == 1],
+ "Precursor": self._precursor_indices[msmstype == 1],
+ }
+ )
+ self._zeroth_frame = False
+ offset = int(self.zeroth_frame)
+ cycle_index = (
+ np.searchsorted(
+ self.raw_quad_indptr,
+ (self.scan_max_index) * (self.precursor_max_index + offset),
+ "r",
+ )
+ + 1
+ )
+ repeats = np.diff(self.raw_quad_indptr[:cycle_index])
+ if self.zeroth_frame:
+ repeats[0] -= self.scan_max_index
+ cycle_length = self.scan_max_index * self.precursor_max_index
+ repeat_length = np.sum(repeats)
+ if repeat_length != cycle_length:
+ repeats[-1] -= repeat_length - cycle_length
+ self._dia_mz_cycle = np.empty((cycle_length, 2))
+ self._dia_mz_cycle[:, 0] = np.repeat(
+ self.quad_mz_values[: cycle_index - 1, 0], repeats
+ )
+ self._dia_mz_cycle[:, 1] = np.repeat(
+ self.quad_mz_values[: cycle_index - 1, 1], repeats
+ )
+ self._dia_precursor_cycle = np.repeat(
+ self.precursor_indices[: cycle_index - 1], repeats
+ )
diff --git a/alphatims/legacy/xic_plot_tims.py b/alphatims/legacy/xic_plot_tims.py
new file mode 100644
index 0000000..4af9d2e
--- /dev/null
+++ b/alphatims/legacy/xic_plot_tims.py
@@ -0,0 +1,483 @@
+"""Legacy module for plotting XIC on TimsTOF data. Moved from alpharaw."""
+import typing
+import warnings
+
+import numpy as np
+import pandas as pd
+import plotly.express as px
+import plotly.graph_objects as go
+
+from alpharaw.viz.plot_utils import plot_line
+from alphatims.bruker import (
+ TimsTOF,
+)
+from plotly.subplots import make_subplots
+
+warnings.warn(
+ "This module will be deprecated or changed in the future releases",
+ category=DeprecationWarning,
+)
+
+alphatims_labels = {
+ "rt": "rt_values",
+ "im": "mobility_values",
+}
+
+class XIC_Plot_Tims:
+ # hovermode = "x" | "y" | "closest" | False | "x unified" | "y unified"
+ hovermode = "closest"
+ plot_height = 550
+ colorscale_qualitative = "Alphabet"
+ colorscale_sequential = "Viridis"
+ theme_template = "plotly_white"
+ ppm = 20.0
+ rt_sec_win = 30.0
+ plot_rt_unit: str = "minute"
+ im_win = 0.05
+ fig: go.Figure = None
+
+ def plot(
+ self,
+ tims_data: TimsTOF,
+ query_df: pd.DataFrame,
+ view_dim: typing.Literal["rt", "im"] = "rt",
+ title: str = "",
+ add_peak_area=True,
+ ):
+ rt_sec = query_df["rt_sec"].values[0]
+ im = 0.0 if "im" not in query_df.columns else query_df["im"].values[0]
+ if "precursor_mz" not in query_df.columns:
+ precursor_mz = 0.0
+ else:
+ precursor_mz = query_df.precursor_mz.values[0]
+ query_masses = query_df.mz.values
+ if "intensity" in query_df.columns:
+ query_intensities = query_df.intensity.values
+ else:
+ query_intensities = None
+ ion_names = query_df.ion_name.values
+
+ if "color" not in query_df.columns:
+ marker_colors = None
+ else:
+ marker_colors = query_df.color.values
+
+ return self.plot_query_masses(
+ tims_data=tims_data,
+ query_masses=query_masses,
+ query_ion_names=ion_names,
+ query_rt_sec=rt_sec,
+ query_im=im,
+ precursor_mz=precursor_mz,
+ marker_colors=marker_colors,
+ view_dim=view_dim,
+ query_intensities=query_intensities,
+ title=title,
+ add_peak_area=add_peak_area,
+ )
+
+ def _init_plot(self, view_dim="rt"):
+ self.fig = make_subplots(
+ cols=1,
+ shared_xaxes=True,
+ x_title=f"RT ({self.plot_rt_unit})" if view_dim == "rt" else "Mobility",
+ y_title="intensity",
+ vertical_spacing=0.2,
+ )
+ self.trace: XIC_Plot_Tims = XIC_Trace_Tims(fig=self.fig, row=1)
+
+ def plot_query_masses(
+ self,
+ tims_data: TimsTOF,
+ query_masses: np.ndarray,
+ query_ion_names: typing.List[str],
+ query_rt_sec: float,
+ query_im: float,
+ precursor_mz: float,
+ marker_colors: list = None,
+ view_dim: typing.Literal["rt", "im"] = "rt",
+ query_intensities: np.ndarray = None,
+ title="",
+ add_peak_area=True,
+ ):
+ self._init_plot(view_dim=view_dim)
+ mass_tols = query_masses * 1e-6 * self.ppm
+ if marker_colors is None:
+ marker_colors = self._get_color_set(len(query_masses))
+ self.trace.add_traces(
+ tims_data=tims_data,
+ query_masses=query_masses,
+ mass_tols=mass_tols,
+ ion_names=query_ion_names,
+ marker_colors=marker_colors,
+ query_rt_sec=query_rt_sec,
+ query_im=query_im,
+ precursor_left_mz=precursor_mz * (1 - 1e-6 * self.ppm),
+ precursor_right_mz=precursor_mz * (1 + 1e-6 * self.ppm),
+ view_dim=view_dim,
+ rt_sec_win=self.rt_sec_win,
+ im_win=self.im_win,
+ query_intensities=query_intensities,
+ add_peak_area=add_peak_area,
+ )
+ self.fig.update_layout(
+ template=self.theme_template,
+ title=dict(text=title, yanchor="bottom"),
+ # width=width,
+ height=self.plot_height,
+ hovermode=self.hovermode,
+ showlegend=True,
+ )
+ return self.fig
+
+ def _get_color_set(self, n_query):
+ if n_query <= len(getattr(px.colors.qualitative, self.colorscale_qualitative)):
+ color_set = getattr(px.colors.qualitative, self.colorscale_qualitative)
+ else:
+ color_set = px.colors.sample_colorscale(
+ self.colorscale_sequential, samplepoints=n_query
+ )
+ return color_set
+
+
+class XIC_Trace_Tims:
+ label_format = "{ion_name} {mz:.3f}"
+ legend_group = "{ion_name}" # {ion_name}, {mz} or None
+ fig: go.Figure
+ row: int = 1
+ col: int = 1
+ plot_rt_unit: str = "minute"
+
+ def __init__(
+ self,
+ fig: go.Figure,
+ row: int = 1,
+ col: int = 1,
+ plot_rt_unit: str = "minute",
+ ):
+ self.fig = fig
+ self.row = row
+ self.col = col
+ self.plot_rt_unit = plot_rt_unit
+
+ def add_traces(
+ self,
+ tims_data: TimsTOF,
+ query_masses: np.ndarray,
+ mass_tols: np.ndarray,
+ ion_names: typing.List[str],
+ marker_colors: typing.List,
+ query_rt_sec: float,
+ query_im: float,
+ precursor_left_mz: float = -1.0,
+ precursor_right_mz: float = -1.0,
+ view_dim: typing.Literal["rt", "im"] = "rt",
+ rt_sec_win=30.0,
+ im_win=0.05,
+ query_intensities: np.ndarray = None,
+ add_peak_area=True,
+ ) -> go.Figure:
+ """Add traces for the query_masses.
+
+ Args:
+ tims_data (TimsTOF): AlphaTims TimsTOF object.
+ query_masses (np.ndarray): Query masses.
+ ion_names (typing.List[str]): Ion names for query_masses.
+ marker_colors (typing.List): Colors for each query mass.
+ query_rt_sec (float): Query RT in seconds.
+ query_im (float): Query ion mobility.
+ precursor_mz (float, optional): Precursor mz, 0 means it is MS1. Defaults to 0.0.
+ query_intensities (np.ndarray, optional): Query intensities. Defaults to None.
+
+ Returns:
+ go.Figure: self.fig.
+ """
+ (rt_slice, im_slice, prec_mz_slice, view_indices) = get_plotting_slices(
+ tims_data=tims_data,
+ rt_sec=query_rt_sec,
+ rt_sec_win=rt_sec_win,
+ im=query_im,
+ im_win=im_win,
+ precursor_left_mz=precursor_left_mz,
+ precursor_right_mz=precursor_right_mz,
+ view_dim=view_dim,
+ )
+
+ if query_intensities is None:
+ query_intensities = np.zeros_like(query_masses)
+ else:
+ query_intensities /= query_intensities.max()
+
+ for ion_name, query_mass, query_inten, marker_color, mass_tol in zip(
+ ion_names, query_masses, query_intensities, marker_colors, mass_tols
+ ):
+ self._add_one_trace(
+ tims_data=tims_data,
+ query_mass=query_mass,
+ mass_tol=mass_tol,
+ rt_slice=rt_slice,
+ im_slice=im_slice,
+ prec_mz_slice=prec_mz_slice,
+ view_indices=view_indices,
+ view_dim=view_dim,
+ label=self.label_format.format(ion_name=ion_name, mz=query_mass),
+ legend_group=self.legend_group.format(ion_name=ion_name),
+ marker_color=marker_color,
+ add_peak_area=add_peak_area,
+ )
+ if query_inten > 0:
+ self._add_one_trace(
+ tims_data=tims_data,
+ query_mass=query_mass,
+ mass_tol=mass_tol,
+ rt_slice=rt_slice,
+ im_slice=im_slice,
+ prec_mz_slice=prec_mz_slice,
+ view_indices=view_indices,
+ view_dim=view_dim,
+ label=self.label_format.format(ion_name=ion_name, mz=query_mass),
+ legend_group=self.legend_group.format(ion_name=ion_name),
+ marker_color=marker_color,
+ intensity_scale=-query_inten,
+ add_peak_area=add_peak_area,
+ )
+
+ def _add_one_trace(
+ self,
+ tims_data: TimsTOF,
+ query_mass: float,
+ mass_tol: float,
+ rt_slice: slice,
+ im_slice: slice,
+ prec_mz_slice: slice,
+ view_indices: np.ndarray,
+ view_dim: str,
+ label: str,
+ legend_group: str,
+ marker_color: str,
+ intensity_scale: float = 1.0,
+ add_peak_area=True,
+ ):
+ frag_indices = tims_data[
+ rt_slice,
+ im_slice,
+ prec_mz_slice,
+ slice(
+ query_mass - mass_tol,
+ query_mass + mass_tol,
+ ),
+ "raw",
+ ]
+ if len(frag_indices) == 0:
+ return
+ self.fig.add_trace(
+ plot_line_tims_fast(
+ tims_data,
+ frag_indices,
+ view_indices,
+ name=label,
+ legend_group=legend_group,
+ marker_color=marker_color,
+ view_dim=view_dim,
+ intensity_scale=intensity_scale,
+ add_peak_area=add_peak_area,
+ ),
+ row=self.row,
+ col=self.col,
+ )
+
+
+def get_plotting_slices(
+ tims_data: TimsTOF,
+ rt_sec: float,
+ rt_sec_win: float = 30.0,
+ im: float = 0.0,
+ im_win: float = 0.05,
+ precursor_left_mz: float = -1.0,
+ precursor_right_mz: float = -1.0,
+ view_dim: str = "rt",
+):
+ """
+ Get plotting slices for target queries in TimsTOF data.
+ Args:
+ tims_data (TimsTOF): AlphaTims TimsTOF object.
+ rt_sec (float): Query RT in seconds.
+ rt_sec_win (float, optional): Query RT window in seconds. Defaults to 30.0.
+ im (float, optional): Query ion mobility, 0 means no mobility dimension. Defaults to 0..
+ im_win (float, optional): Ion mobility window. Defaults to 0.05.
+ precursor_mz (float, optional): Precursor mz, 0 means it is MS1. Defaults to 0.0.
+ ppm (float, optional): PPM tolerance for `precursor_mz`. Defaults to 20.0.
+ view_dim (str, optional): View dimension, "rt" or "im". Defaults to "rt"
+ """
+ rt_slice = slice(rt_sec - rt_sec_win / 2, rt_sec + rt_sec_win / 2)
+ im_slice = slice(im - im_win / 2, im + im_win / 2)
+
+ if precursor_left_mz <= 0:
+ prec_mz_slice = 0
+ raw_indices = tims_data[rt_slice, im_slice, 0, :, "raw"]
+ else:
+ prec_mz_slice = slice(
+ precursor_left_mz,
+ precursor_right_mz,
+ )
+ raw_indices = tims_data[rt_slice, im_slice, prec_mz_slice, :, "raw"]
+
+ if view_dim == "rt":
+ view_indices = np.sort(
+ np.array(
+ list(
+ set(
+ tims_data.convert_from_indices(
+ raw_indices, return_frame_indices=True
+ )["frame_indices"]
+ )
+ ),
+ dtype=np.int64,
+ )
+ )
+ else:
+ view_indices = np.sort(
+ np.array(
+ list(
+ set(
+ tims_data.convert_from_indices(
+ raw_indices, return_scan_indices=True
+ )["scan_indices"]
+ )
+ ),
+ dtype=np.int64,
+ )
+ )
+
+ return rt_slice, im_slice, prec_mz_slice, view_indices
+
+
+
+def plot_line_tims(
+ tims_data: TimsTOF,
+ tims_raw_indices: np.ndarray,
+ tims_view_indices: np.array,
+ name: str,
+ legend_group: str,
+ marker_color: str,
+ view_dim: typing.Literal["rt", "im"] = "rt", # or 'im'
+ intensity_scale: float = 1.0,
+ rt_unit: str = "minute",
+) -> go.Figure:
+ """
+ Plot an XIC line on alphatims `TimsTOF` data
+
+ Parameters
+ ----------
+ tims_data : TimsTOF
+ The alphatims `TimsTOF` object
+ tims_raw_indices : np.ndarray
+ Raw indices on `TimsTOF` object
+ tims_view_indices : np.array
+ View indices on `TimsTOF` object
+ name : str
+ Display name
+ legend_group : str
+ Lines will be grouped by `legend_group`
+ marker_color : str
+ Color of the scatter (x, y)
+ view_dim : "rt", "im", optional
+ View dimension, "rt" or "im", by default "rt"
+ rt_unit : str, optional
+ RT unit, by default "minute"
+
+ Returns
+ -------
+ go.Figure
+ Line plot
+ """
+ x_dimension = alphatims_labels[view_dim]
+
+ intensities = tims_data.bin_intensities(tims_raw_indices, [x_dimension])
+ if view_dim == "rt":
+ x_ticks = tims_data.rt_values[tims_view_indices]
+ intensities = intensities[tims_view_indices]
+ if rt_unit == "minute":
+ x_ticks /= 60.0
+ else:
+ x_ticks = tims_data.mobility_values[tims_view_indices]
+ intensities = intensities[tims_view_indices]
+
+ return plot_line(
+ x_ticks,
+ intensities * intensity_scale,
+ name=name,
+ marker_color=marker_color,
+ legend_group=legend_group,
+ x_text=view_dim.upper(),
+ )
+
+
+def plot_line_tims_fast(
+ tims_data: TimsTOF,
+ tims_raw_indices: np.ndarray,
+ tims_view_indices: np.array,
+ name: str,
+ legend_group: str,
+ marker_color: str,
+ view_dim: typing.Literal["rt", "im"] = "rt",
+ intensity_scale: float = 1.0,
+ rt_unit: str = "minute",
+ add_peak_area=True,
+) -> go.Figure:
+ """
+ Plot an XIC line on alphatims `TimsTOF` data
+
+ Parameters
+ ----------
+ tims_data : TimsTOF
+ The alphatims `TimsTOF` object
+ tims_raw_indices : np.ndarray
+ Raw indices on `TimsTOF` object
+ tims_view_indices : np.array
+ View indices on `TimsTOF` object
+ name : str
+ Display name
+ legend_group : str
+ Lines will be grouped by `legend_group`
+ marker_color : str
+ Color of the scatter (x, y)
+ view_dim : "rt", "im", optional
+ View dimension, "rt" or "im", by default "rt"
+ intensity_scale : float, optional
+ Intensity scale of mirror plot, by default 1.0
+ rt_unit : str, optional
+ RT unit, by default "minute"
+ add_peak_area : bool, optional
+ If add peak area in the hover text, by default True
+
+ Returns
+ -------
+ go.Figure
+ _description_
+ """
+ x_dimension = alphatims_labels[view_dim]
+
+ intensities = tims_data.bin_intensities(tims_raw_indices, [x_dimension])
+ if view_dim == "rt":
+ x_ticks = tims_data.rt_values[tims_view_indices]
+ intensities = intensities[tims_view_indices]
+ if rt_unit == "minute":
+ x_ticks /= 60.0
+ else:
+ x_ticks = tims_data.mobility_values[tims_view_indices]
+ intensities = intensities[tims_view_indices]
+
+ if add_peak_area:
+ peak_area = abs(np.trapz(y=intensities, x=x_ticks))
+
+ return plot_line(
+ x_ticks,
+ intensities * intensity_scale,
+ name=name,
+ marker_color=marker_color,
+ legend_group=legend_group,
+ x_text=view_dim.upper(),
+ other_info=f"Peak area: {peak_area:.2e}" if add_peak_area else "",
+ )
+
From c77d4b51ef347af23d237787b35683ef97cbac11 Mon Sep 17 00:00:00 2001
From: mschwoerer <82171591+mschwoer@users.noreply.github.com>
Date: Tue, 17 Mar 2026 12:54:29 +0100
Subject: [PATCH 2/3] move notebooks
---
nbs/tests/alphatims_wrapper.ipynb | 1749 ++++++++++++++++++++++++
nbs/tests/test_alphatims_wrapper.ipynb | 151 ++
2 files changed, 1900 insertions(+)
create mode 100644 nbs/tests/alphatims_wrapper.ipynb
create mode 100644 nbs/tests/test_alphatims_wrapper.ipynb
diff --git a/nbs/tests/alphatims_wrapper.ipynb b/nbs/tests/alphatims_wrapper.ipynb
new file mode 100644
index 0000000..767c2ee
--- /dev/null
+++ b/nbs/tests/alphatims_wrapper.ipynb
@@ -0,0 +1,1749 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#---#| default_exp wrappers.alphatims_wrapper"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": "# MSData_Base to AlphaTims"
+ },
+ {
+ "metadata": {},
+ "cell_type": "code",
+ "outputs": [],
+ "execution_count": null,
+ "source": "# notebook was moved from alpharaw"
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from alpharaw import register_all_readers\n",
+ "from alphatims.alphatims_wrapper import AlphaTimsWrapper\n",
+ "\n",
+ "register_all_readers()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#| hide\n",
+ "import io\n",
+ "from alpharaw.legacy_msdata.mgf import ms_reader_provider"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " spec_idx | \n",
+ " peak_start_idx | \n",
+ " peak_stop_idx | \n",
+ " rt | \n",
+ " charge | \n",
+ " ms_level | \n",
+ " precursor_mz | \n",
+ " isolation_lower_mz | \n",
+ " isolation_upper_mz | \n",
+ " rt_sec | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0 | \n",
+ " -1 | \n",
+ " -1 | \n",
+ " 0.000000 | \n",
+ " 0.0 | \n",
+ " 2 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 1 | \n",
+ " -1 | \n",
+ " -1 | \n",
+ " 0.000000 | \n",
+ " 0.0 | \n",
+ " 2 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2 | \n",
+ " -1 | \n",
+ " -1 | \n",
+ " 0.000000 | \n",
+ " 0.0 | \n",
+ " 2 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 3 | \n",
+ " -1 | \n",
+ " -1 | \n",
+ " 0.000000 | \n",
+ " 0.0 | \n",
+ " 2 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 4 | \n",
+ " -1 | \n",
+ " -1 | \n",
+ " 0.000000 | \n",
+ " 0.0 | \n",
+ " 2 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 5 | \n",
+ " -1 | \n",
+ " -1 | \n",
+ " 0.000000 | \n",
+ " 0.0 | \n",
+ " 2 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 6 | \n",
+ " -1 | \n",
+ " -1 | \n",
+ " 0.000000 | \n",
+ " 0.0 | \n",
+ " 2 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 7 | \n",
+ " 0 | \n",
+ " 60 | \n",
+ " 0.059032 | \n",
+ " 3.0 | \n",
+ " 2 | \n",
+ " 272.276336 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 3.541893 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " 8 | \n",
+ " -1 | \n",
+ " -1 | \n",
+ " 0.000000 | \n",
+ " 0.0 | \n",
+ " 2 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " 9 | \n",
+ " -1 | \n",
+ " -1 | \n",
+ " 0.000000 | \n",
+ " 0.0 | \n",
+ " 2 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " 10 | \n",
+ " 60 | \n",
+ " 117 | \n",
+ " 0.110759 | \n",
+ " 2.0 | \n",
+ " 2 | \n",
+ " 287.427959 | \n",
+ " 285.427959 | \n",
+ " 289.427959 | \n",
+ " 6.645522 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " spec_idx peak_start_idx peak_stop_idx rt charge ms_level \\\n",
+ "0 0 -1 -1 0.000000 0.0 2 \n",
+ "1 1 -1 -1 0.000000 0.0 2 \n",
+ "2 2 -1 -1 0.000000 0.0 2 \n",
+ "3 3 -1 -1 0.000000 0.0 2 \n",
+ "4 4 -1 -1 0.000000 0.0 2 \n",
+ "5 5 -1 -1 0.000000 0.0 2 \n",
+ "6 6 -1 -1 0.000000 0.0 2 \n",
+ "7 7 0 60 0.059032 3.0 2 \n",
+ "8 8 -1 -1 0.000000 0.0 2 \n",
+ "9 9 -1 -1 0.000000 0.0 2 \n",
+ "10 10 60 117 0.110759 2.0 2 \n",
+ "\n",
+ " precursor_mz isolation_lower_mz isolation_upper_mz rt_sec \n",
+ "0 0.000000 0.000000 0.000000 0.000000 \n",
+ "1 0.000000 0.000000 0.000000 0.000000 \n",
+ "2 0.000000 0.000000 0.000000 0.000000 \n",
+ "3 0.000000 0.000000 0.000000 0.000000 \n",
+ "4 0.000000 0.000000 0.000000 0.000000 \n",
+ "5 0.000000 0.000000 0.000000 0.000000 \n",
+ "6 0.000000 0.000000 0.000000 0.000000 \n",
+ "7 272.276336 270.276336 274.276336 3.541893 \n",
+ "8 0.000000 0.000000 0.000000 0.000000 \n",
+ "9 0.000000 0.000000 0.000000 0.000000 \n",
+ "10 287.427959 285.427959 289.427959 6.645522 "
+ ]
+ },
+ "execution_count": null,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#| hide\n",
+ "mgf = io.StringIO(\"\"\"\n",
+ "BEGIN IONS\n",
+ "TITLE=02445a_BA7-TUM_HLA_7_01_01-DDA-1h-R1.8.8.3.0.dta\n",
+ "CHARGE=3+\n",
+ "RTINSECONDS=3.5418930\n",
+ "PEPMASS=272.276336\n",
+ "103.92207 5457.3\n",
+ "104.20045 5051.4\n",
+ "108.70090 5891.7\n",
+ "113.94175 6442.6\n",
+ "116.92975 40506.3\n",
+ "116.93716 8945.5\n",
+ "128.37773 6427.8\n",
+ "131.95308 288352.6\n",
+ "133.93259 7344.6\n",
+ "138.44611 7326.1\n",
+ "139.00072 41556.8\n",
+ "140.00319 16738.8\n",
+ "140.99719 9493.8\n",
+ "145.93156 10209.3\n",
+ "145.94897 10497.8\n",
+ "147.94559 8206.3\n",
+ "147.96396 30552.8\n",
+ "148.95543 14654.7\n",
+ "149.96338 234207.8\n",
+ "150.95096 8306.0\n",
+ "157.01089 84638.9\n",
+ "158.01357 27925.7\n",
+ "159.00627 16084.7\n",
+ "163.94281 24751.1\n",
+ "163.95915 32203.3\n",
+ "165.95605 44458.0\n",
+ "165.97186 11530.2\n",
+ "166.99500 26432.2\n",
+ "167.97302 9216.7\n",
+ "181.95230 13858.8\n",
+ "191.95448 66152.7\n",
+ "192.95538 8408.9\n",
+ "193.07185 9092.8\n",
+ "193.95313 660574.9\n",
+ "194.95674 23452.8\n",
+ "194.99008 143940.9\n",
+ "200.00568 19510.8\n",
+ "200.99942 23678.7\n",
+ "204.30894 9406.1\n",
+ "209.96466 21853.6\n",
+ "211.96245 65351.0\n",
+ "218.90355 9149.6\n",
+ "223.91072 11300.2\n",
+ "238.89684 12108.8\n",
+ "243.93825 10150.2\n",
+ "243.97040 10987.7\n",
+ "244.94121 8744.2\n",
+ "246.90314 11556.3\n",
+ "271.93225 29430.0\n",
+ "271.99219 51184.4\n",
+ "272.19150 31960.4\n",
+ "272.98602 35844.1\n",
+ "273.94431 11031.8\n",
+ "284.47998 8191.3\n",
+ "290.00125 66212.4\n",
+ "290.99539 54064.7\n",
+ "293.89490 10005.0\n",
+ "407.06372 10838.2\n",
+ "464.36697 9715.4\n",
+ "698.81390 9711.7\n",
+ "END IONS\n",
+ "BEGIN IONS\n",
+ "TITLE=02445a_BA7-TUM_HLA_7_01_01-DDA-1h-R1.11.11.2.0.dta\n",
+ "CHARGE=2+\n",
+ "RTINSECONDS=6.6455220\n",
+ "PEPMASS=287.427959\n",
+ "103.34669 5304.0\n",
+ "104.66884 5639.7\n",
+ "113.42419 6258.3\n",
+ "118.84039 5837.5\n",
+ "119.93203 13977.3\n",
+ "130.69589 6876.2\n",
+ "133.94824 43094.3\n",
+ "134.30524 7671.5\n",
+ "135.96359 9031.3\n",
+ "138.99994 8329.7\n",
+ "146.95573 31143.9\n",
+ "147.96323 12176.5\n",
+ "150.95151 65859.3\n",
+ "151.95818 24384.2\n",
+ "157.01105 19241.5\n",
+ "157.34985 7532.5\n",
+ "161.08838 7843.9\n",
+ "161.94234 20119.7\n",
+ "162.95146 60110.4\n",
+ "163.95877 183305.5\n",
+ "164.96657 13647.5\n",
+ "174.95139 150331.9\n",
+ "175.95258 21393.4\n",
+ "178.94460 11433.1\n",
+ "179.95316 13650.5\n",
+ "180.96204 15353.5\n",
+ "190.94572 30418.9\n",
+ "191.95422 61914.1\n",
+ "192.61461 8642.1\n",
+ "192.94395 12331.4\n",
+ "192.96207 132342.5\n",
+ "193.96318 19303.0\n",
+ "209.04164 25149.6\n",
+ "209.96368 154185.0\n",
+ "209.98361 12353.5\n",
+ "213.86244 11541.3\n",
+ "224.93071 12903.0\n",
+ "228.92879 8773.6\n",
+ "241.86043 135357.5\n",
+ "242.86113 20805.2\n",
+ "242.94327 26679.4\n",
+ "243.95219 29569.9\n",
+ "244.92361 12153.5\n",
+ "246.90300 16650.3\n",
+ "252.96521 73484.3\n",
+ "253.96646 11527.5\n",
+ "286.85858 10166.4\n",
+ "287.94186 18763.2\n",
+ "303.87665 39189.3\n",
+ "304.88116 11976.0\n",
+ "321.89087 97122.5\n",
+ "322.88867 28020.8\n",
+ "370.28696 9008.2\n",
+ "389.82578 13277.0\n",
+ "407.83545 12220.4\n",
+ "425.84872 13236.5\n",
+ "482.54852 10940.2\n",
+ "END IONS\n",
+ "\"\"\")\n",
+ "reader = ms_reader_provider.get_reader('mgf')\n",
+ "reader.import_raw(mgf)\n",
+ "reader.spectrum_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " raw_indices | \n",
+ " frame_indices | \n",
+ " scan_indices | \n",
+ " precursor_indices | \n",
+ " push_indices | \n",
+ " tof_indices | \n",
+ " rt_values | \n",
+ " rt_values_min | \n",
+ " mobility_values | \n",
+ " quad_low_mz_values | \n",
+ " quad_high_mz_values | \n",
+ " mz_values | \n",
+ " intensity_values | \n",
+ " corrected_intensity_values | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 9220 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 103.9220 | \n",
+ " 5457.3 | \n",
+ " 5457 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 12004 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 104.2004 | \n",
+ " 5051.4 | \n",
+ " 5051 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 57009 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 108.7009 | \n",
+ " 5891.7 | \n",
+ " 5891 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 3 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 109417 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 113.9417 | \n",
+ " 6442.6 | \n",
+ " 6442 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 4 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 139297 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 116.9297 | \n",
+ " 40506.3 | \n",
+ " 40506 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 5 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 139371 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 116.9371 | \n",
+ " 8945.5 | \n",
+ " 8945 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 6 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 253777 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 128.3777 | \n",
+ " 6427.8 | \n",
+ " 6427 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 7 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 289530 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 131.9530 | \n",
+ " 288352.6 | \n",
+ " 288352 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " 8 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 309325 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 133.9325 | \n",
+ " 7344.6 | \n",
+ " 7344 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " 9 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 354461 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 138.4461 | \n",
+ " 7326.1 | \n",
+ " 7326 | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " 10 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 360007 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 139.0007 | \n",
+ " 41556.8 | \n",
+ " 41556 | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " 11 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 370031 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 140.0031 | \n",
+ " 16738.8 | \n",
+ " 16738 | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " 12 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 379971 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 140.9971 | \n",
+ " 9493.8 | \n",
+ " 9493 | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " 13 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 429315 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 145.9315 | \n",
+ " 10209.3 | \n",
+ " 10209 | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " 14 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 429489 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 145.9489 | \n",
+ " 10497.8 | \n",
+ " 10497 | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " 15 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 449455 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 147.9455 | \n",
+ " 8206.3 | \n",
+ " 8206 | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " 16 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 449639 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 147.9639 | \n",
+ " 30552.8 | \n",
+ " 30552 | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " 17 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 459554 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 148.9554 | \n",
+ " 14654.7 | \n",
+ " 14654 | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " 18 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 469633 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 149.9633 | \n",
+ " 234207.8 | \n",
+ " 234207 | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " 19 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 479509 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 150.9509 | \n",
+ " 8306.0 | \n",
+ " 8306 | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " 20 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 540108 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 157.0108 | \n",
+ " 84638.9 | \n",
+ " 84638 | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " 21 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 550135 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 158.0135 | \n",
+ " 27925.7 | \n",
+ " 27925 | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " 22 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 560062 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 159.0062 | \n",
+ " 16084.7 | \n",
+ " 16084 | \n",
+ "
\n",
+ " \n",
+ " | 23 | \n",
+ " 23 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 609428 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 163.9428 | \n",
+ " 24751.1 | \n",
+ " 24751 | \n",
+ "
\n",
+ " \n",
+ " | 24 | \n",
+ " 24 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 609591 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 163.9591 | \n",
+ " 32203.3 | \n",
+ " 32203 | \n",
+ "
\n",
+ " \n",
+ " | 25 | \n",
+ " 25 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 629560 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 165.9560 | \n",
+ " 44458.0 | \n",
+ " 44458 | \n",
+ "
\n",
+ " \n",
+ " | 26 | \n",
+ " 26 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 629718 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 165.9718 | \n",
+ " 11530.2 | \n",
+ " 11530 | \n",
+ "
\n",
+ " \n",
+ " | 27 | \n",
+ " 27 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 639950 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 166.9950 | \n",
+ " 26432.2 | \n",
+ " 26432 | \n",
+ "
\n",
+ " \n",
+ " | 28 | \n",
+ " 28 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 649730 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 167.9730 | \n",
+ " 9216.7 | \n",
+ " 9216 | \n",
+ "
\n",
+ " \n",
+ " | 29 | \n",
+ " 29 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 789523 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 181.9523 | \n",
+ " 13858.8 | \n",
+ " 13858 | \n",
+ "
\n",
+ " \n",
+ " | 30 | \n",
+ " 30 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 889544 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 191.9544 | \n",
+ " 66152.7 | \n",
+ " 66152 | \n",
+ "
\n",
+ " \n",
+ " | 31 | \n",
+ " 31 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 899553 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 192.9553 | \n",
+ " 8408.9 | \n",
+ " 8408 | \n",
+ "
\n",
+ " \n",
+ " | 32 | \n",
+ " 32 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 900718 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 193.0718 | \n",
+ " 9092.8 | \n",
+ " 9092 | \n",
+ "
\n",
+ " \n",
+ " | 33 | \n",
+ " 33 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 909531 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 193.9531 | \n",
+ " 660574.9 | \n",
+ " 660574 | \n",
+ "
\n",
+ " \n",
+ " | 34 | \n",
+ " 34 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 919567 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 194.9567 | \n",
+ " 23452.8 | \n",
+ " 23452 | \n",
+ "
\n",
+ " \n",
+ " | 35 | \n",
+ " 35 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 919900 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 194.9900 | \n",
+ " 143940.9 | \n",
+ " 143940 | \n",
+ "
\n",
+ " \n",
+ " | 36 | \n",
+ " 36 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 970056 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 200.0056 | \n",
+ " 19510.8 | \n",
+ " 19510 | \n",
+ "
\n",
+ " \n",
+ " | 37 | \n",
+ " 37 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 979994 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 200.9994 | \n",
+ " 23678.7 | \n",
+ " 23678 | \n",
+ "
\n",
+ " \n",
+ " | 38 | \n",
+ " 38 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1013089 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 204.3089 | \n",
+ " 9406.1 | \n",
+ " 9406 | \n",
+ "
\n",
+ " \n",
+ " | 39 | \n",
+ " 39 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1069646 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 209.9646 | \n",
+ " 21853.6 | \n",
+ " 21853 | \n",
+ "
\n",
+ " \n",
+ " | 40 | \n",
+ " 40 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1089624 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 211.9624 | \n",
+ " 65351.0 | \n",
+ " 65351 | \n",
+ "
\n",
+ " \n",
+ " | 41 | \n",
+ " 41 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1159035 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 218.9035 | \n",
+ " 9149.6 | \n",
+ " 9149 | \n",
+ "
\n",
+ " \n",
+ " | 42 | \n",
+ " 42 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1209107 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 223.9107 | \n",
+ " 11300.2 | \n",
+ " 11300 | \n",
+ "
\n",
+ " \n",
+ " | 43 | \n",
+ " 43 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1358968 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 238.8968 | \n",
+ " 12108.8 | \n",
+ " 12108 | \n",
+ "
\n",
+ " \n",
+ " | 44 | \n",
+ " 44 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1409382 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 243.9382 | \n",
+ " 10150.2 | \n",
+ " 10150 | \n",
+ "
\n",
+ " \n",
+ " | 45 | \n",
+ " 45 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1409704 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 243.9704 | \n",
+ " 10987.7 | \n",
+ " 10987 | \n",
+ "
\n",
+ " \n",
+ " | 46 | \n",
+ " 46 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1419412 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 244.9412 | \n",
+ " 8744.2 | \n",
+ " 8744 | \n",
+ "
\n",
+ " \n",
+ " | 47 | \n",
+ " 47 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1439031 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 246.9031 | \n",
+ " 11556.3 | \n",
+ " 11556 | \n",
+ "
\n",
+ " \n",
+ " | 48 | \n",
+ " 48 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1689322 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 271.9322 | \n",
+ " 29430.0 | \n",
+ " 29430 | \n",
+ "
\n",
+ " \n",
+ " | 49 | \n",
+ " 49 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1689921 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 271.9921 | \n",
+ " 51184.4 | \n",
+ " 51184 | \n",
+ "
\n",
+ " \n",
+ " | 50 | \n",
+ " 50 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1691915 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 272.1915 | \n",
+ " 31960.4 | \n",
+ " 31960 | \n",
+ "
\n",
+ " \n",
+ " | 51 | \n",
+ " 51 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1699860 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 272.9860 | \n",
+ " 35844.1 | \n",
+ " 35844 | \n",
+ "
\n",
+ " \n",
+ " | 52 | \n",
+ " 52 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1709443 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 273.9443 | \n",
+ " 11031.8 | \n",
+ " 11031 | \n",
+ "
\n",
+ " \n",
+ " | 53 | \n",
+ " 53 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1814799 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 284.4799 | \n",
+ " 8191.3 | \n",
+ " 8191 | \n",
+ "
\n",
+ " \n",
+ " | 54 | \n",
+ " 54 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1870012 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 290.0012 | \n",
+ " 66212.4 | \n",
+ " 66212 | \n",
+ "
\n",
+ " \n",
+ " | 55 | \n",
+ " 55 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1879953 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 290.9953 | \n",
+ " 54064.7 | \n",
+ " 54064 | \n",
+ "
\n",
+ " \n",
+ " | 56 | \n",
+ " 56 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1908949 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 293.8949 | \n",
+ " 10005.0 | \n",
+ " 10005 | \n",
+ "
\n",
+ " \n",
+ " | 57 | \n",
+ " 57 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 3040637 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 407.0637 | \n",
+ " 10838.2 | \n",
+ " 10838 | \n",
+ "
\n",
+ " \n",
+ " | 58 | \n",
+ " 58 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 3613669 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 464.3669 | \n",
+ " 9715.4 | \n",
+ " 9715 | \n",
+ "
\n",
+ " \n",
+ " | 59 | \n",
+ " 59 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 5958139 | \n",
+ " 3.541893 | \n",
+ " 0.059032 | \n",
+ " 0.0 | \n",
+ " 270.276336 | \n",
+ " 274.276336 | \n",
+ " 698.8139 | \n",
+ " 9711.7 | \n",
+ " 9711 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " raw_indices frame_indices scan_indices precursor_indices push_indices \\\n",
+ "0 0 0 0 1 0 \n",
+ "1 1 0 0 1 0 \n",
+ "2 2 0 0 1 0 \n",
+ "3 3 0 0 1 0 \n",
+ "4 4 0 0 1 0 \n",
+ "5 5 0 0 1 0 \n",
+ "6 6 0 0 1 0 \n",
+ "7 7 0 0 1 0 \n",
+ "8 8 0 0 1 0 \n",
+ "9 9 0 0 1 0 \n",
+ "10 10 0 0 1 0 \n",
+ "11 11 0 0 1 0 \n",
+ "12 12 0 0 1 0 \n",
+ "13 13 0 0 1 0 \n",
+ "14 14 0 0 1 0 \n",
+ "15 15 0 0 1 0 \n",
+ "16 16 0 0 1 0 \n",
+ "17 17 0 0 1 0 \n",
+ "18 18 0 0 1 0 \n",
+ "19 19 0 0 1 0 \n",
+ "20 20 0 0 1 0 \n",
+ "21 21 0 0 1 0 \n",
+ "22 22 0 0 1 0 \n",
+ "23 23 0 0 1 0 \n",
+ "24 24 0 0 1 0 \n",
+ "25 25 0 0 1 0 \n",
+ "26 26 0 0 1 0 \n",
+ "27 27 0 0 1 0 \n",
+ "28 28 0 0 1 0 \n",
+ "29 29 0 0 1 0 \n",
+ "30 30 0 0 1 0 \n",
+ "31 31 0 0 1 0 \n",
+ "32 32 0 0 1 0 \n",
+ "33 33 0 0 1 0 \n",
+ "34 34 0 0 1 0 \n",
+ "35 35 0 0 1 0 \n",
+ "36 36 0 0 1 0 \n",
+ "37 37 0 0 1 0 \n",
+ "38 38 0 0 1 0 \n",
+ "39 39 0 0 1 0 \n",
+ "40 40 0 0 1 0 \n",
+ "41 41 0 0 1 0 \n",
+ "42 42 0 0 1 0 \n",
+ "43 43 0 0 1 0 \n",
+ "44 44 0 0 1 0 \n",
+ "45 45 0 0 1 0 \n",
+ "46 46 0 0 1 0 \n",
+ "47 47 0 0 1 0 \n",
+ "48 48 0 0 1 0 \n",
+ "49 49 0 0 1 0 \n",
+ "50 50 0 0 1 0 \n",
+ "51 51 0 0 1 0 \n",
+ "52 52 0 0 1 0 \n",
+ "53 53 0 0 1 0 \n",
+ "54 54 0 0 1 0 \n",
+ "55 55 0 0 1 0 \n",
+ "56 56 0 0 1 0 \n",
+ "57 57 0 0 1 0 \n",
+ "58 58 0 0 1 0 \n",
+ "59 59 0 0 1 0 \n",
+ "\n",
+ " tof_indices rt_values rt_values_min mobility_values \\\n",
+ "0 9220 3.541893 0.059032 0.0 \n",
+ "1 12004 3.541893 0.059032 0.0 \n",
+ "2 57009 3.541893 0.059032 0.0 \n",
+ "3 109417 3.541893 0.059032 0.0 \n",
+ "4 139297 3.541893 0.059032 0.0 \n",
+ "5 139371 3.541893 0.059032 0.0 \n",
+ "6 253777 3.541893 0.059032 0.0 \n",
+ "7 289530 3.541893 0.059032 0.0 \n",
+ "8 309325 3.541893 0.059032 0.0 \n",
+ "9 354461 3.541893 0.059032 0.0 \n",
+ "10 360007 3.541893 0.059032 0.0 \n",
+ "11 370031 3.541893 0.059032 0.0 \n",
+ "12 379971 3.541893 0.059032 0.0 \n",
+ "13 429315 3.541893 0.059032 0.0 \n",
+ "14 429489 3.541893 0.059032 0.0 \n",
+ "15 449455 3.541893 0.059032 0.0 \n",
+ "16 449639 3.541893 0.059032 0.0 \n",
+ "17 459554 3.541893 0.059032 0.0 \n",
+ "18 469633 3.541893 0.059032 0.0 \n",
+ "19 479509 3.541893 0.059032 0.0 \n",
+ "20 540108 3.541893 0.059032 0.0 \n",
+ "21 550135 3.541893 0.059032 0.0 \n",
+ "22 560062 3.541893 0.059032 0.0 \n",
+ "23 609428 3.541893 0.059032 0.0 \n",
+ "24 609591 3.541893 0.059032 0.0 \n",
+ "25 629560 3.541893 0.059032 0.0 \n",
+ "26 629718 3.541893 0.059032 0.0 \n",
+ "27 639950 3.541893 0.059032 0.0 \n",
+ "28 649730 3.541893 0.059032 0.0 \n",
+ "29 789523 3.541893 0.059032 0.0 \n",
+ "30 889544 3.541893 0.059032 0.0 \n",
+ "31 899553 3.541893 0.059032 0.0 \n",
+ "32 900718 3.541893 0.059032 0.0 \n",
+ "33 909531 3.541893 0.059032 0.0 \n",
+ "34 919567 3.541893 0.059032 0.0 \n",
+ "35 919900 3.541893 0.059032 0.0 \n",
+ "36 970056 3.541893 0.059032 0.0 \n",
+ "37 979994 3.541893 0.059032 0.0 \n",
+ "38 1013089 3.541893 0.059032 0.0 \n",
+ "39 1069646 3.541893 0.059032 0.0 \n",
+ "40 1089624 3.541893 0.059032 0.0 \n",
+ "41 1159035 3.541893 0.059032 0.0 \n",
+ "42 1209107 3.541893 0.059032 0.0 \n",
+ "43 1358968 3.541893 0.059032 0.0 \n",
+ "44 1409382 3.541893 0.059032 0.0 \n",
+ "45 1409704 3.541893 0.059032 0.0 \n",
+ "46 1419412 3.541893 0.059032 0.0 \n",
+ "47 1439031 3.541893 0.059032 0.0 \n",
+ "48 1689322 3.541893 0.059032 0.0 \n",
+ "49 1689921 3.541893 0.059032 0.0 \n",
+ "50 1691915 3.541893 0.059032 0.0 \n",
+ "51 1699860 3.541893 0.059032 0.0 \n",
+ "52 1709443 3.541893 0.059032 0.0 \n",
+ "53 1814799 3.541893 0.059032 0.0 \n",
+ "54 1870012 3.541893 0.059032 0.0 \n",
+ "55 1879953 3.541893 0.059032 0.0 \n",
+ "56 1908949 3.541893 0.059032 0.0 \n",
+ "57 3040637 3.541893 0.059032 0.0 \n",
+ "58 3613669 3.541893 0.059032 0.0 \n",
+ "59 5958139 3.541893 0.059032 0.0 \n",
+ "\n",
+ " quad_low_mz_values quad_high_mz_values mz_values intensity_values \\\n",
+ "0 270.276336 274.276336 103.9220 5457.3 \n",
+ "1 270.276336 274.276336 104.2004 5051.4 \n",
+ "2 270.276336 274.276336 108.7009 5891.7 \n",
+ "3 270.276336 274.276336 113.9417 6442.6 \n",
+ "4 270.276336 274.276336 116.9297 40506.3 \n",
+ "5 270.276336 274.276336 116.9371 8945.5 \n",
+ "6 270.276336 274.276336 128.3777 6427.8 \n",
+ "7 270.276336 274.276336 131.9530 288352.6 \n",
+ "8 270.276336 274.276336 133.9325 7344.6 \n",
+ "9 270.276336 274.276336 138.4461 7326.1 \n",
+ "10 270.276336 274.276336 139.0007 41556.8 \n",
+ "11 270.276336 274.276336 140.0031 16738.8 \n",
+ "12 270.276336 274.276336 140.9971 9493.8 \n",
+ "13 270.276336 274.276336 145.9315 10209.3 \n",
+ "14 270.276336 274.276336 145.9489 10497.8 \n",
+ "15 270.276336 274.276336 147.9455 8206.3 \n",
+ "16 270.276336 274.276336 147.9639 30552.8 \n",
+ "17 270.276336 274.276336 148.9554 14654.7 \n",
+ "18 270.276336 274.276336 149.9633 234207.8 \n",
+ "19 270.276336 274.276336 150.9509 8306.0 \n",
+ "20 270.276336 274.276336 157.0108 84638.9 \n",
+ "21 270.276336 274.276336 158.0135 27925.7 \n",
+ "22 270.276336 274.276336 159.0062 16084.7 \n",
+ "23 270.276336 274.276336 163.9428 24751.1 \n",
+ "24 270.276336 274.276336 163.9591 32203.3 \n",
+ "25 270.276336 274.276336 165.9560 44458.0 \n",
+ "26 270.276336 274.276336 165.9718 11530.2 \n",
+ "27 270.276336 274.276336 166.9950 26432.2 \n",
+ "28 270.276336 274.276336 167.9730 9216.7 \n",
+ "29 270.276336 274.276336 181.9523 13858.8 \n",
+ "30 270.276336 274.276336 191.9544 66152.7 \n",
+ "31 270.276336 274.276336 192.9553 8408.9 \n",
+ "32 270.276336 274.276336 193.0718 9092.8 \n",
+ "33 270.276336 274.276336 193.9531 660574.9 \n",
+ "34 270.276336 274.276336 194.9567 23452.8 \n",
+ "35 270.276336 274.276336 194.9900 143940.9 \n",
+ "36 270.276336 274.276336 200.0056 19510.8 \n",
+ "37 270.276336 274.276336 200.9994 23678.7 \n",
+ "38 270.276336 274.276336 204.3089 9406.1 \n",
+ "39 270.276336 274.276336 209.9646 21853.6 \n",
+ "40 270.276336 274.276336 211.9624 65351.0 \n",
+ "41 270.276336 274.276336 218.9035 9149.6 \n",
+ "42 270.276336 274.276336 223.9107 11300.2 \n",
+ "43 270.276336 274.276336 238.8968 12108.8 \n",
+ "44 270.276336 274.276336 243.9382 10150.2 \n",
+ "45 270.276336 274.276336 243.9704 10987.7 \n",
+ "46 270.276336 274.276336 244.9412 8744.2 \n",
+ "47 270.276336 274.276336 246.9031 11556.3 \n",
+ "48 270.276336 274.276336 271.9322 29430.0 \n",
+ "49 270.276336 274.276336 271.9921 51184.4 \n",
+ "50 270.276336 274.276336 272.1915 31960.4 \n",
+ "51 270.276336 274.276336 272.9860 35844.1 \n",
+ "52 270.276336 274.276336 273.9443 11031.8 \n",
+ "53 270.276336 274.276336 284.4799 8191.3 \n",
+ "54 270.276336 274.276336 290.0012 66212.4 \n",
+ "55 270.276336 274.276336 290.9953 54064.7 \n",
+ "56 270.276336 274.276336 293.8949 10005.0 \n",
+ "57 270.276336 274.276336 407.0637 10838.2 \n",
+ "58 270.276336 274.276336 464.3669 9715.4 \n",
+ "59 270.276336 274.276336 698.8139 9711.7 \n",
+ "\n",
+ " corrected_intensity_values \n",
+ "0 5457 \n",
+ "1 5051 \n",
+ "2 5891 \n",
+ "3 6442 \n",
+ "4 40506 \n",
+ "5 8945 \n",
+ "6 6427 \n",
+ "7 288352 \n",
+ "8 7344 \n",
+ "9 7326 \n",
+ "10 41556 \n",
+ "11 16738 \n",
+ "12 9493 \n",
+ "13 10209 \n",
+ "14 10497 \n",
+ "15 8206 \n",
+ "16 30552 \n",
+ "17 14654 \n",
+ "18 234207 \n",
+ "19 8306 \n",
+ "20 84638 \n",
+ "21 27925 \n",
+ "22 16084 \n",
+ "23 24751 \n",
+ "24 32203 \n",
+ "25 44458 \n",
+ "26 11530 \n",
+ "27 26432 \n",
+ "28 9216 \n",
+ "29 13858 \n",
+ "30 66152 \n",
+ "31 8408 \n",
+ "32 9092 \n",
+ "33 660574 \n",
+ "34 23452 \n",
+ "35 143940 \n",
+ "36 19510 \n",
+ "37 23678 \n",
+ "38 9406 \n",
+ "39 21853 \n",
+ "40 65351 \n",
+ "41 9149 \n",
+ "42 11300 \n",
+ "43 12108 \n",
+ "44 10150 \n",
+ "45 10987 \n",
+ "46 8744 \n",
+ "47 11556 \n",
+ "48 29430 \n",
+ "49 51184 \n",
+ "50 31960 \n",
+ "51 35844 \n",
+ "52 11031 \n",
+ "53 8191 \n",
+ "54 66212 \n",
+ "55 54064 \n",
+ "56 10005 \n",
+ "57 10838 \n",
+ "58 9715 \n",
+ "59 9711 "
+ ]
+ },
+ "execution_count": null,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#| hide\n",
+ "tims_data = AlphaTimsWrapper(reader, True)\n",
+ "tims_data[3.0:5.0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3.8.3 ('base')",
+ "language": "python",
+ "name": "python3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/nbs/tests/test_alphatims_wrapper.ipynb b/nbs/tests/test_alphatims_wrapper.ipynb
new file mode 100644
index 0000000..3f738cd
--- /dev/null
+++ b/nbs/tests/test_alphatims_wrapper.ipynb
@@ -0,0 +1,151 @@
+{
+ "cells": [
+ {
+ "metadata": {},
+ "cell_type": "code",
+ "outputs": [],
+ "execution_count": null,
+ "source": "# notebook was moved from alpharaw"
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%reload_ext autoreload\n",
+ "%autoreload 2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": "from alpharaw.thermo import ThermoRawData\n"
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "raw_data = ThermoRawData()\n",
+ "raw_data.import_raw(\"./test_data/iRT_DIA.raw\")\n",
+ "raw_data.spectrum_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "raw_data.peak_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from alphatims.alphatims_wrapper import AlphaTimsWrapper\n",
+ "\n",
+ "alphatims_data = AlphaTimsWrapper(raw_data, dda=True)\n",
+ "alphatims_data[0.0:1.0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "alphatims_data[0.0:100.0].query('precursor_indices>0')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Test iRT DIA data"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "raw_data = ThermoRawData()\n",
+ "raw_data.import_raw(\"./test_data/iRT_DIA.raw\")\n",
+ "raw_data.spectrum_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "alphatims_data = AlphaTimsWrapper(raw_data, dda=False)\n",
+ "alphatims_data[0.0:10.0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "alphatims_data[0.0:1.0][['precursor_indices','push_indices']].drop_duplicates()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "alphatims_data[0.0:10.0].query('precursor_indices==0')[\n",
+ " ['precursor_indices','push_indices']\n",
+ "].drop_duplicates()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3.8.3 ('base')",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.12"
+ },
+ "orig_nbformat": 4,
+ "vscode": {
+ "interpreter": {
+ "hash": "8a3b27e141e49c996c9b863f8707e97aabd49c4a7e8445b9b783b34e4a21a9b2"
+ }
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
From 25fc76a343e8e0489e63c59c545c5adad8300437 Mon Sep 17 00:00:00 2001
From: mschwoerer <82171591+mschwoer@users.noreply.github.com>
Date: Tue, 17 Mar 2026 13:41:52 +0100
Subject: [PATCH 3/3] move to alphaviz
---
alphatims/alphatims_wrapper.py | 301 ----
nbs/tests/alphatims_wrapper.ipynb | 1749 ------------------------
nbs/tests/test_alphatims_wrapper.ipynb | 151 --
3 files changed, 2201 deletions(-)
delete mode 100644 alphatims/alphatims_wrapper.py
delete mode 100644 nbs/tests/alphatims_wrapper.ipynb
delete mode 100644 nbs/tests/test_alphatims_wrapper.ipynb
diff --git a/alphatims/alphatims_wrapper.py b/alphatims/alphatims_wrapper.py
deleted file mode 100644
index dd28d87..0000000
--- a/alphatims/alphatims_wrapper.py
+++ /dev/null
@@ -1,301 +0,0 @@
-"""Methods to convert AlphaRaw objects into AlphaTims objects (TimsTOF). Moved from AlphaRaw."""
-
-import typing
-
-import numpy as np
-import pandas as pd
-
-import alphatims
-from alphatims.bruker import TimsTOF
-
-from alphabase.peptide.fragment import remove_unused_fragments
-from alpharaw.ms_data_base import MSData_Base
-
-
-def convert_to_alphatims(
- spec_df: pd.DataFrame,
- peak_df: pd.DataFrame,
- dda: bool = False,
-) -> typing.Tuple[MSData_Base, TimsTOF]:
- """
- Convert any spectrum dataframe or sliced spectrum dataframe
- and its peak dataframe into AlphaTims' TimsTOF object (AlphaTimsWrapper).
-
- Args:
- spec_df (pd.DataFrame):
- spectrum dataframe or sliced spectrum dataframe in AlphaRaw's format.
- peak_df (pd.DataFrame):
- peak dataframe in AlphaRaw's format by removing unused peaks in spec_df.
- dda (bool):
- if dda data.
-
- Returns:
- MSData_Base: AlphaRaw object
- TimsTOF: AlphaTims' TimsTOF object (AlphaTimsWrapper).
- """
- spec_df, peak_df = remove_unused_peaks(spec_df, peak_df)
- ms_data = MSData_Base()
- ms_data.spectrum_df = spec_df
- ms_data.peak_df = peak_df
-
- return ms_data, AlphaTimsWrapper(ms_data, dda=dda)
-
-
-def remove_unused_peaks(
- spectrum_df: pd.DataFrame,
- peak_df: pd.DataFrame,
-) -> typing.Tuple[pd.DataFrame, pd.DataFrame]:
- """Removes unused peaks of removed spectra,
- reannotates the peak_start_idx and peak_stop_idx
-
- Parameters
- ----------
- spectrum_df : pd.DataFrame
- Spectrum dataframe which contains peak_start_idx and peak_stop_idx columns
-
- peak_df : pd.DataFrame
- The peak dataframe which should be compressed by removing unused peaks.
-
- Returns
- -------
- pd.DataFrame, pd.DataFrame
- The reindexed spectrum DataFrame and the sliced peak DataFrame
- """
-
- spectrum_df, (peak_df,) = remove_unused_fragments(
- spectrum_df,
- (peak_df,),
- frag_start_col="peak_start_idx",
- frag_stop_col="peak_stop_idx",
- )
- return spectrum_df, peak_df
-
- spectrum_df = spectrum_df.sort_values(["peak_start_idx"], ascending=True)
- frag_idx = spectrum_df[["peak_start_idx", "peak_stop_idx"]].values
-
- new_frag_idx, fragment_pointer = compress_fragment_indices(frag_idx)
-
- spectrum_df[["peak_start_idx", "peak_stop_idx"]] = new_frag_idx
- spectrum_df = spectrum_df.sort_index()
-
- return (spectrum_df, peak_df.iloc[fragment_pointer].copy().reset_index(drop=True))
-
-
-class AlphaTimsReader(MSData_Base):
- """
- TimsTOF data are too large, do not use this class
- """
-
- def import_raw(self, burker_d_folder: str):
- tims = TimsTOF(
- burker_d_folder,
- )
-
- self.raw_file_path = burker_d_folder
- self.file_type = "bruker"
-
- self.spectrum_df["precursor_mz"] = tims.fragment_frames.IsolationMz.values
- isolations = tims.fragment_frames.IsolationWidth.values / 2
- self.spectrum_df["isolation_lower_mz"] = (
- self.spectrum_df.precursor_mz - isolations
- )
- self.spectrum_df["isolation_upper_mz"] = (
- self.spectrum_df.precursor_mz + isolations
- )
- self.spectrum_df["peak_start_idx"] = tims._push_indptr[:-1]
- self.spectrum_df["peak_stop_idx"] = tims._push_indptr[1:]
- self.spectrum_df["rt"] = tims.rt_values / 60
- self.spectrum_df["mobility"] = tims.mobility_values
- self.spectrum_df["ms_level"] = (tims.precursor_indices > 0).astype(np.int8) + 1
- self.spectrum_df["spec_idx"] = self.spectrum_df.index.values
- self.spectrum_df["tims_frame"] = (
- self.spectrum_df.spec_idx // tims.scan_max_index
- )
- self.spectrum_df["tims_scan"] = self.spectrum_df.spec_idx % tims.scan_max_index
-
- self.peak_df["mz"] = tims.mz_values[tims.tof_indices]
- self.peak_df["intensity"] = tims.intensity_values.astype(np.float32)
-
-
-class AlphaTimsWrapper(TimsTOF):
- """Create a AlphaTims object containing
- all data in-memory (or memory mapping).
-
- Attribute
- ---------
- slice_as_dataframe
- Attribute from AlphaTims.
- If True, AlphaTims slicing returns a pd.DataFrame by default.
- If False, AlphaTims slicing provides a np.int64[:] with raw indices.
- The value can be modified on-the-fly.
- """
-
- def __init__(self, msdata: MSData_Base, dda: bool, slice_as_dataframe: bool = True):
- """
- Parameters
- ----------
- msdata : MSData_Base
- The AlphaRaw data object.
-
- dda : bool
- If DDA, precursor indices will be equal to scan numbers.
- If not DDA (i.e. DIA), precursor indices will be equal to the
- scan number within a DIA cycle.
-
- slice_as_dataframe : bool
- If True, slicing returns a pd.DataFrame by default.
- If False, slicing provides a np.int64[:] with raw indices.
- Default is True.
- """
- self._use_calibrated_mz_values_as_default = False
- self._import_alpharaw_object(msdata, dda)
- self.thermo_raw_file_name = msdata.raw_file_path
- self.bruker_d_folder_name = self.thermo_raw_file_name
- self.slice_as_dataframe = (
- slice_as_dataframe # This value can be modified after creation.
- )
- # Precompile
- self[0, "raw"]
-
- def _import_alpharaw_object(
- self,
- msdata: MSData_Base,
- dda: bool,
- ):
- self._version = alphatims.__version__
- mz_values = msdata.peak_df.mz.values
- self._intensity_values = msdata.peak_df.intensity.values
-
- if (msdata.spectrum_df.peak_start_idx < 0).any():
- spectrum_df = msdata.spectrum_df.query("peak_start_idx!=-1")
- else:
- spectrum_df = msdata.spectrum_df
-
- self._push_indptr = np.zeros(len(spectrum_df) + 1, dtype=np.int64)
- self._push_indptr[1:] = spectrum_df.peak_stop_idx.values
- self._rt_values = spectrum_df.rt.values * 60
- self._quad_mz_values = spectrum_df[
- ["isolation_lower_mz", "isolation_upper_mz"]
- ].values
- if dda:
- self._precursor_indices = np.zeros_like(self._rt_values, dtype=np.int64)
- ms2s = spectrum_df.ms_level.values == 2
- self._precursor_indices[ms2s] = np.cumsum(ms2s, dtype=np.int64)[ms2s]
- else:
- precursor_indices = []
- prev_mz = -1
- prev_idx = 0
- for mz, ms_level in spectrum_df[["precursor_mz", "ms_level"]].values:
- if ms_level == 1:
- precursor_indices.append(0)
- elif prev_mz >= mz: # TODO if DIA mz windows are not in order
- prev_mz = mz
- prev_idx = 1
- precursor_indices.append(prev_idx)
- else:
- prev_idx += 1
- prev_mz = mz
- precursor_indices.append(prev_idx)
- self._precursor_indices = np.array(precursor_indices, dtype=np.int64)
-
- scan_count = len(self._precursor_indices)
- self._frame_max_index = scan_count
- self._scan_max_index = 1
- self._mobility_max_value = 0.0
- self._mobility_min_value = 0.0
- self._mobility_values = np.array([0.0])
- self._quad_indptr = self._push_indptr
- self._raw_quad_indptr = np.arange(scan_count + 1)
- self._intensity_min_value = float(np.min(self._intensity_values))
- self._intensity_max_value = float(np.max(self._intensity_values))
- self._intensity_corrections = np.ones(self._frame_max_index)
- _q_mzs = self._quad_mz_values[self._quad_mz_values != -1]
- if len(_q_mzs) > 0:
- self._quad_min_mz_value = float(np.min(_q_mzs))
- self._quad_max_mz_value = float(np.max(_q_mzs))
- else:
- self._quad_min_mz_value = 0
- self._quad_max_mz_value = 0
- self._precursor_max_index = int(np.max(self._precursor_indices)) + 1
- self._acquisition_mode = (
- msdata.file_type + " " + ("DDA" if dda else "DIA")
- ) # TODO
- self._mz_min_value = int(np.min(mz_values))
- self._mz_max_value = int(np.max(mz_values)) + 1
- self._decimals = 4
- self._mz_values = (
- np.arange(
- 10**self._decimals * self._mz_min_value,
- 10**self._decimals * (self._mz_max_value + 1),
- )
- / 10**self._decimals
- )
- self._tof_indices = (mz_values * 10**self._decimals).astype(
- np.int32
- ) - 10**self._decimals * self._mz_min_value
- self._tof_max_index = len(self._mz_values)
- self._meta_data = {"SampleName": msdata.raw_file_path}
- msmstype = np.array([0 if s == -1 else 1 for s, e in self._quad_mz_values])
- summed_intensities_ = np.cumsum(self._intensity_values)
- summed_intensities = -summed_intensities_[self._push_indptr[:-1]]
- summed_intensities[:-1] += summed_intensities_[self._push_indptr[1:-1]]
- summed_intensities[-1] += summed_intensities_[-1]
- max_intensities = [
- np.max(
- self._intensity_values[self._push_indptr[i] : self._push_indptr[i + 1]]
- )
- if self._push_indptr[i + 1] != -1
- and self._push_indptr[i] != -1
- and self._push_indptr[i] != self._push_indptr[i + 1]
- else 0
- for i in range(len(self._rt_values))
- ]
- self._frames = pd.DataFrame(
- {
- "MsMsType": msmstype,
- "Time": self._rt_values,
- "SummedIntensities": summed_intensities,
- "MaxIntensity": max_intensities,
- "Id": np.arange(len(self._rt_values)),
- }
- )
- frame_numbers = np.arange(len(self._rt_values), dtype=np.int32)
- isolation_widths = self._quad_mz_values[:, 1] + self._quad_mz_values[:, 0]
- isolation_centers = self._quad_mz_values[:, 1] - self._quad_mz_values[:, 0]
- self._fragment_frames = pd.DataFrame(
- {
- "Frame": frame_numbers[msmstype == 1],
- "ScanNumBegin": 0,
- "ScanNumEnd": 0,
- "IsolationWidth": isolation_widths[msmstype == 1],
- "IsolationMz": isolation_centers[msmstype == 1],
- "Precursor": self._precursor_indices[msmstype == 1],
- }
- )
- self._zeroth_frame = False
- offset = int(self.zeroth_frame)
- cycle_index = (
- np.searchsorted(
- self.raw_quad_indptr,
- (self.scan_max_index) * (self.precursor_max_index + offset),
- "r",
- )
- + 1
- )
- repeats = np.diff(self.raw_quad_indptr[:cycle_index])
- if self.zeroth_frame:
- repeats[0] -= self.scan_max_index
- cycle_length = self.scan_max_index * self.precursor_max_index
- repeat_length = np.sum(repeats)
- if repeat_length != cycle_length:
- repeats[-1] -= repeat_length - cycle_length
- self._dia_mz_cycle = np.empty((cycle_length, 2))
- self._dia_mz_cycle[:, 0] = np.repeat(
- self.quad_mz_values[: cycle_index - 1, 0], repeats
- )
- self._dia_mz_cycle[:, 1] = np.repeat(
- self.quad_mz_values[: cycle_index - 1, 1], repeats
- )
- self._dia_precursor_cycle = np.repeat(
- self.precursor_indices[: cycle_index - 1], repeats
- )
diff --git a/nbs/tests/alphatims_wrapper.ipynb b/nbs/tests/alphatims_wrapper.ipynb
deleted file mode 100644
index 767c2ee..0000000
--- a/nbs/tests/alphatims_wrapper.ipynb
+++ /dev/null
@@ -1,1749 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "#---#| default_exp wrappers.alphatims_wrapper"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": "# MSData_Base to AlphaTims"
- },
- {
- "metadata": {},
- "cell_type": "code",
- "outputs": [],
- "execution_count": null,
- "source": "# notebook was moved from alpharaw"
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "from alpharaw import register_all_readers\n",
- "from alphatims.alphatims_wrapper import AlphaTimsWrapper\n",
- "\n",
- "register_all_readers()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "#| hide\n",
- "import io\n",
- "from alpharaw.legacy_msdata.mgf import ms_reader_provider"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " spec_idx | \n",
- " peak_start_idx | \n",
- " peak_stop_idx | \n",
- " rt | \n",
- " charge | \n",
- " ms_level | \n",
- " precursor_mz | \n",
- " isolation_lower_mz | \n",
- " isolation_upper_mz | \n",
- " rt_sec | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 0 | \n",
- " 0 | \n",
- " -1 | \n",
- " -1 | \n",
- " 0.000000 | \n",
- " 0.0 | \n",
- " 2 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- "
\n",
- " \n",
- " | 1 | \n",
- " 1 | \n",
- " -1 | \n",
- " -1 | \n",
- " 0.000000 | \n",
- " 0.0 | \n",
- " 2 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- "
\n",
- " \n",
- " | 2 | \n",
- " 2 | \n",
- " -1 | \n",
- " -1 | \n",
- " 0.000000 | \n",
- " 0.0 | \n",
- " 2 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- "
\n",
- " \n",
- " | 3 | \n",
- " 3 | \n",
- " -1 | \n",
- " -1 | \n",
- " 0.000000 | \n",
- " 0.0 | \n",
- " 2 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- "
\n",
- " \n",
- " | 4 | \n",
- " 4 | \n",
- " -1 | \n",
- " -1 | \n",
- " 0.000000 | \n",
- " 0.0 | \n",
- " 2 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- "
\n",
- " \n",
- " | 5 | \n",
- " 5 | \n",
- " -1 | \n",
- " -1 | \n",
- " 0.000000 | \n",
- " 0.0 | \n",
- " 2 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- "
\n",
- " \n",
- " | 6 | \n",
- " 6 | \n",
- " -1 | \n",
- " -1 | \n",
- " 0.000000 | \n",
- " 0.0 | \n",
- " 2 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- "
\n",
- " \n",
- " | 7 | \n",
- " 7 | \n",
- " 0 | \n",
- " 60 | \n",
- " 0.059032 | \n",
- " 3.0 | \n",
- " 2 | \n",
- " 272.276336 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 3.541893 | \n",
- "
\n",
- " \n",
- " | 8 | \n",
- " 8 | \n",
- " -1 | \n",
- " -1 | \n",
- " 0.000000 | \n",
- " 0.0 | \n",
- " 2 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- "
\n",
- " \n",
- " | 9 | \n",
- " 9 | \n",
- " -1 | \n",
- " -1 | \n",
- " 0.000000 | \n",
- " 0.0 | \n",
- " 2 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- " 0.000000 | \n",
- "
\n",
- " \n",
- " | 10 | \n",
- " 10 | \n",
- " 60 | \n",
- " 117 | \n",
- " 0.110759 | \n",
- " 2.0 | \n",
- " 2 | \n",
- " 287.427959 | \n",
- " 285.427959 | \n",
- " 289.427959 | \n",
- " 6.645522 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " spec_idx peak_start_idx peak_stop_idx rt charge ms_level \\\n",
- "0 0 -1 -1 0.000000 0.0 2 \n",
- "1 1 -1 -1 0.000000 0.0 2 \n",
- "2 2 -1 -1 0.000000 0.0 2 \n",
- "3 3 -1 -1 0.000000 0.0 2 \n",
- "4 4 -1 -1 0.000000 0.0 2 \n",
- "5 5 -1 -1 0.000000 0.0 2 \n",
- "6 6 -1 -1 0.000000 0.0 2 \n",
- "7 7 0 60 0.059032 3.0 2 \n",
- "8 8 -1 -1 0.000000 0.0 2 \n",
- "9 9 -1 -1 0.000000 0.0 2 \n",
- "10 10 60 117 0.110759 2.0 2 \n",
- "\n",
- " precursor_mz isolation_lower_mz isolation_upper_mz rt_sec \n",
- "0 0.000000 0.000000 0.000000 0.000000 \n",
- "1 0.000000 0.000000 0.000000 0.000000 \n",
- "2 0.000000 0.000000 0.000000 0.000000 \n",
- "3 0.000000 0.000000 0.000000 0.000000 \n",
- "4 0.000000 0.000000 0.000000 0.000000 \n",
- "5 0.000000 0.000000 0.000000 0.000000 \n",
- "6 0.000000 0.000000 0.000000 0.000000 \n",
- "7 272.276336 270.276336 274.276336 3.541893 \n",
- "8 0.000000 0.000000 0.000000 0.000000 \n",
- "9 0.000000 0.000000 0.000000 0.000000 \n",
- "10 287.427959 285.427959 289.427959 6.645522 "
- ]
- },
- "execution_count": null,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "#| hide\n",
- "mgf = io.StringIO(\"\"\"\n",
- "BEGIN IONS\n",
- "TITLE=02445a_BA7-TUM_HLA_7_01_01-DDA-1h-R1.8.8.3.0.dta\n",
- "CHARGE=3+\n",
- "RTINSECONDS=3.5418930\n",
- "PEPMASS=272.276336\n",
- "103.92207 5457.3\n",
- "104.20045 5051.4\n",
- "108.70090 5891.7\n",
- "113.94175 6442.6\n",
- "116.92975 40506.3\n",
- "116.93716 8945.5\n",
- "128.37773 6427.8\n",
- "131.95308 288352.6\n",
- "133.93259 7344.6\n",
- "138.44611 7326.1\n",
- "139.00072 41556.8\n",
- "140.00319 16738.8\n",
- "140.99719 9493.8\n",
- "145.93156 10209.3\n",
- "145.94897 10497.8\n",
- "147.94559 8206.3\n",
- "147.96396 30552.8\n",
- "148.95543 14654.7\n",
- "149.96338 234207.8\n",
- "150.95096 8306.0\n",
- "157.01089 84638.9\n",
- "158.01357 27925.7\n",
- "159.00627 16084.7\n",
- "163.94281 24751.1\n",
- "163.95915 32203.3\n",
- "165.95605 44458.0\n",
- "165.97186 11530.2\n",
- "166.99500 26432.2\n",
- "167.97302 9216.7\n",
- "181.95230 13858.8\n",
- "191.95448 66152.7\n",
- "192.95538 8408.9\n",
- "193.07185 9092.8\n",
- "193.95313 660574.9\n",
- "194.95674 23452.8\n",
- "194.99008 143940.9\n",
- "200.00568 19510.8\n",
- "200.99942 23678.7\n",
- "204.30894 9406.1\n",
- "209.96466 21853.6\n",
- "211.96245 65351.0\n",
- "218.90355 9149.6\n",
- "223.91072 11300.2\n",
- "238.89684 12108.8\n",
- "243.93825 10150.2\n",
- "243.97040 10987.7\n",
- "244.94121 8744.2\n",
- "246.90314 11556.3\n",
- "271.93225 29430.0\n",
- "271.99219 51184.4\n",
- "272.19150 31960.4\n",
- "272.98602 35844.1\n",
- "273.94431 11031.8\n",
- "284.47998 8191.3\n",
- "290.00125 66212.4\n",
- "290.99539 54064.7\n",
- "293.89490 10005.0\n",
- "407.06372 10838.2\n",
- "464.36697 9715.4\n",
- "698.81390 9711.7\n",
- "END IONS\n",
- "BEGIN IONS\n",
- "TITLE=02445a_BA7-TUM_HLA_7_01_01-DDA-1h-R1.11.11.2.0.dta\n",
- "CHARGE=2+\n",
- "RTINSECONDS=6.6455220\n",
- "PEPMASS=287.427959\n",
- "103.34669 5304.0\n",
- "104.66884 5639.7\n",
- "113.42419 6258.3\n",
- "118.84039 5837.5\n",
- "119.93203 13977.3\n",
- "130.69589 6876.2\n",
- "133.94824 43094.3\n",
- "134.30524 7671.5\n",
- "135.96359 9031.3\n",
- "138.99994 8329.7\n",
- "146.95573 31143.9\n",
- "147.96323 12176.5\n",
- "150.95151 65859.3\n",
- "151.95818 24384.2\n",
- "157.01105 19241.5\n",
- "157.34985 7532.5\n",
- "161.08838 7843.9\n",
- "161.94234 20119.7\n",
- "162.95146 60110.4\n",
- "163.95877 183305.5\n",
- "164.96657 13647.5\n",
- "174.95139 150331.9\n",
- "175.95258 21393.4\n",
- "178.94460 11433.1\n",
- "179.95316 13650.5\n",
- "180.96204 15353.5\n",
- "190.94572 30418.9\n",
- "191.95422 61914.1\n",
- "192.61461 8642.1\n",
- "192.94395 12331.4\n",
- "192.96207 132342.5\n",
- "193.96318 19303.0\n",
- "209.04164 25149.6\n",
- "209.96368 154185.0\n",
- "209.98361 12353.5\n",
- "213.86244 11541.3\n",
- "224.93071 12903.0\n",
- "228.92879 8773.6\n",
- "241.86043 135357.5\n",
- "242.86113 20805.2\n",
- "242.94327 26679.4\n",
- "243.95219 29569.9\n",
- "244.92361 12153.5\n",
- "246.90300 16650.3\n",
- "252.96521 73484.3\n",
- "253.96646 11527.5\n",
- "286.85858 10166.4\n",
- "287.94186 18763.2\n",
- "303.87665 39189.3\n",
- "304.88116 11976.0\n",
- "321.89087 97122.5\n",
- "322.88867 28020.8\n",
- "370.28696 9008.2\n",
- "389.82578 13277.0\n",
- "407.83545 12220.4\n",
- "425.84872 13236.5\n",
- "482.54852 10940.2\n",
- "END IONS\n",
- "\"\"\")\n",
- "reader = ms_reader_provider.get_reader('mgf')\n",
- "reader.import_raw(mgf)\n",
- "reader.spectrum_df"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " raw_indices | \n",
- " frame_indices | \n",
- " scan_indices | \n",
- " precursor_indices | \n",
- " push_indices | \n",
- " tof_indices | \n",
- " rt_values | \n",
- " rt_values_min | \n",
- " mobility_values | \n",
- " quad_low_mz_values | \n",
- " quad_high_mz_values | \n",
- " mz_values | \n",
- " intensity_values | \n",
- " corrected_intensity_values | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 0 | \n",
- " 0 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 9220 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 103.9220 | \n",
- " 5457.3 | \n",
- " 5457 | \n",
- "
\n",
- " \n",
- " | 1 | \n",
- " 1 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 12004 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 104.2004 | \n",
- " 5051.4 | \n",
- " 5051 | \n",
- "
\n",
- " \n",
- " | 2 | \n",
- " 2 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 57009 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 108.7009 | \n",
- " 5891.7 | \n",
- " 5891 | \n",
- "
\n",
- " \n",
- " | 3 | \n",
- " 3 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 109417 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 113.9417 | \n",
- " 6442.6 | \n",
- " 6442 | \n",
- "
\n",
- " \n",
- " | 4 | \n",
- " 4 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 139297 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 116.9297 | \n",
- " 40506.3 | \n",
- " 40506 | \n",
- "
\n",
- " \n",
- " | 5 | \n",
- " 5 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 139371 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 116.9371 | \n",
- " 8945.5 | \n",
- " 8945 | \n",
- "
\n",
- " \n",
- " | 6 | \n",
- " 6 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 253777 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 128.3777 | \n",
- " 6427.8 | \n",
- " 6427 | \n",
- "
\n",
- " \n",
- " | 7 | \n",
- " 7 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 289530 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 131.9530 | \n",
- " 288352.6 | \n",
- " 288352 | \n",
- "
\n",
- " \n",
- " | 8 | \n",
- " 8 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 309325 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 133.9325 | \n",
- " 7344.6 | \n",
- " 7344 | \n",
- "
\n",
- " \n",
- " | 9 | \n",
- " 9 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 354461 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 138.4461 | \n",
- " 7326.1 | \n",
- " 7326 | \n",
- "
\n",
- " \n",
- " | 10 | \n",
- " 10 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 360007 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 139.0007 | \n",
- " 41556.8 | \n",
- " 41556 | \n",
- "
\n",
- " \n",
- " | 11 | \n",
- " 11 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 370031 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 140.0031 | \n",
- " 16738.8 | \n",
- " 16738 | \n",
- "
\n",
- " \n",
- " | 12 | \n",
- " 12 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 379971 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 140.9971 | \n",
- " 9493.8 | \n",
- " 9493 | \n",
- "
\n",
- " \n",
- " | 13 | \n",
- " 13 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 429315 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 145.9315 | \n",
- " 10209.3 | \n",
- " 10209 | \n",
- "
\n",
- " \n",
- " | 14 | \n",
- " 14 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 429489 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 145.9489 | \n",
- " 10497.8 | \n",
- " 10497 | \n",
- "
\n",
- " \n",
- " | 15 | \n",
- " 15 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 449455 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 147.9455 | \n",
- " 8206.3 | \n",
- " 8206 | \n",
- "
\n",
- " \n",
- " | 16 | \n",
- " 16 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 449639 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 147.9639 | \n",
- " 30552.8 | \n",
- " 30552 | \n",
- "
\n",
- " \n",
- " | 17 | \n",
- " 17 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 459554 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 148.9554 | \n",
- " 14654.7 | \n",
- " 14654 | \n",
- "
\n",
- " \n",
- " | 18 | \n",
- " 18 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 469633 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 149.9633 | \n",
- " 234207.8 | \n",
- " 234207 | \n",
- "
\n",
- " \n",
- " | 19 | \n",
- " 19 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 479509 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 150.9509 | \n",
- " 8306.0 | \n",
- " 8306 | \n",
- "
\n",
- " \n",
- " | 20 | \n",
- " 20 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 540108 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 157.0108 | \n",
- " 84638.9 | \n",
- " 84638 | \n",
- "
\n",
- " \n",
- " | 21 | \n",
- " 21 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 550135 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 158.0135 | \n",
- " 27925.7 | \n",
- " 27925 | \n",
- "
\n",
- " \n",
- " | 22 | \n",
- " 22 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 560062 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 159.0062 | \n",
- " 16084.7 | \n",
- " 16084 | \n",
- "
\n",
- " \n",
- " | 23 | \n",
- " 23 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 609428 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 163.9428 | \n",
- " 24751.1 | \n",
- " 24751 | \n",
- "
\n",
- " \n",
- " | 24 | \n",
- " 24 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 609591 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 163.9591 | \n",
- " 32203.3 | \n",
- " 32203 | \n",
- "
\n",
- " \n",
- " | 25 | \n",
- " 25 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 629560 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 165.9560 | \n",
- " 44458.0 | \n",
- " 44458 | \n",
- "
\n",
- " \n",
- " | 26 | \n",
- " 26 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 629718 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 165.9718 | \n",
- " 11530.2 | \n",
- " 11530 | \n",
- "
\n",
- " \n",
- " | 27 | \n",
- " 27 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 639950 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 166.9950 | \n",
- " 26432.2 | \n",
- " 26432 | \n",
- "
\n",
- " \n",
- " | 28 | \n",
- " 28 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 649730 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 167.9730 | \n",
- " 9216.7 | \n",
- " 9216 | \n",
- "
\n",
- " \n",
- " | 29 | \n",
- " 29 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 789523 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 181.9523 | \n",
- " 13858.8 | \n",
- " 13858 | \n",
- "
\n",
- " \n",
- " | 30 | \n",
- " 30 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 889544 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 191.9544 | \n",
- " 66152.7 | \n",
- " 66152 | \n",
- "
\n",
- " \n",
- " | 31 | \n",
- " 31 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 899553 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 192.9553 | \n",
- " 8408.9 | \n",
- " 8408 | \n",
- "
\n",
- " \n",
- " | 32 | \n",
- " 32 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 900718 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 193.0718 | \n",
- " 9092.8 | \n",
- " 9092 | \n",
- "
\n",
- " \n",
- " | 33 | \n",
- " 33 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 909531 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 193.9531 | \n",
- " 660574.9 | \n",
- " 660574 | \n",
- "
\n",
- " \n",
- " | 34 | \n",
- " 34 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 919567 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 194.9567 | \n",
- " 23452.8 | \n",
- " 23452 | \n",
- "
\n",
- " \n",
- " | 35 | \n",
- " 35 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 919900 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 194.9900 | \n",
- " 143940.9 | \n",
- " 143940 | \n",
- "
\n",
- " \n",
- " | 36 | \n",
- " 36 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 970056 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 200.0056 | \n",
- " 19510.8 | \n",
- " 19510 | \n",
- "
\n",
- " \n",
- " | 37 | \n",
- " 37 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 979994 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 200.9994 | \n",
- " 23678.7 | \n",
- " 23678 | \n",
- "
\n",
- " \n",
- " | 38 | \n",
- " 38 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1013089 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 204.3089 | \n",
- " 9406.1 | \n",
- " 9406 | \n",
- "
\n",
- " \n",
- " | 39 | \n",
- " 39 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1069646 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 209.9646 | \n",
- " 21853.6 | \n",
- " 21853 | \n",
- "
\n",
- " \n",
- " | 40 | \n",
- " 40 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1089624 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 211.9624 | \n",
- " 65351.0 | \n",
- " 65351 | \n",
- "
\n",
- " \n",
- " | 41 | \n",
- " 41 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1159035 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 218.9035 | \n",
- " 9149.6 | \n",
- " 9149 | \n",
- "
\n",
- " \n",
- " | 42 | \n",
- " 42 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1209107 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 223.9107 | \n",
- " 11300.2 | \n",
- " 11300 | \n",
- "
\n",
- " \n",
- " | 43 | \n",
- " 43 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1358968 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 238.8968 | \n",
- " 12108.8 | \n",
- " 12108 | \n",
- "
\n",
- " \n",
- " | 44 | \n",
- " 44 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1409382 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 243.9382 | \n",
- " 10150.2 | \n",
- " 10150 | \n",
- "
\n",
- " \n",
- " | 45 | \n",
- " 45 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1409704 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 243.9704 | \n",
- " 10987.7 | \n",
- " 10987 | \n",
- "
\n",
- " \n",
- " | 46 | \n",
- " 46 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1419412 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 244.9412 | \n",
- " 8744.2 | \n",
- " 8744 | \n",
- "
\n",
- " \n",
- " | 47 | \n",
- " 47 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1439031 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 246.9031 | \n",
- " 11556.3 | \n",
- " 11556 | \n",
- "
\n",
- " \n",
- " | 48 | \n",
- " 48 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1689322 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 271.9322 | \n",
- " 29430.0 | \n",
- " 29430 | \n",
- "
\n",
- " \n",
- " | 49 | \n",
- " 49 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1689921 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 271.9921 | \n",
- " 51184.4 | \n",
- " 51184 | \n",
- "
\n",
- " \n",
- " | 50 | \n",
- " 50 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1691915 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 272.1915 | \n",
- " 31960.4 | \n",
- " 31960 | \n",
- "
\n",
- " \n",
- " | 51 | \n",
- " 51 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1699860 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 272.9860 | \n",
- " 35844.1 | \n",
- " 35844 | \n",
- "
\n",
- " \n",
- " | 52 | \n",
- " 52 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1709443 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 273.9443 | \n",
- " 11031.8 | \n",
- " 11031 | \n",
- "
\n",
- " \n",
- " | 53 | \n",
- " 53 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1814799 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 284.4799 | \n",
- " 8191.3 | \n",
- " 8191 | \n",
- "
\n",
- " \n",
- " | 54 | \n",
- " 54 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1870012 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 290.0012 | \n",
- " 66212.4 | \n",
- " 66212 | \n",
- "
\n",
- " \n",
- " | 55 | \n",
- " 55 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1879953 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 290.9953 | \n",
- " 54064.7 | \n",
- " 54064 | \n",
- "
\n",
- " \n",
- " | 56 | \n",
- " 56 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 1908949 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 293.8949 | \n",
- " 10005.0 | \n",
- " 10005 | \n",
- "
\n",
- " \n",
- " | 57 | \n",
- " 57 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 3040637 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 407.0637 | \n",
- " 10838.2 | \n",
- " 10838 | \n",
- "
\n",
- " \n",
- " | 58 | \n",
- " 58 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 3613669 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 464.3669 | \n",
- " 9715.4 | \n",
- " 9715 | \n",
- "
\n",
- " \n",
- " | 59 | \n",
- " 59 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1 | \n",
- " 0 | \n",
- " 5958139 | \n",
- " 3.541893 | \n",
- " 0.059032 | \n",
- " 0.0 | \n",
- " 270.276336 | \n",
- " 274.276336 | \n",
- " 698.8139 | \n",
- " 9711.7 | \n",
- " 9711 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " raw_indices frame_indices scan_indices precursor_indices push_indices \\\n",
- "0 0 0 0 1 0 \n",
- "1 1 0 0 1 0 \n",
- "2 2 0 0 1 0 \n",
- "3 3 0 0 1 0 \n",
- "4 4 0 0 1 0 \n",
- "5 5 0 0 1 0 \n",
- "6 6 0 0 1 0 \n",
- "7 7 0 0 1 0 \n",
- "8 8 0 0 1 0 \n",
- "9 9 0 0 1 0 \n",
- "10 10 0 0 1 0 \n",
- "11 11 0 0 1 0 \n",
- "12 12 0 0 1 0 \n",
- "13 13 0 0 1 0 \n",
- "14 14 0 0 1 0 \n",
- "15 15 0 0 1 0 \n",
- "16 16 0 0 1 0 \n",
- "17 17 0 0 1 0 \n",
- "18 18 0 0 1 0 \n",
- "19 19 0 0 1 0 \n",
- "20 20 0 0 1 0 \n",
- "21 21 0 0 1 0 \n",
- "22 22 0 0 1 0 \n",
- "23 23 0 0 1 0 \n",
- "24 24 0 0 1 0 \n",
- "25 25 0 0 1 0 \n",
- "26 26 0 0 1 0 \n",
- "27 27 0 0 1 0 \n",
- "28 28 0 0 1 0 \n",
- "29 29 0 0 1 0 \n",
- "30 30 0 0 1 0 \n",
- "31 31 0 0 1 0 \n",
- "32 32 0 0 1 0 \n",
- "33 33 0 0 1 0 \n",
- "34 34 0 0 1 0 \n",
- "35 35 0 0 1 0 \n",
- "36 36 0 0 1 0 \n",
- "37 37 0 0 1 0 \n",
- "38 38 0 0 1 0 \n",
- "39 39 0 0 1 0 \n",
- "40 40 0 0 1 0 \n",
- "41 41 0 0 1 0 \n",
- "42 42 0 0 1 0 \n",
- "43 43 0 0 1 0 \n",
- "44 44 0 0 1 0 \n",
- "45 45 0 0 1 0 \n",
- "46 46 0 0 1 0 \n",
- "47 47 0 0 1 0 \n",
- "48 48 0 0 1 0 \n",
- "49 49 0 0 1 0 \n",
- "50 50 0 0 1 0 \n",
- "51 51 0 0 1 0 \n",
- "52 52 0 0 1 0 \n",
- "53 53 0 0 1 0 \n",
- "54 54 0 0 1 0 \n",
- "55 55 0 0 1 0 \n",
- "56 56 0 0 1 0 \n",
- "57 57 0 0 1 0 \n",
- "58 58 0 0 1 0 \n",
- "59 59 0 0 1 0 \n",
- "\n",
- " tof_indices rt_values rt_values_min mobility_values \\\n",
- "0 9220 3.541893 0.059032 0.0 \n",
- "1 12004 3.541893 0.059032 0.0 \n",
- "2 57009 3.541893 0.059032 0.0 \n",
- "3 109417 3.541893 0.059032 0.0 \n",
- "4 139297 3.541893 0.059032 0.0 \n",
- "5 139371 3.541893 0.059032 0.0 \n",
- "6 253777 3.541893 0.059032 0.0 \n",
- "7 289530 3.541893 0.059032 0.0 \n",
- "8 309325 3.541893 0.059032 0.0 \n",
- "9 354461 3.541893 0.059032 0.0 \n",
- "10 360007 3.541893 0.059032 0.0 \n",
- "11 370031 3.541893 0.059032 0.0 \n",
- "12 379971 3.541893 0.059032 0.0 \n",
- "13 429315 3.541893 0.059032 0.0 \n",
- "14 429489 3.541893 0.059032 0.0 \n",
- "15 449455 3.541893 0.059032 0.0 \n",
- "16 449639 3.541893 0.059032 0.0 \n",
- "17 459554 3.541893 0.059032 0.0 \n",
- "18 469633 3.541893 0.059032 0.0 \n",
- "19 479509 3.541893 0.059032 0.0 \n",
- "20 540108 3.541893 0.059032 0.0 \n",
- "21 550135 3.541893 0.059032 0.0 \n",
- "22 560062 3.541893 0.059032 0.0 \n",
- "23 609428 3.541893 0.059032 0.0 \n",
- "24 609591 3.541893 0.059032 0.0 \n",
- "25 629560 3.541893 0.059032 0.0 \n",
- "26 629718 3.541893 0.059032 0.0 \n",
- "27 639950 3.541893 0.059032 0.0 \n",
- "28 649730 3.541893 0.059032 0.0 \n",
- "29 789523 3.541893 0.059032 0.0 \n",
- "30 889544 3.541893 0.059032 0.0 \n",
- "31 899553 3.541893 0.059032 0.0 \n",
- "32 900718 3.541893 0.059032 0.0 \n",
- "33 909531 3.541893 0.059032 0.0 \n",
- "34 919567 3.541893 0.059032 0.0 \n",
- "35 919900 3.541893 0.059032 0.0 \n",
- "36 970056 3.541893 0.059032 0.0 \n",
- "37 979994 3.541893 0.059032 0.0 \n",
- "38 1013089 3.541893 0.059032 0.0 \n",
- "39 1069646 3.541893 0.059032 0.0 \n",
- "40 1089624 3.541893 0.059032 0.0 \n",
- "41 1159035 3.541893 0.059032 0.0 \n",
- "42 1209107 3.541893 0.059032 0.0 \n",
- "43 1358968 3.541893 0.059032 0.0 \n",
- "44 1409382 3.541893 0.059032 0.0 \n",
- "45 1409704 3.541893 0.059032 0.0 \n",
- "46 1419412 3.541893 0.059032 0.0 \n",
- "47 1439031 3.541893 0.059032 0.0 \n",
- "48 1689322 3.541893 0.059032 0.0 \n",
- "49 1689921 3.541893 0.059032 0.0 \n",
- "50 1691915 3.541893 0.059032 0.0 \n",
- "51 1699860 3.541893 0.059032 0.0 \n",
- "52 1709443 3.541893 0.059032 0.0 \n",
- "53 1814799 3.541893 0.059032 0.0 \n",
- "54 1870012 3.541893 0.059032 0.0 \n",
- "55 1879953 3.541893 0.059032 0.0 \n",
- "56 1908949 3.541893 0.059032 0.0 \n",
- "57 3040637 3.541893 0.059032 0.0 \n",
- "58 3613669 3.541893 0.059032 0.0 \n",
- "59 5958139 3.541893 0.059032 0.0 \n",
- "\n",
- " quad_low_mz_values quad_high_mz_values mz_values intensity_values \\\n",
- "0 270.276336 274.276336 103.9220 5457.3 \n",
- "1 270.276336 274.276336 104.2004 5051.4 \n",
- "2 270.276336 274.276336 108.7009 5891.7 \n",
- "3 270.276336 274.276336 113.9417 6442.6 \n",
- "4 270.276336 274.276336 116.9297 40506.3 \n",
- "5 270.276336 274.276336 116.9371 8945.5 \n",
- "6 270.276336 274.276336 128.3777 6427.8 \n",
- "7 270.276336 274.276336 131.9530 288352.6 \n",
- "8 270.276336 274.276336 133.9325 7344.6 \n",
- "9 270.276336 274.276336 138.4461 7326.1 \n",
- "10 270.276336 274.276336 139.0007 41556.8 \n",
- "11 270.276336 274.276336 140.0031 16738.8 \n",
- "12 270.276336 274.276336 140.9971 9493.8 \n",
- "13 270.276336 274.276336 145.9315 10209.3 \n",
- "14 270.276336 274.276336 145.9489 10497.8 \n",
- "15 270.276336 274.276336 147.9455 8206.3 \n",
- "16 270.276336 274.276336 147.9639 30552.8 \n",
- "17 270.276336 274.276336 148.9554 14654.7 \n",
- "18 270.276336 274.276336 149.9633 234207.8 \n",
- "19 270.276336 274.276336 150.9509 8306.0 \n",
- "20 270.276336 274.276336 157.0108 84638.9 \n",
- "21 270.276336 274.276336 158.0135 27925.7 \n",
- "22 270.276336 274.276336 159.0062 16084.7 \n",
- "23 270.276336 274.276336 163.9428 24751.1 \n",
- "24 270.276336 274.276336 163.9591 32203.3 \n",
- "25 270.276336 274.276336 165.9560 44458.0 \n",
- "26 270.276336 274.276336 165.9718 11530.2 \n",
- "27 270.276336 274.276336 166.9950 26432.2 \n",
- "28 270.276336 274.276336 167.9730 9216.7 \n",
- "29 270.276336 274.276336 181.9523 13858.8 \n",
- "30 270.276336 274.276336 191.9544 66152.7 \n",
- "31 270.276336 274.276336 192.9553 8408.9 \n",
- "32 270.276336 274.276336 193.0718 9092.8 \n",
- "33 270.276336 274.276336 193.9531 660574.9 \n",
- "34 270.276336 274.276336 194.9567 23452.8 \n",
- "35 270.276336 274.276336 194.9900 143940.9 \n",
- "36 270.276336 274.276336 200.0056 19510.8 \n",
- "37 270.276336 274.276336 200.9994 23678.7 \n",
- "38 270.276336 274.276336 204.3089 9406.1 \n",
- "39 270.276336 274.276336 209.9646 21853.6 \n",
- "40 270.276336 274.276336 211.9624 65351.0 \n",
- "41 270.276336 274.276336 218.9035 9149.6 \n",
- "42 270.276336 274.276336 223.9107 11300.2 \n",
- "43 270.276336 274.276336 238.8968 12108.8 \n",
- "44 270.276336 274.276336 243.9382 10150.2 \n",
- "45 270.276336 274.276336 243.9704 10987.7 \n",
- "46 270.276336 274.276336 244.9412 8744.2 \n",
- "47 270.276336 274.276336 246.9031 11556.3 \n",
- "48 270.276336 274.276336 271.9322 29430.0 \n",
- "49 270.276336 274.276336 271.9921 51184.4 \n",
- "50 270.276336 274.276336 272.1915 31960.4 \n",
- "51 270.276336 274.276336 272.9860 35844.1 \n",
- "52 270.276336 274.276336 273.9443 11031.8 \n",
- "53 270.276336 274.276336 284.4799 8191.3 \n",
- "54 270.276336 274.276336 290.0012 66212.4 \n",
- "55 270.276336 274.276336 290.9953 54064.7 \n",
- "56 270.276336 274.276336 293.8949 10005.0 \n",
- "57 270.276336 274.276336 407.0637 10838.2 \n",
- "58 270.276336 274.276336 464.3669 9715.4 \n",
- "59 270.276336 274.276336 698.8139 9711.7 \n",
- "\n",
- " corrected_intensity_values \n",
- "0 5457 \n",
- "1 5051 \n",
- "2 5891 \n",
- "3 6442 \n",
- "4 40506 \n",
- "5 8945 \n",
- "6 6427 \n",
- "7 288352 \n",
- "8 7344 \n",
- "9 7326 \n",
- "10 41556 \n",
- "11 16738 \n",
- "12 9493 \n",
- "13 10209 \n",
- "14 10497 \n",
- "15 8206 \n",
- "16 30552 \n",
- "17 14654 \n",
- "18 234207 \n",
- "19 8306 \n",
- "20 84638 \n",
- "21 27925 \n",
- "22 16084 \n",
- "23 24751 \n",
- "24 32203 \n",
- "25 44458 \n",
- "26 11530 \n",
- "27 26432 \n",
- "28 9216 \n",
- "29 13858 \n",
- "30 66152 \n",
- "31 8408 \n",
- "32 9092 \n",
- "33 660574 \n",
- "34 23452 \n",
- "35 143940 \n",
- "36 19510 \n",
- "37 23678 \n",
- "38 9406 \n",
- "39 21853 \n",
- "40 65351 \n",
- "41 9149 \n",
- "42 11300 \n",
- "43 12108 \n",
- "44 10150 \n",
- "45 10987 \n",
- "46 8744 \n",
- "47 11556 \n",
- "48 29430 \n",
- "49 51184 \n",
- "50 31960 \n",
- "51 35844 \n",
- "52 11031 \n",
- "53 8191 \n",
- "54 66212 \n",
- "55 54064 \n",
- "56 10005 \n",
- "57 10838 \n",
- "58 9715 \n",
- "59 9711 "
- ]
- },
- "execution_count": null,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "#| hide\n",
- "tims_data = AlphaTimsWrapper(reader, True)\n",
- "tims_data[3.0:5.0]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3.8.3 ('base')",
- "language": "python",
- "name": "python3"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
-}
diff --git a/nbs/tests/test_alphatims_wrapper.ipynb b/nbs/tests/test_alphatims_wrapper.ipynb
deleted file mode 100644
index 3f738cd..0000000
--- a/nbs/tests/test_alphatims_wrapper.ipynb
+++ /dev/null
@@ -1,151 +0,0 @@
-{
- "cells": [
- {
- "metadata": {},
- "cell_type": "code",
- "outputs": [],
- "execution_count": null,
- "source": "# notebook was moved from alpharaw"
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "%reload_ext autoreload\n",
- "%autoreload 2"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": "from alpharaw.thermo import ThermoRawData\n"
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "raw_data = ThermoRawData()\n",
- "raw_data.import_raw(\"./test_data/iRT_DIA.raw\")\n",
- "raw_data.spectrum_df"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "raw_data.peak_df"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "from alphatims.alphatims_wrapper import AlphaTimsWrapper\n",
- "\n",
- "alphatims_data = AlphaTimsWrapper(raw_data, dda=True)\n",
- "alphatims_data[0.0:1.0]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "alphatims_data[0.0:100.0].query('precursor_indices>0')"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Test iRT DIA data"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "raw_data = ThermoRawData()\n",
- "raw_data.import_raw(\"./test_data/iRT_DIA.raw\")\n",
- "raw_data.spectrum_df"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "alphatims_data = AlphaTimsWrapper(raw_data, dda=False)\n",
- "alphatims_data[0.0:10.0]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "alphatims_data[0.0:1.0][['precursor_indices','push_indices']].drop_duplicates()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "alphatims_data[0.0:10.0].query('precursor_indices==0')[\n",
- " ['precursor_indices','push_indices']\n",
- "].drop_duplicates()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3.8.3 ('base')",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.9.12"
- },
- "orig_nbformat": 4,
- "vscode": {
- "interpreter": {
- "hash": "8a3b27e141e49c996c9b863f8707e97aabd49c4a7e8445b9b783b34e4a21a9b2"
- }
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
-}