timsrust 0.4.2

A crate to read Bruker timsTOF data
Documentation
use super::ReadableParquetTable;

#[derive(Clone, Debug, Default, PartialEq)]
pub struct ParquetPrecursor {
    pub mz: f64,
    pub rt: f64,
    pub im: f64,
    pub charge: usize,
    pub intensity: f64,
    pub index: usize,
    pub frame_index: usize,
    pub offset: u64,
    pub collision_energy: f64,
}

impl ReadableParquetTable for ParquetPrecursor {
    fn update_from_parquet_file(&mut self, key: &str, value: String) {
        match key {
            "Id" => self.index = Self::parse_default_field(value),
            "RetentionTime" => self.rt = Self::parse_default_field(value),
            "MonoisotopicMz" => self.mz = Self::parse_default_field(value),
            "Charge" => self.charge = Self::parse_default_field(value),
            "Intensity" => self.intensity = Self::parse_default_field(value),
            "ooK0" => self.im = Self::parse_default_field(value),
            "MS1ParentFrameId" => {
                self.frame_index = Self::parse_default_field(value)
            },
            "BinaryOffset" => self.offset = Self::parse_default_field(value),
            "CollisionEnergy" => {
                self.collision_energy = Self::parse_default_field(value)
            },
            _ => {},
        }
    }
}