Skip to content

Commit c83031b

Browse files
committed
Merge branch '243_non_ms_data_fix' into 'corems_4_0'
Add filter on scan_df to remove non-mass spec scans See merge request mass-spectrometry/corems!223
2 parents 2323b2c + b235826 commit c83031b

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

corems/mass_spectra/input/mzml.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,9 @@ def get_scan_df(self, data=None, time_range: Optional[Union[Tuple[float, float],
167167
scan_dict["ms_format"][i] = None
168168

169169
scan_df = pd.DataFrame(scan_dict)
170+
171+
# Remove any non-mass spectra scans (e.g., MS level 0 or None)
172+
scan_df = scan_df[scan_df.ms_level.notnull() & (scan_df.ms_level > 0)].reset_index(drop=True)
170173

171174
# Apply time range filtering if specified
172175
if time_range is not None:

corems/mass_spectra/input/rawFileReader.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1436,7 +1436,10 @@ def get_scan_df(self, time_range: Optional[Union[Tuple[float, float], List[Tuple
14361436
scan_df.loc[scan_df.scan == i, "ms_format"] = "centroid"
14371437
else:
14381438
scan_df.loc[scan_df.scan == i, "ms_format"] = "profile"
1439-
1439+
1440+
# Remove any non-mass spectra scans (e.g., MS level 0 or None)
1441+
scan_df = scan_df[scan_df.ms_level.notnull() & (scan_df.ms_level > 0)].reset_index(drop=True)
1442+
14401443
# Filter by time range if specified
14411444
if time_range is not None:
14421445
time_ranges = self._normalize_time_range(time_range)

0 commit comments

Comments
 (0)