masster 0.3.14__py3-none-any.whl → 0.3.16__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of masster might be problematic. Click here for more details.

masster/study/plot.py CHANGED
@@ -375,7 +375,7 @@ def plot_consensus_2d(
375
375
  ])
376
376
 
377
377
  if cmap is None:
378
- cmap = "vi"
378
+ cmap = "viridis"
379
379
  elif cmap == "grey":
380
380
  cmap = "Greys256"
381
381
 
@@ -898,7 +898,7 @@ def plot_bpc(
898
898
  def plot_eic(
899
899
  self,
900
900
  mz,
901
- mz_tol=0.01,
901
+ mz_tol=None,
902
902
  samples=None,
903
903
  title: str | None = None,
904
904
  filename: str | None = None,
@@ -912,6 +912,9 @@ def plot_eic(
912
912
  Parameters mirror `plot_bpc` with additional `mz` and `mz_tol` arguments. The function
913
913
  retrieves a Sample object for each sample UID, calls `sample.get_eic(mz, mz_tol)`, and
914
914
  overlays the resulting chromatograms.
915
+
916
+ Args:
917
+ mz_tol: m/z tolerance in Da. If None, uses study.parameters.eic_mz_tol as default.
915
918
  """
916
919
  # Local imports to avoid heavy top-level deps / circular imports
917
920
  from bokeh.plotting import figure, show, output_file
@@ -919,6 +922,10 @@ def plot_eic(
919
922
  from bokeh.io.export import export_png
920
923
  from masster.study.helpers import get_eic
921
924
 
925
+ # Use study's eic_mz_tol parameter as default if not provided
926
+ if mz_tol is None:
927
+ mz_tol = self.parameters.eic_mz_tol
928
+
922
929
  if mz is None:
923
930
  self.logger.error("mz must be provided for EIC plotting")
924
931
  return
masster/study/study.py CHANGED
@@ -80,16 +80,23 @@ from masster.study.helpers import set_folder
80
80
  from masster.study.helpers import set_source
81
81
  from masster.study.helpers import sample_color
82
82
  from masster.study.helpers import sample_color_reset
83
- from masster.study.helpers import name_replace
84
- from masster.study.helpers import name_reset
83
+ from masster.study.helpers import sample_name_replace
84
+ from masster.study.helpers import sample_name_reset
85
+ from masster.study.helpers import samples_select
86
+ from masster.study.helpers import samples_delete
85
87
  from masster.study.helpers import features_select
86
88
  from masster.study.helpers import features_filter
87
89
  from masster.study.helpers import features_delete
88
90
  from masster.study.helpers import consensus_select
89
91
  from masster.study.helpers import consensus_filter
90
92
  from masster.study.helpers import consensus_delete
93
+ from masster.study.helpers import migrate_map_id_to_index
91
94
  from masster.study.load import add
92
95
  from masster.study.load import add_sample
96
+ from masster.study.load import _add_samples_batch
97
+ from masster.study.load import _add_sample_optimized
98
+ from masster.study.load import _add_sample_standard
99
+ from masster.study.load import _sample_color_reset_optimized
93
100
  from masster.study.load import fill_single
94
101
  from masster.study.load import fill
95
102
  from masster.study.load import _process_sample_for_parallel_fill
@@ -279,24 +286,30 @@ class Study:
279
286
  "sample_name": [],
280
287
  "sample_path": [],
281
288
  "sample_type": [],
282
- "size": [],
283
289
  "map_id": [],
284
- "file_source": [],
285
- "ms1": [],
286
- "ms2": [],
290
+ "sample_source": [],
287
291
  "sample_color": [],
292
+ "sample_group": [],
293
+ "sample_batch": [],
294
+ "sample_sequence": [],
295
+ "num_features": [],
296
+ "num_ms1": [],
297
+ "num_ms2": [],
288
298
  },
289
299
  schema={
290
300
  "sample_uid": pl.Int64,
291
301
  "sample_name": pl.Utf8,
292
302
  "sample_path": pl.Utf8,
293
303
  "sample_type": pl.Utf8,
294
- "size": pl.Int64,
295
- "map_id": pl.Utf8,
296
- "file_source": pl.Utf8,
297
- "ms1": pl.Int64,
298
- "ms2": pl.Int64,
304
+ "map_id": pl.Int64,
305
+ "sample_source": pl.Utf8,
299
306
  "sample_color": pl.Utf8,
307
+ "sample_group": pl.Utf8,
308
+ "sample_batch": pl.Int64,
309
+ "sample_sequence": pl.Int64,
310
+ "num_features": pl.Int64,
311
+ "num_ms1": pl.Int64,
312
+ "num_ms2": pl.Int64,
300
313
  },
301
314
  )
302
315
  self.features_maps = []
@@ -369,8 +382,10 @@ class Study:
369
382
  set_source = set_source
370
383
  sample_color = sample_color
371
384
  sample_color_reset = sample_color_reset
372
- name_replace = name_replace
373
- name_reset = name_reset
385
+ name_replace = sample_name_replace
386
+ name_reset = sample_name_reset
387
+ samples_select = samples_select
388
+ samples_delete = samples_delete
374
389
  features_select = features_select
375
390
  features_filter = features_filter
376
391
  features_delete = features_delete
@@ -388,6 +403,10 @@ class Study:
388
403
  add_folder = add # backward compatibility alias
389
404
  add = add
390
405
  add_sample = add_sample
406
+ _add_samples_batch = _add_samples_batch
407
+ _add_sample_optimized = _add_sample_optimized
408
+ _add_sample_standard = _add_sample_standard
409
+ _sample_color_reset_optimized = _sample_color_reset_optimized
391
410
  _load_study5 = _load_study5
392
411
  _save_study5 = _save_study5
393
412
  _save_study5_compressed = _save_study5_compressed
@@ -225,9 +225,9 @@
225
225
  "dtype": "pl.Int64"
226
226
  },
227
227
  "map_id": {
228
- "dtype": "pl.Utf8"
228
+ "dtype": "pl.Int64"
229
229
  },
230
- "file_source": {
230
+ "sample_source": {
231
231
  "dtype": "pl.Utf8"
232
232
  },
233
233
  "sample_name": {
@@ -239,13 +239,25 @@
239
239
  "sample_type": {
240
240
  "dtype": "pl.Utf8"
241
241
  },
242
- "size": {
242
+ "sample_group": {
243
+ "dtype": "pl.Utf8"
244
+ },
245
+ "sample_batch": {
246
+ "dtype": "pl.Int64"
247
+ },
248
+ "sample_sequence": {
249
+ "dtype": "pl.Int64"
250
+ },
251
+ "sample_color": {
252
+ "dtype": "pl.Utf8"
253
+ },
254
+ "num_features": {
243
255
  "dtype": "pl.Int64"
244
256
  },
245
- "ms1": {
257
+ "num_ms1": {
246
258
  "dtype": "pl.Int64"
247
259
  },
248
- "ms2": {
260
+ "num_ms2": {
249
261
  "dtype": "pl.Int64"
250
262
  }
251
263
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: masster
3
- Version: 0.3.14
3
+ Version: 0.3.16
4
4
  Summary: Mass spectrometry data analysis package
5
5
  Project-URL: homepage, https://github.com/zamboni-lab/masster
6
6
  Project-URL: repository, https://github.com/zamboni-lab/masster
@@ -1,23 +1,23 @@
1
1
  masster/__init__.py,sha256=G7hbKO8F_o1wFwQlvO25M8JYGka_YSAVU2_O__2rjlI,697
2
- masster/_version.py,sha256=ginlJdJgdMh1rp81NNhKs0fwmLr17IZA4S9-6W_glZw,257
2
+ masster/_version.py,sha256=HDf6S1ynXvmSKXApEpj2twR-B_GqBMtsnLl5qQe7mBU,257
3
3
  masster/chromatogram.py,sha256=NgPr1uLGJHjRu6PWZZGOrS3pCl7sye1yQCJjlRi9ZSY,19305
4
4
  masster/logger.py,sha256=W50V_uh8RSYwGxDrDFhOuj5jpu2tKJyt_16lMw9kQwA,14755
5
- masster/spectrum.py,sha256=LuDa7qP_JInctzkmxC9c5468opHOholy321KpUgyW2U,47550
5
+ masster/spectrum.py,sha256=7wKQes97sI-O2lxrkQnYuoroXFyAWgwSzS4TnjUX8RY,47710
6
6
  masster/data/examples/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.mzML,sha256=3RS_crLN-aoPSacMYaQ45sxszmp_EcQElrg8tiuAQyA,39741920
7
7
  masster/data/examples/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.timeseries.data,sha256=01vC6m__Qqm2rLvlTMZoeKIKowFvovBTUnrNl8Uav3E,24576
8
8
  masster/data/examples/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff,sha256=go5N9gAM1rn4PZAVaoCmdteY9f7YGEM9gyPdSmkQ8PE,1447936
9
9
  masster/data/examples/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff.scan,sha256=ahi1Y3UhAj9Bj4Q2MlbgPekNdkJvMOoMXVOoR6CeIxc,13881220
10
10
  masster/data/examples/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff2,sha256=TFB0HW4Agkig6yht7FtgjUdbXax8jjKaHpSZSvuU5vs,3252224
11
11
  masster/sample/__init__.py,sha256=HL0m1ept0PMAYUCQtDDnkdOS12IFl6oLAq4TZQz83uY,170
12
- masster/sample/h5.py,sha256=IdfbdkDgKcij-jMQTxnjW-gsBhb6vwi8w1XXL795yEs,63793
13
- masster/sample/helpers.py,sha256=U2VyboRdTsQbOefCy7VXh6PlSQtEsR6BK5QF2jGUd94,36208
12
+ masster/sample/h5.py,sha256=40H_o2Rno61KZwlWOGuwUmU9YcdVVzecs533fg8uRvI,98042
13
+ masster/sample/helpers.py,sha256=ThmabX_-gXxLFyok-mYMNOr5JErIO_zcrIHwqovXE1c,36541
14
14
  masster/sample/lib.py,sha256=l5YdU9TxEWJI0kJxXxrRCxgDDwbzO5zBf1_Qi_HY87w,33556
15
- masster/sample/load.py,sha256=5Ig94gEWBfdxR86yNwaPj9mdNvPI1nVCp0LXcFJt05U,47577
15
+ masster/sample/load.py,sha256=ZeTB7Rr5c0XEDTt1OfyfjxogWb9TLuiAoBg4loyvnRQ,50013
16
16
  masster/sample/parameters.py,sha256=Gg2KcuNbV_wZ_Wwv93QlM5J19ji0oSIvZLPV1NoBmq0,4456
17
- masster/sample/plot.py,sha256=C8Y2DLLHw3Bo_U0MPhKMI3AKOkqj0zMUQxasRVWp26U,77964
17
+ masster/sample/plot.py,sha256=mXrQbgBfMhXtfat_xAuliyXNTanW_kezq4hmWQYtFiQ,78445
18
18
  masster/sample/processing.py,sha256=-H93MEUysA-B9PB4nU31WFjtaU_flqbu2gY35ce4vVs,57827
19
19
  masster/sample/quant.py,sha256=tHNjvUFTdehKR31BXBZnVsBxMD9XJHgaltITOjr71uE,7562
20
- masster/sample/sample.py,sha256=QxKjXPO5lWRrIq5eDsYzNQPjp0zI_vuPdPlRQe1y3uI,16925
20
+ masster/sample/sample.py,sha256=2Hq3mUZHAN8AVw_-1m5v7Jg1-yqF5Pv7AWWBlhEDSXo,17096
21
21
  masster/sample/sample5_schema.json,sha256=4g_uBMODLvxnhZU6iCK61W3fbaT6sTgOvBhEFc3U1nI,3772
22
22
  masster/sample/save.py,sha256=kQULZkuhx2ED8jMlQsi5yK98dRKlQKvQf5uJDvI01ZA,31896
23
23
  masster/sample/sciex.py,sha256=vnbxsq_qnAQVuzcpziP1o3IC4kM5amGBcPmC2TAuDLw,46319
@@ -28,30 +28,30 @@ masster/sample/defaults/find_ms2_def.py,sha256=KTELMAnioGLYbhzAwOgK14TZqboPEvzeB
28
28
  masster/sample/defaults/get_spectrum_def.py,sha256=o62p31PhGd-LiIkTOzKQhwPtnO2AtQDHcPu-O-YoQPs,11460
29
29
  masster/sample/defaults/sample_def.py,sha256=keoXyMyrm_iLgbYqfIbqCpJ3XHBVlNwCNmb5iMQL0iY,14579
30
30
  masster/study/__init__.py,sha256=Zspv6U8jFqjkHGYdNdDy1rfUnCSolCzUdgSSg98PRgE,166
31
- masster/study/export.py,sha256=9Bhz8wpO3ZHdwV0iWSX0E38GS3UfqfAFlW9VN8ht2-Y,28845
32
- masster/study/h5.py,sha256=UOc4tbeWr8Xa_5Aescz7rMMnkzpu8PSTsOAnTfPv0-E,67109
33
- masster/study/helpers.py,sha256=O5aTbbELc_zCOPHg0YO4PXrVjWE_gKQuDxjdVfaDKwU,112710
31
+ masster/study/export.py,sha256=E3Ps350T-STFlx-OQc3fU592WvenO1i6Dq7PVH6QUbA,28989
32
+ masster/study/h5.py,sha256=Tl_jdV75yOZ5PH76jvMvTdOJdhiup6uINPC04DhcDX0,71815
33
+ masster/study/helpers.py,sha256=PZ0Lb3eFSnEmPQ3sFzHn-cYr_OehHGzTOogfo3r5K-0,133432
34
34
  masster/study/helpers_optimized.py,sha256=sd87kNPIEPdMijekXzZWSyeZzJ_DTAW8HQjAry-jVyY,13922
35
- masster/study/load.py,sha256=1wRIIB-n8H1d9vUtb7GTaJLIS4AHrujAafGs4tvJrcs,49647
35
+ masster/study/load.py,sha256=WwQ52rzjWeL2JqdA7b7NfMy4hmBws_iFATpn32r0ANg,63100
36
36
  masster/study/parameters.py,sha256=0elaF7YspTsB7qyajWAbRNL2VfKlGz5GJLifmO8IGkk,3276
37
- masster/study/plot.py,sha256=-WYiR-tmXP9x2YKn6fxy6UyJnAxptuvPw9g-13zo6WY,75899
37
+ masster/study/plot.py,sha256=RZ-ko0ocsXzaPtsa5QzBDX4FIwQkx4lYf5RPLJAH5Ss,76147
38
38
  masster/study/processing.py,sha256=ijLaVKZlPJQpcQh_u-Cj6acrSEOaB3vKMNzS9alXdzg,52661
39
39
  masster/study/save.py,sha256=YjFEiuiB4OFLVvW_AX4-kgnsbjCWrYZeqF85VNEtbdw,6560
40
- masster/study/study.py,sha256=2ReH0w6-oIAypQZVxSe3IKFAbHPIJSC9JyuDRhaOSOc,30749
41
- masster/study/study5_schema.json,sha256=Grm2vfi2NnfNfcqKndz3IX9JNyhgwh92T8x-IofLay4,5103
40
+ masster/study/study.py,sha256=U6_tUk0SD1FaADq6ChwFTBVNYqgOTcva8QDN5Xdp4Ws,31724
41
+ masster/study/study5_schema.json,sha256=Fwt6U6r1J1BQxwR8ArFv1yN_2Cq1tt3tadS2sQCzjhg,5379
42
42
  masster/study/defaults/__init__.py,sha256=m3Z5KXGqsTdh7GjYzZoENERt39yRg0ceVRV1DeCt1P0,610
43
43
  masster/study/defaults/align_def.py,sha256=QSJXfe5kAtYp_IN8LUuXjq61IkxT74ml84k5kmmRjqM,19846
44
44
  masster/study/defaults/export_def.py,sha256=eXl3h4aoLX88XkHTpqahLd-QZ2gjUqrmjq8IJULXeWo,1203
45
45
  masster/study/defaults/fill_chrom_def.py,sha256=hB6-tyC9bhx-IpGj2HC8FinQdW4VLYj_pn5t1rlj-Ew,8887
46
- masster/study/defaults/fill_def.py,sha256=5B7-iNCngdwHPbf0146LzrqxKCi7_g5OC1XtkxvckeQ,8869
46
+ masster/study/defaults/fill_def.py,sha256=TdDqOt-fva44JptLvxOy7GNUCR5isOKz1jR2xj_V8sQ,8869
47
47
  masster/study/defaults/find_consensus_def.py,sha256=uWB4NKCXDMQgNp4BaQUExkDofnXz0ZDffsxH1tvH2_Q,8599
48
48
  masster/study/defaults/find_ms2_def.py,sha256=RL0DFG41wQ05U8UQKUGr3vzSl3mU0m0knQus8DpSoJE,5070
49
49
  masster/study/defaults/integrate_chrom_def.py,sha256=0MNIWGTjty-Zu-NTQsIweuj3UVqEY3x1x8pK0mPwYak,7264
50
50
  masster/study/defaults/integrate_def.py,sha256=Vf4SAzdBfnsSZ3IRaF0qZvWu3gMDPHdgPfMYoPKeWv8,7246
51
51
  masster/study/defaults/merge_def.py,sha256=EBsKE3hsAkTEzN9dpdRD5W3_suTKy_WZ_96rwS0uBuE,8572
52
- masster/study/defaults/study_def.py,sha256=d8mQWIpvWEWI8grPTAcQa4jKTG7QrM98RRgHZVoh134,9519
53
- masster-0.3.14.dist-info/METADATA,sha256=ekvyajONIIV7y6Ma8rFE6U0EnPgq07XpXB8ox1e-Ld4,44320
54
- masster-0.3.14.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
55
- masster-0.3.14.dist-info/entry_points.txt,sha256=ZHguQ_vPmdbpqq2uGtmEOLJfgP-DQ1T0c07Lxh30wc8,58
56
- masster-0.3.14.dist-info/licenses/LICENSE,sha256=bx5iLIKjgAdYQ7sISn7DsfHRKkoCUm1154sJJKhgqnU,35184
57
- masster-0.3.14.dist-info/RECORD,,
52
+ masster/study/defaults/study_def.py,sha256=v2V5i5y288gydhMOM78m8u_GaWC2XdjLM5nJP6e17sI,10476
53
+ masster-0.3.16.dist-info/METADATA,sha256=Ix7nQy8uh4Rp4wiA85TEyjCeXrn8vtx02X49kticgjM,44320
54
+ masster-0.3.16.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
55
+ masster-0.3.16.dist-info/entry_points.txt,sha256=ZHguQ_vPmdbpqq2uGtmEOLJfgP-DQ1T0c07Lxh30wc8,58
56
+ masster-0.3.16.dist-info/licenses/LICENSE,sha256=bx5iLIKjgAdYQ7sISn7DsfHRKkoCUm1154sJJKhgqnU,35184
57
+ masster-0.3.16.dist-info/RECORD,,