Skip to content

Instantly share code, notes, and snippets.

@StephenFordham
Created September 9, 2024 12:39
Show Gist options
  • Save StephenFordham/b740f9a8941a5959a82c56ba7a741653 to your computer and use it in GitHub Desktop.
Save StephenFordham/b740f9a8941a5959a82c56ba7a741653 to your computer and use it in GitHub Desktop.
MALDI TOF MS baseline correction and normalisation functions for antibiotic resistance prediction
# Function for baseline correction using a simple rolling minimum
import numpy as np
from scipy.signal import savgol_filter
def baseline_correction(intensities, window_size=50, poly_order=3):
baseline = savgol_filter(intensities, window_length=window_size, polyorder=poly_order)
corrected_intensities = intensities - baseline
corrected_intensities[corrected_intensities < 0] = 0 # Ensuring no negative intensities
return corrected_intensities
# Function for total ion current (TIC) normalization
def tic_normalization(intensities):
total_ion_current = np.sum(intensities)
normalized_intensities = intensities / total_ion_current
return normalized_intensities
# Perform baseline correction
corrected_intensities = baseline_correction(intensities)
# Perform TIC normalization on baseline-corrected data
normalized_intensities = tic_normalization(corrected_intensities)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment