diff --git a/alpharaw/thermo.py b/alpharaw/thermo.py index e32795a..750dc45 100644 --- a/alpharaw/thermo.py +++ b/alpharaw/thermo.py @@ -45,7 +45,7 @@ "multinotch": "O", } """ -The auxiliary items and types that can be accessed from thermo RawFileReader. +The auxiliary items and dtypes that can be accessed from thermo RawFileReader. """ @@ -53,7 +53,62 @@ class ThermoRawData(MSData_Base): """ Loading Thermo Raw data as :class:`alpharaw.ms_data_base.MSData_Base` data structure. This class will be registered as file formats "thermo" and "thermo_raw" in - :obj:`alpharaw.ms_data_base.ms_reader_provider` by :func:`register_readers`. + :obj:`alpharaw.ms_data_base.ms_reader_provider` by local :func:`register_readers`. + """ + + MASS_ANALYZER_ID_TO_TYPE = dict( + (_id, _t) + for _id, _t in pyrawfilereader.RawFileReader.massAnalyzerType.items() + if isinstance(_id, int) + ) + """ + The dict of Thermo's mass analyzer ID (int) to its name (str). + The IDs correspond to enum values (int) of `int(scan_event.MassAnalyzer)` + in RawFileReader, which originate from + `ThermoFisher.CommonCore.Data.FilterEnums.MassAnalyzerType`. + """ + + MASS_ANALYZER_TYPE_TO_ID = dict( + (_t, _id) + for _t, _id in pyrawfilereader.RawFileReader.massAnalyzerType.items() + if isinstance(_id, int) + ) + """ + The dict of Thermo's mass analyzer name (str) to its ID (int). + The IDs correspond to enum values of `int(scan_event.MassAnalyzer)` + in RawFileReader, which originate from + `ThermoFisher.CommonCore.Data.FilterEnums.MassAnalyzerType`. + """ + + ACTIVATION_ID_TO_TYPE = dict( + (_id, _t) + for _id, _t in pyrawfilereader.RawFileReader.activationType.items() + if isinstance(_id, int) + ) + """ + The dict of Thermo's activation name (str) to its ID (int). + The IDs correspond to enum values (int) of `int(scan_event.GetActivation(index))` + in RawFileReader, which originate from + `ThermoFisher.CommonCore.Data.FilterEnums.ActivationType`. + Note that multiple activations like `ETHCD` and `ETCID` are + not thermo's built-in activation types, + AlphaRaw still assigns IDs to them (ETHCD=201, ETCID=202). + We can get multiple activations from auxiliary_item `scan_event_string`. + """ + + ACTIVATION_TYPE_TO_ID = dict( + (_t, _id) + for _t, _id in pyrawfilereader.RawFileReader.activationType.items() + if isinstance(_id, int) + ) + """ + The dict of Thermo's activation ID (int) to its name (str). + The IDs correspond to enum values (int) of `int(scan_event.GetActivation(index))` + in RawFileReader, which originate from + `ThermoFisher.CommonCore.Data.FilterEnums.ActivationType`. + Note that `ETHCD` and `ETCID` are not thermo's built-in activation types, + AlphaRaw still assigns IDs to them (ETHCD=201, ETCID=202). + We can get multiple activations from auxiliary_item `scan_event_string`. """ def __init__( @@ -273,7 +328,7 @@ def _import_batch( auxiliary_dict["faims_cv"].append(float(trailer_data["FAIMS CV:"])) if "activation" in auxiliary_dict: auxiliary_dict["activation"].append( - rawfile.activationType[int(scan_event.GetActivation(0))] + ThermoRawData.ACTIVATION_ID_TO_TYPE[int(scan_event.GetActivation(0))] if ms_order > 1 else "MS1" ) @@ -283,7 +338,7 @@ def _import_batch( ) if "analyzer" in auxiliary_dict: auxiliary_dict["analyzer"].append( - rawfile.massAnalyzerType[int(scan_event.MassAnalyzer)] + ThermoRawData.MASS_ANALYZER_ID_TO_TYPE[int(scan_event.MassAnalyzer)] ) if "analyzer_id" in auxiliary_dict: auxiliary_dict["analyzer_id"].append(int(scan_event.MassAnalyzer)) diff --git a/docs/build_docs.sh b/docs/build_docs.sh index 3a68f7a..89caddd 100644 --- a/docs/build_docs.sh +++ b/docs/build_docs.sh @@ -1,6 +1,6 @@ rm -rf _build -conda env remove -n alpharawdocs -conda create -n alpharawdocs python=3.10 -y +conda env remove -n alpharawdocs -y +conda create -n alpharawdocs python=3.11 -y # conda create -n alphatimsinstaller python=3.10 conda activate alpharawdocs # call conda install git -y diff --git a/docs/index.rst b/docs/index.rst index 397b572..53097e8 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -8,6 +8,7 @@ For more information, see AlphaRaw on `GitHub `_ package. + +.. toctree:: + :maxdepth: 1 + + tutorials/base_settings + tutorials/raw_readers diff --git a/docs/tutorials/base_settings.ipynb b/docs/tutorials/base_settings.ipynb new file mode 100644 index 0000000..cbcc91c --- /dev/null +++ b/docs/tutorials/base_settings.ipynb @@ -0,0 +1,1008 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Basic settings of AlphaRaw\n", + "\n", + "Let's take an mzml file as an example:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from alpharaw import register_all_readers\n", + "from alpharaw.ms_data_base import ms_reader_provider\n", + "\n", + "register_all_readers()\n", + "mzml_reader = ms_reader_provider.get_reader(\"mzml\")\n", + "mzml_reader.load_raw(\"../../nbs_tests/test_data/small.pwiz.1.1.mzML\")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
spec_idxpeak_start_idxpeak_stop_idxrtprecursor_mzprecursor_chargeisolation_lower_mzisolation_upper_mzms_level
000107390.004935-1.000-1.00-1.001
1110739255540.007897-1.000-1.00-1.001
2225554260390.011218810.790810.29811.292
3326039270450.022838837.340836.84837.842
4427045278820.034925725.360724.86725.862
5527882285320.048620558.870558.37559.372
6628532292940.061923812.330811.83812.832
7729294373740.075015-1.000-1.00-1.001
8837374542850.077788-1.000-1.00-1.001
9954285548370.081203810.750810.25811.252
101054837557780.092903837.960837.46838.462
111155778564130.104803644.060643.56644.562
121256413572050.117215725.230724.73725.732
131357205578740.130022559.190558.69559.692
141457874669940.143452-1.000-1.00-1.001
151566994819220.146408-1.000-1.00-1.001
161681922825010.149755811.410810.91811.912
171782501834170.161442837.360836.86837.862
181883417840870.173370643.800643.30644.302
191984087847610.186658558.940558.44559.442
202084761856520.200695725.140724.64725.642
212185652946650.213673-1.000-1.00-1.001
2222946651052420.216747-1.000-1.00-1.001
23231052421058210.220073810.840810.34811.342
24241058211067590.232923837.420836.92837.922
25251067591075480.244745674.640674.14675.142
26261075481082350.259172643.740643.24644.242
27271082351091000.272663725.360724.86725.862
28281091001197640.285483-1.000-1.00-1.001
29291197641336630.288898-1.000-1.00-1.001
30301336631346010.303703837.390836.89837.892
31311346011352540.315650643.800643.30644.302
32321352541359560.328527558.750558.25559.252
33331359561365430.342915882.450881.95882.952
34341365431453120.358558-1.000-1.00-1.001
35351453121566120.361428-1.000-1.00-1.001
36361566121571840.364755810.730810.23811.232
37371571841582480.376578837.350836.85837.852
38381582481589010.388673643.730643.23644.232
39391589011597760.401962725.680725.18726.182
40401597761605300.415132674.700674.20675.202
41411605301782640.428483-1.000-1.00-1.001
42421782641936140.433222-1.000-1.00-1.001
43431936141942250.436567810.820810.32811.322
44441942251952350.448320837.780837.28838.282
45451952351959480.460565674.840674.34675.342
46461959481966070.473103558.900558.40559.402
47471966071972430.487237882.540882.04883.042
\n", + "
" + ], + "text/plain": [ + " spec_idx peak_start_idx peak_stop_idx rt precursor_mz \\\n", + "0 0 0 10739 0.004935 -1.00 \n", + "1 1 10739 25554 0.007897 -1.00 \n", + "2 2 25554 26039 0.011218 810.79 \n", + "3 3 26039 27045 0.022838 837.34 \n", + "4 4 27045 27882 0.034925 725.36 \n", + "5 5 27882 28532 0.048620 558.87 \n", + "6 6 28532 29294 0.061923 812.33 \n", + "7 7 29294 37374 0.075015 -1.00 \n", + "8 8 37374 54285 0.077788 -1.00 \n", + "9 9 54285 54837 0.081203 810.75 \n", + "10 10 54837 55778 0.092903 837.96 \n", + "11 11 55778 56413 0.104803 644.06 \n", + "12 12 56413 57205 0.117215 725.23 \n", + "13 13 57205 57874 0.130022 559.19 \n", + "14 14 57874 66994 0.143452 -1.00 \n", + "15 15 66994 81922 0.146408 -1.00 \n", + "16 16 81922 82501 0.149755 811.41 \n", + "17 17 82501 83417 0.161442 837.36 \n", + "18 18 83417 84087 0.173370 643.80 \n", + "19 19 84087 84761 0.186658 558.94 \n", + "20 20 84761 85652 0.200695 725.14 \n", + "21 21 85652 94665 0.213673 -1.00 \n", + "22 22 94665 105242 0.216747 -1.00 \n", + "23 23 105242 105821 0.220073 810.84 \n", + "24 24 105821 106759 0.232923 837.42 \n", + "25 25 106759 107548 0.244745 674.64 \n", + "26 26 107548 108235 0.259172 643.74 \n", + "27 27 108235 109100 0.272663 725.36 \n", + "28 28 109100 119764 0.285483 -1.00 \n", + "29 29 119764 133663 0.288898 -1.00 \n", + "30 30 133663 134601 0.303703 837.39 \n", + "31 31 134601 135254 0.315650 643.80 \n", + "32 32 135254 135956 0.328527 558.75 \n", + "33 33 135956 136543 0.342915 882.45 \n", + "34 34 136543 145312 0.358558 -1.00 \n", + "35 35 145312 156612 0.361428 -1.00 \n", + "36 36 156612 157184 0.364755 810.73 \n", + "37 37 157184 158248 0.376578 837.35 \n", + "38 38 158248 158901 0.388673 643.73 \n", + "39 39 158901 159776 0.401962 725.68 \n", + "40 40 159776 160530 0.415132 674.70 \n", + "41 41 160530 178264 0.428483 -1.00 \n", + "42 42 178264 193614 0.433222 -1.00 \n", + "43 43 193614 194225 0.436567 810.82 \n", + "44 44 194225 195235 0.448320 837.78 \n", + "45 45 195235 195948 0.460565 674.84 \n", + "46 46 195948 196607 0.473103 558.90 \n", + "47 47 196607 197243 0.487237 882.54 \n", + "\n", + " precursor_charge isolation_lower_mz isolation_upper_mz ms_level \n", + "0 0 -1.00 -1.00 1 \n", + "1 0 -1.00 -1.00 1 \n", + "2 0 810.29 811.29 2 \n", + "3 0 836.84 837.84 2 \n", + "4 0 724.86 725.86 2 \n", + "5 0 558.37 559.37 2 \n", + "6 0 811.83 812.83 2 \n", + "7 0 -1.00 -1.00 1 \n", + "8 0 -1.00 -1.00 1 \n", + "9 0 810.25 811.25 2 \n", + "10 0 837.46 838.46 2 \n", + "11 0 643.56 644.56 2 \n", + "12 0 724.73 725.73 2 \n", + "13 0 558.69 559.69 2 \n", + "14 0 -1.00 -1.00 1 \n", + "15 0 -1.00 -1.00 1 \n", + "16 0 810.91 811.91 2 \n", + "17 0 836.86 837.86 2 \n", + "18 0 643.30 644.30 2 \n", + "19 0 558.44 559.44 2 \n", + "20 0 724.64 725.64 2 \n", + "21 0 -1.00 -1.00 1 \n", + "22 0 -1.00 -1.00 1 \n", + "23 0 810.34 811.34 2 \n", + "24 0 836.92 837.92 2 \n", + "25 0 674.14 675.14 2 \n", + "26 0 643.24 644.24 2 \n", + "27 0 724.86 725.86 2 \n", + "28 0 -1.00 -1.00 1 \n", + "29 0 -1.00 -1.00 1 \n", + "30 0 836.89 837.89 2 \n", + "31 0 643.30 644.30 2 \n", + "32 0 558.25 559.25 2 \n", + "33 0 881.95 882.95 2 \n", + "34 0 -1.00 -1.00 1 \n", + "35 0 -1.00 -1.00 1 \n", + "36 0 810.23 811.23 2 \n", + "37 0 836.85 837.85 2 \n", + "38 0 643.23 644.23 2 \n", + "39 0 725.18 726.18 2 \n", + "40 0 674.20 675.20 2 \n", + "41 0 -1.00 -1.00 1 \n", + "42 0 -1.00 -1.00 1 \n", + "43 0 810.32 811.32 2 \n", + "44 0 837.28 838.28 2 \n", + "45 0 674.34 675.34 2 \n", + "46 0 558.40 559.40 2 \n", + "47 0 882.04 883.04 2 " + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mzml_reader.spectrum_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The `spectrum_df` format is shown as table (dataframe) above. It contains several required columns for proteomics:\n", + "\n", + "- `spec_idx`: the index of a spectrum in the raw file, it starts from zero. For thermo data, its value is the `scan number - 1`.\n", + "- `peak_start_idx`: the start row index of peaks in `peak_df` (see `mzml_reader.peak_df` below) for the spectrum.\n", + "- `peak_stop_idx`: the stop row index of peaks in `peak_df` (see `mzml_reader.peak_df` below) for the spectrum.\n", + "- `rt`: retention time in minutes. We will use `rt_sec` for retention time in seconds in alphaX ecosystem.\n", + "- `precursor_mz`: the precursor m/z of the given MS2 scans. For an MS1 scan, the value is always -1. For DIA MS2, the default value will be the isolation center of the MS2. And for DDA MS2, `precursor_mz` may refer to the mono-isotope m/z of the precursor when `precursor_charge` is not 0, otherwise isolation center.\n", + "- `precursor_charge`: For DIA, this value is always 0. For DDA, it can be nonzero when the mono-isotope m/z is determined.\n", + "- `isolation_lower_mz`: the lower (or left) m/z boundary of the isolation window.\n", + "- `isolation_upper_mz`: the upper (or right) m/z boundary of the isolation window.\n", + "- `ms_level`: MS1, MS2, ... it starts from one." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mzintensity
0204.7595831422.173584
1204.7598423215.493164
2204.7601013887.355957
3204.7603452843.165527
4204.760605582.906738
.........
1972381547.7767331.261027
1972391723.5192871.640921
1972401724.3239751.251971
1972411724.9913335.156138
1972421743.3612063.192361
\n", + "

197243 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " mz intensity\n", + "0 204.759583 1422.173584\n", + "1 204.759842 3215.493164\n", + "2 204.760101 3887.355957\n", + "3 204.760345 2843.165527\n", + "4 204.760605 582.906738\n", + "... ... ...\n", + "197238 1547.776733 1.261027\n", + "197239 1723.519287 1.640921\n", + "197240 1724.323975 1.251971\n", + "197241 1724.991333 5.156138\n", + "197242 1743.361206 3.192361\n", + "\n", + "[197243 rows x 2 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mzml_reader.peak_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The `peak_df` looks like the table above, it only contains `mz` and `intensity` columns." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The relation between `spectrum_df` and `peak_df` is show in the following figure. This format is very flexable for spectrum selection without losing the connection between spectra and peaks, for instance, selecting spectra within RT in range of [10:10.5]." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7wAAAGaCAYAAAAsKU81AAAAAXNSR0IArs4c6QAAAIRlWElmTU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAACQAAAAAQAAAJAAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAA7ygAwAEAAAAAQAAAZoAAAAA/dan0AAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAQABJREFUeAHs3Qm8b9X4P/CdefwZMiV0DYWQSANFJ1QoFUoZUqFCJWlCqVOkMhUZmkepFMmUUjohDRSRDKGLZJ7n8ftf7+U+57/v937POd9z7jnnfs+5z/N67bO/Z++11/BZa6/9fNbzrLVWaFISgUQgEUgEEoFEIBFIBBKBCRD49a9/3ZkgSN5OBBKBRGCgELjPfe6zwm0GKkeZmUQgEUgEEoFEIBFIBBKBRCARSAQSgURgmhBIwjtNQGY0iUAikAgkAolAIpAIJAKJQCKQCCQCg4VAEt7Bqo/MTSKQCCQCiUAikAgkAolAIpAIJAKJwDQhkIR3moDMaBKBRCARSAQSgUQgEUgEEoFEIBFIBAYLgdsNVnYyN4lAIpAIJAKJQCKQCCQCiUAikAgsPwj8/Oc/b37605/WAq+22mrN3e9+93lZ+BtuuKH505/+1NzvfvdrFixY0Nz2tredlXKmhXdWYM5EEoFEIBFIBBKBRCARSAQSgUQgEVgSgUsuuaTZeeedm1122aX59re/vWSAeXJlv/32a7baaqvm5JNPbv7+97/PWqnSwjtrUGdCiUAikAgkAolAIpAIJAKJQCKQCMwMAr/5zW+aT37yk03ZQqx59rOf3bAW3/72t5+ZxGYg1l/+8pfN2Wef3fzzn/9stttuu2bllVduVlhhhaVOKQnvUkOYESQCiUAikAgkAolAIpAIJAKJQCIwNQQe97jHNa9+9aub29zmNs2DHvSgqUVSnvr973/fnHLKKc23vvWtZpVVVmke9rCHDRTh3X777ZuNN964WWONNZo73OEOS5QTUT/qqKOq2/PTnva05oEPfGAS3iVQyguJQCKQCCQCiUAikAgkAolAIjDvEOh0OtNCfgYRmMc//vGNox+ZThz6jaufcP2EedGLXtRPEac9zNLbiKc9SxlhIpAIJAKJQCKQCCQCicCgIVCsL51By1PmZ34j8IMf/KC6uFrQ6Wc/+1nzk5/8pHnOc57TcN29+OKLm80226x57Wtf29z//vdvTjvttMZc2F7y8pe/vD7HgjpIcsIJJzQjIyPN3/72t5qtBzzgAc2ee+7ZPPKRjxzN5llnndVcdNFFzUMe8pDmbne7W3P++efX8u+6667NDjvs0NznPvdprr766lr+7373u81NN93U/PWvf63WXfHd7na3a/baa69mnXXWae54xzs2Fsg69thjm0996lPNLbfc0jzmMY9pXvnKVzbPfe5za/wSjnw9+tGPrpbYD33oQ80//vGP5vWvf33zkpe8ZDScOrnwwgubz3zmM82VV17Z3PWud63p7LPPPs1jH/vYmrZFqpSJ9TlEHb70pS9t7nSnO9VLl156aXPiiSfWOjaH+T//+U8jbWXj0nz44YdXi7U5zn/+85+bzTffvJbdolf//e9/6/zn3/3ud81GG23U7L777osNjJQ4VkiX5kA+z4lAIpAIJAKJQCKQCCQCiUAiMDAI/OUvf6nuuchtyAc+8IH42XziE59onvjEJ9aFkBC9L3zhC6P32j823XTThgVy0OR73/te86UvfalRTsIN+Q9/+MNi2fzRj35UySSC2hYkcO2112422GCDBtn7yle+0tx8882jQX74wx82DoJcIoa33npr88IXvrD5zne+Mxru+uuvb/bYY4+6SjTie8973rM+d8UVV1SiPRqw/DjggAOaDTfcsBJy8b3xjW9sPve5z1UyLO8GJj772c/W+kBYkW3zca+66qrG/NwQ95DaEK7M0kPUQ9qLdyG5XKARYOSfy7Y5vne5y12ab37zm82nP/3p5t///ndd9Cueb58Ha5ijnbP8nQgkAolAIpAIJAKJQCKQCCQCyz0Cj3rUo5qDDz64Eilg7Lvvvg2r7R//+MdqOUR8jjjiiGbhwoX1YDV91rOeVXFDiD0/W1vgTKayDjrooObaa69tDjnkkLpA00TPHnrooc2pp55aF6MSFsFFElk2EUGWVgtVEXhcd911ddVnlnDWVKsjs/AitWeeeWZz4403Vqut/48++ujmxz/+8RIDA8ccc0ydF8xaTJB0JFba4mf5NQiBsCLUyCfrbuB9r3vdq/niF79Y8+F6Lyv7lltuWeNivWYlJqzKiC3iy93bc0guEs3CL22km4XZYIY2YN5vr0WukvBWSPNPIpAIJAKJQCKQCCQCiUAikAgMIgIImcWcuPTe9773bR784AdXgiOv//rXv6q1kLuu+wggAsbS+IhHPKK6uLKCDqLYb5fV8h73uMcoQRwrn/atffKTn9w885nPbO5973vXYFy8uUMru2srrrji6CJV4oSVw31y2WWX1QECWH7/+99vuBIjjcipbYIQVniGwG/99devaSKUZGEZVEB41QHySfbee+9meHi4WtjXXHPNOsAQ9xBV+ZIPcfQipMg4HIQLQqw8kf+I60lPetLoys2s+/LK/Zq12LZO4SJdM9X6k4S3BUb+TAQSgUQgEUgEEoFEIBFIBBKBwUIACUJ6nOOw3Y4D2UHaCHdglkpb89zvfverZJelN6yNg1WqyeXGHF6EEakLUjgZN21zabn9khtuuKFazLkyw4vFlPz2t78dDeP/hz/84dWV+M53vvMSaSLRSC6SinSbg7v11lvX7ZC++tWvLhaPuKZDlPs1r3lNbQus1SzH4Q7+vOc9ryeZlm7O4Z0O9DOORCARSAQSgUQgEUgEEoFEIBFYZgiwUB5//PHNueeeW8nZbrvt1jz/+c/vuf3NMsvkMkyY9TuIvwWsttlmm4a7cVtYZ3ttF9QO0/69xRZbVDdixPPyyy+v2H/jG99oTj/99GbVVVetlut2+On4bXGtAw88sFp3ubUj8Vyeua33sh5LMy2804F8xpEIJAKJQCKQCCQCiUAikAgkAssEAa6tZ5xxRp33yeLHCmg14XDDXSaZWgaJtq2/FvEK66essI5akRkm5t8iiFY73mqrrarbMlfw//u//xt1U54o++bumn/M0ouEvvOd72z222+/hps2V2kDEJMVluQQi1GFRTquObMosyQj77HI1Y477jhqgW6Hjd9JeAOJPCcCiUAikAgkAolAIpAIJAKJwJxDwGJLX/7yl+sqweaXnnLKKY2Vmdddd916nHPOOaNuz4NSOKszyyNXZXNglcGKzFxzXXvFK17R2JZpMmIeLMKJ3L773e9uWGzFxcUbATXPdaWVVmp+9atfVZK63nrr1TBrrLFGJavtlZQnShfZtKqzebU77bRTjfvII49suE4PDQ2Nzqd9y1veUld1lg8rSXNBP+644yrhds3iWeqMyJtFq1hq999//+pSLYyVpMNtXTiLV4W12v+b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q/QbbbRRASC33357OW7SxILkr33ta8u7weRXXkMj96EPfaj1lre8pQBf742f/exnRQO27rrrFiDgfUKzC6B6fwDcJsyAGZNqDz74YJlYY2L63ve+t/RRgOSWW24p4MDC6u94xzta73nPewpQ+Ou//uvW8uXLWzS+p512WmvhwoWjFiiD2Xrzt9YmV31j9DX91v/dd9+99ba3va1MkFxwwQWtE088sWh+P/e5zxWQqy/o6ywCmgRUWj8QcNaXgVegk8bVZM5ZZ51V8v/Yxz5W+uUjjzzSuv7660s/Aqp959KSKfN1vckikzvXXstydSV5V3YDVt9H/dyz5Xupn6dpv7rQWP/5n/956cPqOg/p/4573i6YWfG503z/d0b+uJsOiwObB+8QLALzl4JphIeD/yL4n4OPD15d+llcyKf31OAngvcOpkmeKRqOgnAvGho52L3tlbYeqxKoEqgS6EsJTBngNXA2YL3jjjvK1sz69ttv33rDG95QBhlvfetby8Dk3nvvLYNrWiAz9L1mxvtSUvOgUoCMgd8TTzxRgAGgQitCW2fwBvTQVlx33XWtr3/9662/+Iu/KNq8CngHt3MAi4ADwGkgv8MOO7QOPvjg1ute97qizfJcL126tJx/5plnirbMpMjPf/7zMoFFw/bBD36wtTg0/q7RF5h7XnLJJeW8dwATYn0LyL3hhhuKaSiAethhhxUT4w033LAFoNx5552tm2++uaR/85vfXCbKHn744QJggVxaMsD6ZS97WWuTTTYpQEJ/vP/++wtwTqBw5ZVXtoDdddZZp1xDC6f8N73pTaWh7rvvvgKyHadhq++gweu/AO6KFStKn9EvWRPou74r+hkQefnllxftqQk8E3ObbbZZ6RP6dJJ9EzHf/e53WyZEgE4TLo4/9NBDBQR7Po488sjWtttuW8yd9TcA9Z577mm9853vLJMq0icYBXbtq4eJGvUDZE3SOIebBIR7bgByoNpzpE5IPvquCcd53E8BTEGjHgjmWzuTQDCKKwTsvj/4seALg58P3i94w2B0YPAvy97q/zwVl24fDEDPtIZ3vFoPj5zM7WRMoMfLt56rEqgSqBKYMQlMGeD1Uea3a6Dxxje+sXXIIYeUQWjOVAO8X/va18oggZmYWe7uD/+M3XUtqKcEtCF/TBqw17zmNa399tuvtTiADMBC27bWWmsVXzSm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4taHL3kqOZAcGF4OxLwcM3PQoD5LZIL/7W9/21x66aXKLEqIsfG2xxRF+T73uU/zqEc9qnnEIx5RFIJehWR42TU7akYpo7xdcsklzR//+MfSZu03p3wBw4985CObRz/60c0973nP0s7tPHk8uhyg3P/ud79rvve97zW/+tWvigxQxh/ykIc0q622Wml3ivjNN9/c/OxnP2t++tOfdkFxfWt93j1kCdh82tOe1jz+8Y8vx8DGdddd11x11VXNggULSjnGjfvd737Nwx72sOZJT3pSARjkrBLw4J7LL7+8ueGGG8rzlPOgBz2oWXXVVYscAgsVrHi2Ovz6179uvv3tb5cxyXgkzyqrrFLq417PbT+nPi9/h58DtY1///vfN9/61rea66+/vvnb3/5WgCZZffrTn15ktho4vBHZ/stf/tJceeWVzc9//vMi2+Rk+eWXb1ZeeeUie+SwyhG5u/HGG5urr766yB9Zbs9n5i7lk9tnPvOZ3Wvy/PnPf26++93vduulvve9732bxz3ucSX/csst1x1bySFA6znqRm79b64kr0984hNL/QDhiSgB70QcGsrrLHk8vDcNZe16KjUofbGn2Pw3OZAcSA5MGQfMjbe6WQb0CBP3FVdc0Wy11VbFQt2vWEBpu+22a+bMmVMU0AS8/bg0fecocL/5zW+at73tbc2CACT96N73vnezzTbbNDvssEPjOEFDPy6N3jlKOUX9S1/6UnPwwQc311xzTVHitS/l/1WvelXz1re+tSj3PLbnnntuc+yxxxYQOt7bvve9722e+tSnFgVf+Z/97Gebj33sY80Pf/jDAoqVz3Cy5pprNrvttltR8HmU69gA5H7yk59sjj/++Obaa68tYNo14GTDDTdsdtpppwIkGNYqICG7p556anPYYYd1vWMAi+d4xitf+coyBo1X77w2vBzQ1uSCLO23334FyDqnjcnxO97xjuZ1r3td89jHPra8hGu8pgwgH/rQh5ovf/nLZdxynmEGEDXmkSdAk0wCyOazD3zgA80FF1zQlxmA62abbdY8+9nP7sorEP6Vr3yl9CHAmqyqk+foQ1tuuWXznOc8p1svz/rlL3/ZHHnkkc1nPvOZYgTS37zLwx/+8NLnXv/61zcxYRf57luRPDnKHGDdGwmwO8pMzronB5IDs5sDAwW8WMkyTbGgAPDWUB5M3Mjv/e9/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iIMArp1Q/AsfHv3oR3ce+9jHds4777yFig5A1zn//PM7q6++erc+j3rUozqnnXZax/2VQtkv5dz//vcv+ZZZZpnOeuut1/ne975Xs3QCNHe+853vdDbeeONuWausskrn0EMP7QQg7eabzAHeP+UpT+mWU9vF70Mf+tDOMcccU4q5/PLLO1tvvXVnueWW6+Z9zGMe0zn22GM7N998c8mjju06tctyvPvuu3fIy4IFCzp77bVXZ+WVV+6W9aAHPaizzz77dAIAd6v9l7/8pXPUUUd1Vl111W6+DTbYoHPppZd28zjYZZddutfbzzzooIM6YXxZKO8w/KNfeP8HP/jB3Xrf9a537ey5554Lvb+64u0ee+zRqfLg/dZff/3OlVdeuUSvsv/++3fue9/7djbbbLNOGDAWKkt/bj9PPT/1qU8txMsf/vCHnac//emlr6vT3e9+984nPvGJheTvqquuWqic2jb6SBhyus/Uzttuu21n2WWX7fJjnXXW6bi/3Te6N8TB6aefXp5t3Alw3r7UPY7nNXf2Jyk5kBxIDiQHkgPJgeRAcmBWc2BevL1dm0+ItHKkp0WqtGY9GOuXZ+fUU09tAuQ2++23X3Of+9ynOeGEE5qTTz654bE544wzmlhLV24PTbS5293u1uy8887d4kLRbwL4dP+Xx7kANk0Ax3I+gGozZ86cbh4H8gX4ajbffPMmQHO5puynPe3W6rseILsJwFjqteKKKzYBEpsTTzyxCYDUrLTSSt28CxW8iP/whF1yySXNm970pubnP/95uTuA4B08yVdffXUTgK54dw877LBmhRVWaObNm9cccMABzfLLL99suOGG5Z4LL7yw1O9xj3tcc/jhhzfXXXdd8+EPf7jZddddm49+9KOFDwEYmwCizXe/+93mXe96VxOAtTnrrLOaI444orTDTjvtNOm3CFDbbLHFFs0LX/jC7j08bN/4xjcKfx/5yEeW8wE+Cv/WWGONklcdzjnnnOaQQw4pPN5mm22aAEnNJpts0m03N/JoK4snNwB+oy1/9f+3dxZwVhXtHx9bsRPrVbETWwxU9FXsxkJR7MDCbhCxG7tB7O5GQbG7E8Xu7pz/833+znnPPXvu7sLuZRf3N5/P9d69d86cOd+Zg/ObJ87774dHHnnEx71Xr17BBI+3ZSLMx/Wggw7yeXL77beHM888M9BHE33e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RXdn6mOB5V7GjZl7j3lfre/cG1iSqcN1lrVX7EN9f9t5Spyc6ztCv4mACIiACIiACIiACLRJArbgbhbB2ybh6aJFQARahAB6V0mrWgS9TioCIiACIiACIiACIiACIiACIlBrAhK8tSas9kVABERABERABERABERABERABFqEgARvi2DXSUVABERABERABERABERABERABGpNQIK31oTVvgiIgAiIgAiIgAiIgAiIgAiIQIsQkOBtEew6qQiIgAiIgAiIgAiIgAiIgAiIQK0JSPDWmrDaFwEREAEREAEREAEREAEREAERaBECErwtgl0nFQEREAEREAEREAEREAEREAERqDUBCd5aE1b7IiACIiACIiACIiACIiACIiACLUJAgrdFsOukIiACIiACIiACIiACIiACIiACtSYwfq1PoPZFQAREQAREQAREQATGfgI///zz2H8RugIREIE2R0AW3jY35LpgERABERABERABERABERABEWgbBCR428Y46ypFQAREQAREQAREQAREQAREoM0RkOBtc0OuCxYBERABERABERABERABERCBtkFAgrdtjLOuUgREQAREQAREQAREQAREQATaHAEJ3jY35LpgERABERABERABERABERABEWgbBCR428Y46ypFQAREQAREQAREQAREQAREoM0RkOBtc0OuCxYBERABERABERABERABERCBtkFAz+FtG+OsqxQBERABERABERCBmhOIMYavvvoq/Pjjj6F9+/Zhkkkmqfk5x7YTwOjXX38N33zzTRh//PHDNNNM4+/F6/jrr7/Cd9995ywnm2yyMNVUU4Vxx62treq3334LX3/9dfj777/9fJNOOmmxW/43ffv+++/DL7/8EqaYYopAvXHGGadOXX7/9ttv/fqmnnrq0uvkXD/88IO/uE7aa8p10t5PP/3k5xob5t+ff/7pzGHKXJhooonqcExf/PHHH+GLL77wa6s2b1Ldf/M74/vll1+GCSecMEw//fSl8yp//bW9a/Jn0mcREAEREAEREAEREIF/JQFExoUXXhjmmGOOMPvss4eFFloozDjjjGGXXXbxhWm6aATQ1ltv7QIJkZReM800U3jwwQe9GgJg+PDh2W+pzpRTThnWWmut1JQLwVNOOaVOvVlmmSWcccYZWb38B0TagAEDAm2tscYa+Z9q/hmh+9prr4UtttgiTDfddGGeeeYJHTp0CEsssUS4+uqrA9dNQXTeeuutYcEFFwz/+c9/wgILLOBcV1999fDQQw9V9BOR9MYbb4T99tsvwHCTTTYJn3zySUWdxvzx6aefhqOOOsrHbu655w7zzjtvmG+++cK+++4b3nvvvYomnn766bDpppuGWWed1a+B+vvss08YOXJkVg/RfNppp4WFF1448DvzokuXLn5d6Tqp/Pbbb4fddtvNz8v5GLvNN988PP/881lb+Q9c78knn+z1dtppJz8+/c4cvO2228KKK67oc49zHnbYYeHDDz9MVVrVO4Ktf//+zpl5ACfGkO8+//zzir6ygcT4UCfNmw033DC8+eabFfUa+uOdd94JSy65ZJ17hnFiLMoKInu99dbzDZBzzz3X77tUj+PS/Zl/f/HFF33TJNVj7g8dOtTvXzZuzj//fN/0Sb+nd8T8scce63MLIctGSL7AZfnll/fNNO6PxOyyyy6rOF/+GD7Lwlskor9FQAREQAREQAREQARGiQBi45prrnFLy5FHHhmw5g0aNChcddVVvkC+4oorsvaoO/HEE4devXpl32HVQuykwgKZ7xB5CCEKVj9ETL5Qb/LJJw9bbrmlv/MbbS+++OL5av45iUOEQ0sUrhtRiJhHrCy77LJhxIgR4dprrw0nnXRSwLq57rrrBvrJQh8L+a677uoWz4cfftjF4jHHHBNmmGGGMP/887tV8NJLLw18h0imwIPzjGphI4Jj2QTo3LmzW0hvv/32cPHFF3t/OAf9Q5DcdNNN4bnnngs77LCDc77jjjt8rOHep0+f0K5du/DII48Exny22WYL+++/vx93/fXXBwQTlknOgfC97rrrwo033ujn5dxPPvlk4LxsnhxyyCEufPLX8vjjj4chQ4a41Zj+8kqFDRNENpZmhC6bCxdddFGYYIIJwl577eXnTXVbw/tnn33m14KA3X333cPPP//s98txxx3nfWVjCGs3nNjQgNNKK60UunbtGhChjAFzZVQLzBCN3COMGYUx4Z4tK2zGvPTSS37Ost/nmmsu7xPjngpiNVn88fjo0aOHz4m02ZHeU33eL7/88tC7d2/nkP8+/5l5ymYKc4p74K233gpnn312tmkCn3Te/HESvHka+iwCIiACIiACIiACIjDKBBCjhx56aFhhhRUyl8zu3bu7pffee+8NWBCx+FKoyyK5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5lgR+Yz1DStdmfs0FjWYE1+LNZVXmXWNMcRSzdgQ34klr1hwU2Uu8OJ8uJo35TqxIGLFxAJMv8r6X+zD2PI3LJkPeD/AcnSuDWsu4Qe8M8ZN4c08wJ0dV3TmKP1qytg1dhy4L9IY828D7u/VisV3jyPBW42OvhcBERABERABERABEcgINJfgzRrUBxEQARGoMQEEb3lkb41PrOZFQAREQAREQAREQAREQAREQAREoNYEJHhrTVjti4AIiIAIiIAIiIAIiIAIiIAItAgBCd4Wwa6TioAIiIAIiIAIiIAIiIAIiIAI1JqABG+tCat9ERABERABERABERABERABERCBFiEgwdsi2HVSERABERABERABERABERABERCBWhOQ4K01YbUvAiIgAiIgAiIgAiIgAiIgAiLQIgQkeFsEu04qAiIgAiIgAiIgAiIgAiIgAiJQawISvLUmrPZFQAREQAREQAREQAREQAREQARahIAEb4tg10lFQAREQAREQAREQAREQAREQARqTWCcWp9A7YuACIiACIiACIiACIz9BKKVsf8qdAUiIAJticA4VmThbUsjrmsVAREQAREQAREQAREQAREQgTZEQIK3DQ22LlUEREAEREAEREAEREAEREAE2hIBCd62+PQOKQAAHXRJREFUNNq6VhEQAREQAREQAREQAREQARFoQwQkeNvQYOtSRUAEREAEREAEREAEREAERKAtEZDgbUujrWsVAREQAREQAREQAREQAREQgTZEQIK3DQ22LlUEREAEREAEREAEREAEREAE2hIBCd62NNq6VhEQAREQAREQAREQAREQARFoQwTGb0PXqksVAREQAREQAREQARGoIYG///47fPXVV+GHH34IM844Y2jXrl0NzzZ2Ns3jjH/99dfw9ddfh/HGGy9MN910Yfzx6y7J//zzz/Ddd985y8knnzxMPfXUYdxxK21VtPXLL794W9CgrYknnni0waR+/fXXX36+SSedNNhjTCva45w//fRT+Oabb7zf00wzTZhoookq6qQ/qPf9998H2pliiinS1xXvzBnmC/Umm2yyMOWUU5Ze588//+znnHDCCb1vE0wwQUU7/JH69u233zqHqaaaqpRtnQNb8Ivff//dxw8OiWWReeoenJgDk0wySR1GqU5rfWdOffrpp9535nK1a2yt/Ve/REAEREAEREAEREAE/uUETExULbaYjeecc06cYYYZomHwl4m4uO2228bPPvssO84EUNxkk02yOqmuiaF47733er0//vgjDh06tE4dEzhx1VVXzdqyxX88/vjj69SzxXQ86aSTsnqvv/56nTqcd/75548mzrN6tf5ggia+/PLLccMNN6zozzzzzBMHDx4cuW6Kic544403xtlmmy2rZ8I4Lr/88vHBBx/0OvznjTfeiNtss01Wh2v6z3/+E4899thoYjqr15gPH330UTzssMMi45DGxMRX3GOPPeI777yTNfHss8+W9v+ss86KJjKzep988kk89NBDowlOb4+x23rrrb3PWSX7wDUwR/g9nXe99daLzzzzTFbtySefjJtuumk00ZzVWWyxxeJVV10VmU+pMM8OOeSQOP3002f1VlxxxXjfffdlbFPd1vBOf4888sg400wzZf21jYN4xBFHRPjly9tvvx033njjaBtIXnf11VePzz//fOS+a0rp379/nHbaaeOWW24ZmQNlhfnYtWvXaBsNccCAAZH7jnLZZZdF22DJ+p7GL72PHDkya+66667L5gK/zzfffPHpp5+OtqmT1dlpp538HOn49M6x6d7IKv/z4dprr438O8O/O7ZxUPzZ/7Z2Qt3tJL5VEQEREAEREAEREAEREIFGEsB6c+WVV7o17eijj3ZL1cUXXxwuv/zy8OOPPwZbtGYWHVuFuvVtn332yVrHQmhiLfubOny35pprhgUWWMC/x7I1xxxzZHX4QD2snz169MgsiFg4l1xyyYp6tGUiKayyyirZ9yaMmmQNzRpq5AcseCYew7Bhw0K3bt2CCdhgQsa5mUh166aJ4QBLLHlYyHv16uXXxTE33XRT6Nu3b7CNhbDgggs6VyzDu+++e1h00UWDiaRw8803hzPOOCNwLhOwjexZcCsxx6y11lph5ZVX9rZvueWWcN555wUszbaB4P3D4ozVlLFjXEaOHOnnPOGEE9xaveuuuwYTJ2HQoEF+jAmzYKI8mGgNV1xxhY8p88NEntcz0epzY+211w68nnjiicB5zz333GDCL5joD88991ywjYJAWyuttFJ45ZVXwh133BH69esXsPaaEPTr5DsTQD7OfAdb5t2ZZ57p83GJJZZoNI8xUdEEb7BNnjDvvPOGvfbaK2DBto2PAB8s9bYR4NZuPAHg+uijj4bddtstYNmmnon7cPrp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QIK3afx0tAiIgAiIgAiIgAiIgAiIgAiIQCslIMHbSgdG3RIBERABERABERABERABERABEWgaAQnepvHT0SIgAiIgAiIgAiIgAiIgAiIgAq2UgARvKx0YdUsEREAEREAEREAEREAEREAERKBpBCR4m8ZPR4uACIiACIiACIiACIiACIiACLRSAhK8rXRg1C0REAEREAEREAEREAEREAEREIGmEZDgbRo/HS0CIiACIiACIiACIiACIiACItBKCUjwttKBUbdEQAREQAREQAREQAREQAREQASaRkCCt2n8dLQIiIAIiIAIiIAIiIAIiIAIiEArJSDB20oHRt0SAREQAREQAREQAREQAREQARFoGgEJ3qbx09EiIAIiIAIiIAIiIAIiIAIiIAKtlMD4rbRf6pYIiIAIiIAIiIAIiEAbJzDeeOOFccYZxyn8+eefVWmMP/7/L2ljjOGvv/4qrTfuuOMGXtT5+++//b20or4cowQYX8aZwrjwKitpLtQ3frTFGPNeX1tl7eu72hJI48dZuEcZx2Jp7FxI93J9beXbluDN09BnERABERABERABERCBVkGABfFXX33li2MWwlNPPXUmfvMdRNh8+umn/tuEE04YpphiijqLadr64Ycfwq+//uqCaLLJJgsTTDBBvhl9bgECjCtj8tNPP7lAbdeuXeBVLIwx4/fbb78FNjcmnXTSwFjnRRNt/f77794WmyMTTzyxt4U4UmlZAozNN998E/744w/vCPdy2bgwfowz4zrRRBMF7tOywnz5+eef/SfqULe+IsFbHx39JgIiIAIiIAIiIAIi0CIEWPyecsopYcSIEb7wHTBgQJhkkknqiJyvv/467Lrrrv7bvPPOG/r37+/CKHU6iaobb7wx3HbbbWHaaacNvXv3DgsssEBVa3A6Vu+1JYBQGT58eLj88svDJ598EjbffPPQvXt3P2kSs1gGEUEDBw4MQ4YMCR07dgzbbLONj18SUByAEH799dfD4MGDw8svvxzWWWedsNlmm4VppplG41zbYWywdcbmoosuCs8//7xvcHAvzzjjjBXHcZ++//772f3btWvX0KNHj8z6nypT74EHHghXX321b5Lss88+YamllirdDEvHaMsjkdC7CIiACIiACIiACIhAqyDAohYr3T333BNuueWWcO2117r1rqxzWHvuuuuugKClfnKPzdelrWeffTbccccd4frrrw9ffvllqYUpf4w+154AVr6RI0f6mNx3330+Row9r1T4jGX34YcfDtRhjBm/4jjz9xdffOFzgXqPP/64i6t8W6lNvY9ZAozNsGHDwg033OD34Pfff1+xcUVvGCc2r7jXueefeeaZOnVSvddee83v95tvvjl8+OGHDV6MBG+DiFRBBERABERABERABERgTBPAwpcseLw3Rrik+mV9TbG91EnWw7J6+m7MEsBdGWs+JY1RWQ9SDHd945efM6l+WVv6bswTyI9Htfsv/32+frG3+XnC/GmoyKW5IUL6XQREQAREQAREQAREYIwSYOGLu+sRRxwRPvvsM4/HJCYzvyCmQ/yNi/Lxxx/vMZ3t27fPRHLqcGpriy22CLg8Tz755GGuueaqV1ylY/VeWwKI12WXXTacccYZ4bvvvgudOnWqM8YIGuI0d9ttt7DSSiuF2WabLcw555x1xpm25plnntCnT5/wwQcfhMUWW8zjuRsjiGp7lWqdsdlzzz3D+uuv7+OGO3NxA4v7tEOHDuH00093745FFlmk1AuDemuuuWaYaqqp3KV5iSWWqNNWkfj//AWKv+hvERABERABERABERABEfiHgLkO102rWkM6LIiJ2U3ll19+qSOG+K1YDxfn4mKav0lylNxgcZHNW4nSOfQ+ZgkgXhiXlECMMWFsioXxY8MjjWu18WN8UwIjhC71OIdKyxPgXk7jR6Kyso2I4vhRr6wwZ1JmdrwD6rMGW4Izmz0qIiACIiACIiACIiACItAAgTEteBvojn4WAREQgQYJIHgVw9sgJlUQAREQAREQAREQAREQAREQAREYGwlI8I6No6Y+i4AIiIAIiIAIiIAIiIAIiIAINEhAgrdBRKogAiIgAiIgAiIgAiIgAiIgAiIwNhKQ4B0bR019FgEREAEREAEREAEREAEREAERaJCABG+DiFRBBERABERABERABERABERABERgbCQgwTs2jpr6LAIiIAIiIAIiIAIiIAIiIAIi0CABCd4GEamCCIiACIiACIiACIiACIiACIjA2Ehg/LGx0+qzCIiACIiACIiACIjAmCUQYxyzJ9TZREAERKAZCPwfI1aVDWjgrEMAAAAASUVORK5CYII=", + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.display import Image\n", + "Image(filename='spectrum_peak_df_connection.png')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "AlphaRaw currently supports a list of MS data formats, including thermo raw (`alpharaw.thermo.ThermoRawData`) sciex wiff (`alpharaw.sciex.SciexWiffData`), and mzML (`alpharaw.mzml.MzMLReader`). Thermo raw data is better supported as we can extract auxiliary information for a spectrum in `alpharaw.thermo.ThermoRawData` by using thermo's RawFileReader.\n", + "\n", + "We provided a factory method called `ms_reader_provider` in `alpharaw.ms_data_base`, and `alpharaw.register_all_readers()` will register the AlphaRaw's built-in MS readers with names, as shown below:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'alpharaw': alpharaw.ms_data_base.MSData_HDF,\n", + " 'raw.hdf': alpharaw.ms_data_base.MSData_HDF,\n", + " 'alpharaw_hdf': alpharaw.ms_data_base.MSData_HDF,\n", + " 'hdf': alpharaw.ms_data_base.MSData_HDF,\n", + " 'hdf5': alpharaw.ms_data_base.MSData_HDF,\n", + " 'mzml': alpharaw.mzml.MzMLReader,\n", + " 'mgf': alpharaw.legacy_msdata.mgf.MGFReader,\n", + " 'sciex': alpharaw.sciex.SciexWiffData,\n", + " 'sciex_wiff': alpharaw.sciex.SciexWiffData,\n", + " 'sciex_raw': alpharaw.sciex.SciexWiffData,\n", + " 'thermo': alpharaw.thermo.ThermoRawData,\n", + " 'thermo_raw': alpharaw.thermo.ThermoRawData}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ms_reader_provider.ms_reader_dict" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## MS data storage\n", + "\n", + "The `spectrum_df` and `peak_df` will be saved into HDF5 (https://www.hdfgroup.org/solutions/hdf5/, https://docs.h5py.org/en/stable/) file by using readers' common API `save_hdf()`. The `spectrum_df` will be saved into `ms_data/spectrum_df`, and `peak_df` into `ms_data/peak_df`. We can use readers' `load_hdf()` method to load these two dataframes into the reader object.\n", + "\n", + "```\n", + "# Save hdf\n", + "ms_reader.save_hdf(hdf_path)\n", + "\n", + "# Load hdf\n", + "ms_reader.load_hdf(hdf_path)\n", + "```\n", + "\n", + "If developers know how to use h5py package, it is also easy to directly load each column from the HDF5 file as a numpy array, and then re-construct `spectrum_df` and `peak_df` if necessary.\n", + "\n", + "HDF5 files can be partially loaded or operated in memory-mapped mode for a RAM-limited environment, but this is not the topic of this tutorial." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "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.12.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/nbs_tests/test_thermo.ipynb b/docs/tutorials/raw_readers.ipynb similarity index 51% rename from nbs_tests/test_thermo.ipynb rename to docs/tutorials/raw_readers.ipynb index 92c7f4f..2c94f0c 100644 --- a/nbs_tests/test_thermo.ipynb +++ b/docs/tutorials/raw_readers.ipynb @@ -1,18 +1,58 @@ { "cells": [ { - "cell_type": "code", - "execution_count": 1, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Built-in Raw data readers" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "AlphaRaw supports directly access Thermo's Raw data and Sciex's Wiff data by using PythonNet. PythonNet requires mono to be installed if the os is MacOS or Linux. See installation section of alpharaw (https://github.com/mannlabs/alpharaw#Installation). " + ] + }, + { + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "%reload_ext autoreload\n", - "%autoreload 2" + "## Thermo Raw\n", + "\n", + "`alpharaw.thermo.ThermoRawData` contains all functionalities to load the Themro's Raw data. To enable fast data loading, alpharaw enables multiprocessing when `process_count` > 1. This reader can load different kinds of spectrum information into columns of `spectrum_df`. By default, the columns are:\n", + "\n", + "- `spec_idx`: the index of a spectrum in the raw file, it starts from zero. Its value is the `scan number - 1`.\n", + "- `peak_start_idx`: the start row index of peaks in `peak_df` (see `mzml_reader.peak_df` below) for the spectrum.\n", + "- `peak_stop_idx`: the stop row index of peaks in `peak_df` (see `mzml_reader.peak_df` below) for the spectrum.\n", + "- `rt`: retention time in minutes. We will use `rt_sec` for retention time in seconds in alphaX ecosystem.\n", + "- `precursor_mz`: the precursor m/z of the given MS2 scans. For an MS1 scan, the value is always -1. For DIA MS2, the default value will be the isolation center of the MS2. And for DDA MS2, `precursor_mz` may refer to the mono-isotope m/z of the precursor when `precursor_charge` is not 0, otherwise isolation center.\n", + "- `precursor_charge`: For DIA, this value is always 0. For DDA, it can be nonzero when the mono-isotope m/z is determined.\n", + "- `isolation_lower_mz`: the lower (or left) m/z boundary of the isolation window.\n", + "- `isolation_upper_mz`: the upper (or right) m/z boundary of the isolation window.\n", + "- `ms_level`: MS1, MS2, ... it starts from one.\n", + "- `nce`: normalized collision energy designed by Thermo.\n", + "\n", + "There are also some optional spectrum columns (auxiliary_item) that can be loaded into the `spectrum_df`:\n", + "\n", + "- `injection_time`: `Ion Injection Time (ms)` in the scan header.\n", + "- `cv`: source fragmentation CV???\n", + "- `max_ion_time`: `Max. Ion Time (ms)` in the scan header.\n", + "- `agc_target`: `AGC target` in the scan header.\n", + "- `energy_ev`: `HCD Energy V` in the scan header. This is the real EV of the collision energy.\n", + "- `injection_optics_settling_time`: `Injection Optics Settling Time (ms)` in the scan header.\n", + "- `funnel_rf_level`: `Funnel RF Level` in the scan header.\n", + "- `faims_cv`: `FAIMS CV` in the scan header.\n", + "- `activation`: activation type, for example, HCD, CID, ETD, ...\n", + "- `analyzer`: analyzer type, for example FTMS, Astral, ITMS, ...\n", + "- `activation_id`: Thermo's built-in IDs of `activation` types.\n", + "- `analyzer_id`: Thermo's built-in IDs of `analyzer` types.\n", + "- `multinotch`: list multiple isolation windows in a single MS2 scan." ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -47,7 +87,6 @@ " ms_level\n", " nce\n", " ...\n", - " max_ion_time\n", " agc_target\n", " energy_ev\n", " injection_optics_settling_time\n", @@ -57,6 +96,7 @@ " analyzer\n", " activation_id\n", " analyzer_id\n", + " multinotch\n", " \n", " \n", " \n", @@ -73,7 +113,6 @@ " 1\n", " 0.0\n", " ...\n", - " 25.0\n", " 3000000\n", " 0.000000\n", " 0.0\n", @@ -83,6 +122,7 @@ " FTMS\n", " 255\n", " 4\n", + " [[300.0, 1650.0]]\n", " \n", " \n", " 1\n", @@ -97,7 +137,6 @@ " 1\n", " 0.0\n", " ...\n", - " 25.0\n", " 3000000\n", " 0.000000\n", " 0.0\n", @@ -107,6 +146,7 @@ " FTMS\n", " 255\n", " 4\n", + " [[300.0, 1650.0]]\n", " \n", " \n", " 2\n", @@ -121,7 +161,6 @@ " 1\n", " 0.0\n", " ...\n", - " 25.0\n", " 3000000\n", " 0.000000\n", " 0.0\n", @@ -131,6 +170,7 @@ " FTMS\n", " 255\n", " 4\n", + " [[300.0, 1650.0]]\n", " \n", " \n", " 3\n", @@ -145,7 +185,6 @@ " 1\n", " 0.0\n", " ...\n", - " 25.0\n", " 3000000\n", " 0.000000\n", " 0.0\n", @@ -155,6 +194,7 @@ " FTMS\n", " 255\n", " 4\n", + " [[300.0, 1650.0]]\n", " \n", " \n", " 4\n", @@ -169,7 +209,6 @@ " 1\n", " 0.0\n", " ...\n", - " 25.0\n", " 3000000\n", " 0.000000\n", " 0.0\n", @@ -179,6 +218,7 @@ " FTMS\n", " 255\n", " 4\n", + " [[300.0, 1650.0]]\n", " \n", " \n", " ...\n", @@ -217,7 +257,6 @@ " 1\n", " 0.0\n", " ...\n", - " 25.0\n", " 3000000\n", " 0.000000\n", " 0.0\n", @@ -227,6 +266,7 @@ " FTMS\n", " 255\n", " 4\n", + " [[300.0, 1650.0]]\n", " \n", " \n", " 3933\n", @@ -241,7 +281,6 @@ " 2\n", " 30.0\n", " ...\n", - " 28.0\n", " 100000\n", " 16.500000\n", " 0.0\n", @@ -251,6 +290,7 @@ " FTMS\n", " 5\n", " 4\n", + " [[361.83713990449905, 363.2371398806572]]\n", " \n", " \n", " 3934\n", @@ -265,7 +305,6 @@ " 1\n", " 0.0\n", " ...\n", - " 25.0\n", " 3000000\n", " 0.000000\n", " 0.0\n", @@ -275,6 +314,7 @@ " FTMS\n", " 255\n", " 4\n", + " [[300.0, 1650.0]]\n", " \n", " \n", " 3935\n", @@ -289,7 +329,6 @@ " 2\n", " 30.0\n", " ...\n", - " 28.0\n", " 100000\n", " 18.690001\n", " 0.0\n", @@ -299,6 +338,7 @@ " FTMS\n", " 5\n", " 4\n", + " [[424.62656861543655, 426.0265685915947]]\n", " \n", " \n", " 3936\n", @@ -313,7 +353,6 @@ " 1\n", " 0.0\n", " ...\n", - " 25.0\n", " 3000000\n", " 0.000000\n", " 0.0\n", @@ -323,10 +362,11 @@ " FTMS\n", " 255\n", " 4\n", + " [[300.0, 1650.0]]\n", " \n", " \n", "\n", - "

3937 rows × 22 columns

\n", + "

3937 rows × 23 columns

\n", "" ], "text/plain": [ @@ -356,49 +396,49 @@ "3935 0 424.626569 426.026569 2 \n", "3936 0 -1.000000 -1.000000 1 \n", "\n", - " nce ... max_ion_time agc_target energy_ev \\\n", - "0 0.0 ... 25.0 3000000 0.000000 \n", - "1 0.0 ... 25.0 3000000 0.000000 \n", - "2 0.0 ... 25.0 3000000 0.000000 \n", - "3 0.0 ... 25.0 3000000 0.000000 \n", - "4 0.0 ... 25.0 3000000 0.000000 \n", - "... ... ... ... ... ... \n", - "3932 0.0 ... 25.0 3000000 0.000000 \n", - "3933 30.0 ... 28.0 100000 16.500000 \n", - "3934 0.0 ... 25.0 3000000 0.000000 \n", - "3935 30.0 ... 28.0 100000 18.690001 \n", - "3936 0.0 ... 25.0 3000000 0.000000 \n", + " nce ... agc_target energy_ev injection_optics_settling_time \\\n", + "0 0.0 ... 3000000 0.000000 0.0 \n", + "1 0.0 ... 3000000 0.000000 0.0 \n", + "2 0.0 ... 3000000 0.000000 0.0 \n", + "3 0.0 ... 3000000 0.000000 0.0 \n", + "4 0.0 ... 3000000 0.000000 0.0 \n", + "... ... ... ... ... ... \n", + "3932 0.0 ... 3000000 0.000000 0.0 \n", + "3933 30.0 ... 100000 16.500000 0.0 \n", + "3934 0.0 ... 3000000 0.000000 0.0 \n", + "3935 30.0 ... 100000 18.690001 0.0 \n", + "3936 0.0 ... 3000000 0.000000 0.0 \n", "\n", - " injection_optics_settling_time funnel_rf_level faims_cv activation \\\n", - "0 0.0 40.0 0.0 MS1 \n", - "1 0.0 40.0 0.0 MS1 \n", - "2 0.0 40.0 0.0 MS1 \n", - "3 0.0 40.0 0.0 MS1 \n", - "4 0.0 40.0 0.0 MS1 \n", - "... ... ... ... ... \n", - "3932 0.0 40.0 0.0 MS1 \n", - "3933 0.0 40.0 0.0 HCD \n", - "3934 0.0 40.0 0.0 MS1 \n", - "3935 0.0 40.0 0.0 HCD \n", - "3936 0.0 40.0 0.0 MS1 \n", + " funnel_rf_level faims_cv activation analyzer activation_id \\\n", + "0 40.0 0.0 MS1 FTMS 255 \n", + "1 40.0 0.0 MS1 FTMS 255 \n", + "2 40.0 0.0 MS1 FTMS 255 \n", + "3 40.0 0.0 MS1 FTMS 255 \n", + "4 40.0 0.0 MS1 FTMS 255 \n", + "... ... ... ... ... ... \n", + "3932 40.0 0.0 MS1 FTMS 255 \n", + "3933 40.0 0.0 HCD FTMS 5 \n", + "3934 40.0 0.0 MS1 FTMS 255 \n", + "3935 40.0 0.0 HCD FTMS 5 \n", + "3936 40.0 0.0 MS1 FTMS 255 \n", "\n", - " analyzer activation_id analyzer_id \n", - "0 FTMS 255 4 \n", - "1 FTMS 255 4 \n", - "2 FTMS 255 4 \n", - "3 FTMS 255 4 \n", - "4 FTMS 255 4 \n", - "... ... ... ... \n", - "3932 FTMS 255 4 \n", - "3933 FTMS 5 4 \n", - "3934 FTMS 255 4 \n", - "3935 FTMS 5 4 \n", - "3936 FTMS 255 4 \n", + " analyzer_id multinotch \n", + "0 4 [[300.0, 1650.0]] \n", + "1 4 [[300.0, 1650.0]] \n", + "2 4 [[300.0, 1650.0]] \n", + "3 4 [[300.0, 1650.0]] \n", + "4 4 [[300.0, 1650.0]] \n", + "... ... ... \n", + "3932 4 [[300.0, 1650.0]] \n", + "3933 4 [[361.83713990449905, 363.2371398806572]] \n", + "3934 4 [[300.0, 1650.0]] \n", + "3935 4 [[424.62656861543655, 426.0265685915947]] \n", + "3936 4 [[300.0, 1650.0]] \n", "\n", - "[3937 rows x 22 columns]" + "[3937 rows x 23 columns]" ] }, - "execution_count": 2, + "execution_count": 1, "metadata": {}, "output_type": "execute_result" } @@ -415,17 +455,25 @@ " \"funnel_rf_level\", \"faims_cv\",\n", " \"activation\", \"analyzer\",\n", " \"activation_id\", \"analyzer_id\",\n", - " # \"multinotch\",\n", + " \"multinotch\",\n", " ]\n", ")\n", - "raw_data.import_raw(\"./test_data/iRT.raw\")\n", - "# raw_data.import_raw(\"/Users/wenfengzeng/data/multinorch/20240203_Ecl1_Evo08_11p5min_TiHe_SA_H032_E14_B5.raw\")\n", + "raw_data.import_raw(\"../../nbs_tests/test_data/iRT.raw\")\n", "raw_data.spectrum_df" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Sciex Wiff\n", + "\n", + "AlphaRaw can access basic scan (spectrum) information of Sciex Wiff data. And the peaks are usually not centroided." + ] + }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -449,130 +497,238 @@ " \n", " \n", " \n", - " mz\n", - " intensity\n", + " spec_idx\n", + " peak_start_idx\n", + " peak_stop_idx\n", + " rt\n", + " ms_level\n", + " precursor_mz\n", + " precursor_charge\n", + " isolation_lower_mz\n", + " isolation_upper_mz\n", + " nce\n", " \n", " \n", " \n", " \n", " 0\n", - " 301.060333\n", - " 36817.058594\n", + " 0\n", + " 0\n", + " 100\n", + " 0.000417\n", + " 1\n", + " -1.00\n", + " 0\n", + " -1.0\n", + " -1.0\n", + " 0.0\n", " \n", " \n", " 1\n", - " 301.142944\n", - " 12673.902344\n", + " 1\n", + " 100\n", + " 447\n", + " 0.001133\n", + " 2\n", + " 403.55\n", + " 0\n", + " 399.5\n", + " 407.6\n", + " 19.0\n", " \n", " \n", " 2\n", - " 301.217346\n", - " 53082.824219\n", + " 2\n", + " 447\n", + " 924\n", + " 0.001383\n", + " 2\n", + " 411.25\n", + " 0\n", + " 406.6\n", + " 415.9\n", + " 20.0\n", " \n", " \n", " 3\n", - " 301.238922\n", - " 16699.697266\n", + " 3\n", + " 924\n", + " 1286\n", + " 0.001650\n", + " 2\n", + " 419.25\n", + " 0\n", + " 414.9\n", + " 423.6\n", + " 20.0\n", " \n", " \n", " 4\n", - " 301.976807\n", - " 27308.283203\n", + " 4\n", + " 1286\n", + " 1943\n", + " 0.001900\n", + " 2\n", + " 426.95\n", + " 0\n", + " 422.6\n", + " 431.3\n", + " 20.0\n", " \n", " \n", " ...\n", " ...\n", " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", " \n", " \n", - " 1103984\n", - " 1207.956909\n", - " 67160.632812\n", + " 42232\n", + " 42232\n", + " 73839218\n", + " 73841218\n", + " 11.627550\n", + " 2\n", + " 715.15\n", + " 0\n", + " 711.1\n", + " 719.2\n", + " 34.0\n", " \n", " \n", - " 1103985\n", - " 1210.963867\n", - " 29747.617188\n", + " 42233\n", + " 42233\n", + " 73841218\n", + " 73843218\n", + " 11.627817\n", + " 2\n", + " 722.30\n", + " 0\n", + " 718.2\n", + " 726.4\n", + " 35.0\n", " \n", " \n", - " 1103986\n", - " 1215.940796\n", - " 26113.435547\n", + " 42234\n", + " 42234\n", + " 73843218\n", + " 73845218\n", + " 11.628067\n", + " 2\n", + " 729.70\n", + " 0\n", + " 725.4\n", + " 734.0\n", + " 35.0\n", " \n", " \n", - " 1103987\n", - " 1240.572632\n", - " 26533.298828\n", + " 42235\n", + " 42235\n", + " 73845218\n", + " 73847218\n", + " 11.628317\n", + " 2\n", + " 737.35\n", + " 0\n", + " 733.0\n", + " 741.7\n", + " 35.0\n", " \n", " \n", - " 1103988\n", - " 1372.140991\n", - " 20527.900391\n", + " 42236\n", + " 42236\n", + " 73847218\n", + " 73849218\n", + " 11.628583\n", + " 2\n", + " 745.05\n", + " 0\n", + " 740.7\n", + " 749.4\n", + " 36.0\n", " \n", " \n", "\n", - "

1103989 rows × 2 columns

\n", + "

42237 rows × 10 columns

\n", "" ], "text/plain": [ - " mz intensity\n", - "0 301.060333 36817.058594\n", - "1 301.142944 12673.902344\n", - "2 301.217346 53082.824219\n", - "3 301.238922 16699.697266\n", - "4 301.976807 27308.283203\n", - "... ... ...\n", - "1103984 1207.956909 67160.632812\n", - "1103985 1210.963867 29747.617188\n", - "1103986 1215.940796 26113.435547\n", - "1103987 1240.572632 26533.298828\n", - "1103988 1372.140991 20527.900391\n", + " spec_idx peak_start_idx peak_stop_idx rt ms_level \\\n", + "0 0 0 100 0.000417 1 \n", + "1 1 100 447 0.001133 2 \n", + "2 2 447 924 0.001383 2 \n", + "3 3 924 1286 0.001650 2 \n", + "4 4 1286 1943 0.001900 2 \n", + "... ... ... ... ... ... \n", + "42232 42232 73839218 73841218 11.627550 2 \n", + "42233 42233 73841218 73843218 11.627817 2 \n", + "42234 42234 73843218 73845218 11.628067 2 \n", + "42235 42235 73845218 73847218 11.628317 2 \n", + "42236 42236 73847218 73849218 11.628583 2 \n", + "\n", + " precursor_mz precursor_charge isolation_lower_mz isolation_upper_mz \\\n", + "0 -1.00 0 -1.0 -1.0 \n", + "1 403.55 0 399.5 407.6 \n", + "2 411.25 0 406.6 415.9 \n", + "3 419.25 0 414.9 423.6 \n", + "4 426.95 0 422.6 431.3 \n", + "... ... ... ... ... \n", + "42232 715.15 0 711.1 719.2 \n", + "42233 722.30 0 718.2 726.4 \n", + "42234 729.70 0 725.4 734.0 \n", + "42235 737.35 0 733.0 741.7 \n", + "42236 745.05 0 740.7 749.4 \n", + "\n", + " nce \n", + "0 0.0 \n", + "1 19.0 \n", + "2 20.0 \n", + "3 20.0 \n", + "4 20.0 \n", + "... ... \n", + "42232 34.0 \n", + "42233 35.0 \n", + "42234 35.0 \n", + "42235 35.0 \n", + "42236 36.0 \n", "\n", - "[1103989 rows x 2 columns]" + "[42237 rows x 10 columns]" ] }, - "execution_count": 3, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "raw_data.peak_df" + "from alpharaw.sciex import SciexWiffData\n", + "\n", + "wiff_data = SciexWiffData()\n", + "wiff_data.import_raw(\n", + " \"../../nbs_tests/test_data/02112022_Zeno1_TiHe_DIAMA_HeLa_200ng_EVO5_01.wiff\"\n", + ")\n", + "wiff_data.spectrum_df" ] }, { - "cell_type": "code", - "execution_count": 4, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "mz float32\n", - "intensity float32\n", - "dtype: object" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "raw_data.peak_df.dtypes" + "## mzML\n", + "\n", + "As shown in base_settings, alpharaw also supports mzML. But only the basic spectrum information is extracted." ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3.8.3 ('base')", + "display_name": "base", "language": "python", "name": "python3" }, @@ -586,13 +742,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.12" - }, - "orig_nbformat": 4, - "vscode": { - "interpreter": { - "hash": "8a3b27e141e49c996c9b863f8707e97aabd49c4a7e8445b9b783b34e4a21a9b2" - } + "version": "3.12.4" } }, "nbformat": 4, diff --git a/docs/tutorials/spectrum_peak_df_connection.png b/docs/tutorials/spectrum_peak_df_connection.png new file mode 100644 index 0000000..a836072 Binary files /dev/null and b/docs/tutorials/spectrum_peak_df_connection.png differ diff --git a/nbs_tests/test_mzml.ipynb b/nbs_tests/test_mzml.ipynb deleted file mode 100644 index fa4f1e5..0000000 --- a/nbs_tests/test_mzml.ipynb +++ /dev/null @@ -1,881 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from io import StringIO\n", - "\n", - "mzml = \"./test_data/small.pwiz.1.1.mzML\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
spec_idxpeak_start_idxpeak_stop_idxrtms_levelprecursor_mzchargeisolation_lower_mzisolation_upper_mz
000107390.0049351-1.000-1.00-1.00
1110739255540.0078971-1.000-1.00-1.00
2225554260390.0112182810.790810.29811.29
3326039270450.0228382837.340836.84837.84
4427045278820.0349252725.360724.86725.86
5527882285320.0486202558.870558.37559.37
6628532292940.0619232812.330811.83812.83
7729294373740.0750151-1.000-1.00-1.00
8837374542850.0777881-1.000-1.00-1.00
9954285548370.0812032810.750810.25811.25
101054837557780.0929032837.960837.46838.46
111155778564130.1048032644.060643.56644.56
121256413572050.1172152725.230724.73725.73
131357205578740.1300222559.190558.69559.69
141457874669940.1434521-1.000-1.00-1.00
151566994819220.1464081-1.000-1.00-1.00
161681922825010.1497552811.410810.91811.91
171782501834170.1614422837.360836.86837.86
181883417840870.1733702643.800643.30644.30
191984087847610.1866582558.940558.44559.44
202084761856520.2006952725.140724.64725.64
212185652946650.2136731-1.000-1.00-1.00
2222946651052420.2167471-1.000-1.00-1.00
23231052421058210.2200732810.840810.34811.34
24241058211067590.2329232837.420836.92837.92
25251067591075480.2447452674.640674.14675.14
26261075481082350.2591722643.740643.24644.24
27271082351091000.2726632725.360724.86725.86
28281091001197640.2854831-1.000-1.00-1.00
29291197641336630.2888981-1.000-1.00-1.00
30301336631346010.3037032837.390836.89837.89
31311346011352540.3156502643.800643.30644.30
32321352541359560.3285272558.750558.25559.25
33331359561365430.3429152882.450881.95882.95
34341365431453120.3585581-1.000-1.00-1.00
35351453121566120.3614281-1.000-1.00-1.00
36361566121571840.3647552810.730810.23811.23
37371571841582480.3765782837.350836.85837.85
38381582481589010.3886732643.730643.23644.23
39391589011597760.4019622725.680725.18726.18
40401597761605300.4151322674.700674.20675.20
41411605301782640.4284831-1.000-1.00-1.00
42421782641936140.4332221-1.000-1.00-1.00
43431936141942250.4365672810.820810.32811.32
44441942251952350.4483202837.780837.28838.28
45451952351959480.4605652674.840674.34675.34
46461959481966070.4731032558.900558.40559.40
47471966071972430.4872372882.540882.04883.04
\n", - "
" - ], - "text/plain": [ - " spec_idx peak_start_idx peak_stop_idx rt ms_level precursor_mz \\\n", - "0 0 0 10739 0.004935 1 -1.00 \n", - "1 1 10739 25554 0.007897 1 -1.00 \n", - "2 2 25554 26039 0.011218 2 810.79 \n", - "3 3 26039 27045 0.022838 2 837.34 \n", - "4 4 27045 27882 0.034925 2 725.36 \n", - "5 5 27882 28532 0.048620 2 558.87 \n", - "6 6 28532 29294 0.061923 2 812.33 \n", - "7 7 29294 37374 0.075015 1 -1.00 \n", - "8 8 37374 54285 0.077788 1 -1.00 \n", - "9 9 54285 54837 0.081203 2 810.75 \n", - "10 10 54837 55778 0.092903 2 837.96 \n", - "11 11 55778 56413 0.104803 2 644.06 \n", - "12 12 56413 57205 0.117215 2 725.23 \n", - "13 13 57205 57874 0.130022 2 559.19 \n", - "14 14 57874 66994 0.143452 1 -1.00 \n", - "15 15 66994 81922 0.146408 1 -1.00 \n", - "16 16 81922 82501 0.149755 2 811.41 \n", - "17 17 82501 83417 0.161442 2 837.36 \n", - "18 18 83417 84087 0.173370 2 643.80 \n", - "19 19 84087 84761 0.186658 2 558.94 \n", - "20 20 84761 85652 0.200695 2 725.14 \n", - "21 21 85652 94665 0.213673 1 -1.00 \n", - "22 22 94665 105242 0.216747 1 -1.00 \n", - "23 23 105242 105821 0.220073 2 810.84 \n", - "24 24 105821 106759 0.232923 2 837.42 \n", - "25 25 106759 107548 0.244745 2 674.64 \n", - "26 26 107548 108235 0.259172 2 643.74 \n", - "27 27 108235 109100 0.272663 2 725.36 \n", - "28 28 109100 119764 0.285483 1 -1.00 \n", - "29 29 119764 133663 0.288898 1 -1.00 \n", - "30 30 133663 134601 0.303703 2 837.39 \n", - "31 31 134601 135254 0.315650 2 643.80 \n", - "32 32 135254 135956 0.328527 2 558.75 \n", - "33 33 135956 136543 0.342915 2 882.45 \n", - "34 34 136543 145312 0.358558 1 -1.00 \n", - "35 35 145312 156612 0.361428 1 -1.00 \n", - "36 36 156612 157184 0.364755 2 810.73 \n", - "37 37 157184 158248 0.376578 2 837.35 \n", - "38 38 158248 158901 0.388673 2 643.73 \n", - "39 39 158901 159776 0.401962 2 725.68 \n", - "40 40 159776 160530 0.415132 2 674.70 \n", - "41 41 160530 178264 0.428483 1 -1.00 \n", - "42 42 178264 193614 0.433222 1 -1.00 \n", - "43 43 193614 194225 0.436567 2 810.82 \n", - "44 44 194225 195235 0.448320 2 837.78 \n", - "45 45 195235 195948 0.460565 2 674.84 \n", - "46 46 195948 196607 0.473103 2 558.90 \n", - "47 47 196607 197243 0.487237 2 882.54 \n", - "\n", - " charge isolation_lower_mz isolation_upper_mz \n", - "0 0 -1.00 -1.00 \n", - "1 0 -1.00 -1.00 \n", - "2 0 810.29 811.29 \n", - "3 0 836.84 837.84 \n", - "4 0 724.86 725.86 \n", - "5 0 558.37 559.37 \n", - "6 0 811.83 812.83 \n", - "7 0 -1.00 -1.00 \n", - "8 0 -1.00 -1.00 \n", - "9 0 810.25 811.25 \n", - "10 0 837.46 838.46 \n", - "11 0 643.56 644.56 \n", - "12 0 724.73 725.73 \n", - "13 0 558.69 559.69 \n", - "14 0 -1.00 -1.00 \n", - "15 0 -1.00 -1.00 \n", - "16 0 810.91 811.91 \n", - "17 0 836.86 837.86 \n", - "18 0 643.30 644.30 \n", - "19 0 558.44 559.44 \n", - "20 0 724.64 725.64 \n", - "21 0 -1.00 -1.00 \n", - "22 0 -1.00 -1.00 \n", - "23 0 810.34 811.34 \n", - "24 0 836.92 837.92 \n", - "25 0 674.14 675.14 \n", - "26 0 643.24 644.24 \n", - "27 0 724.86 725.86 \n", - "28 0 -1.00 -1.00 \n", - "29 0 -1.00 -1.00 \n", - "30 0 836.89 837.89 \n", - "31 0 643.30 644.30 \n", - "32 0 558.25 559.25 \n", - "33 0 881.95 882.95 \n", - "34 0 -1.00 -1.00 \n", - "35 0 -1.00 -1.00 \n", - "36 0 810.23 811.23 \n", - "37 0 836.85 837.85 \n", - "38 0 643.23 644.23 \n", - "39 0 725.18 726.18 \n", - "40 0 674.20 675.20 \n", - "41 0 -1.00 -1.00 \n", - "42 0 -1.00 -1.00 \n", - "43 0 810.32 811.32 \n", - "44 0 837.28 838.28 \n", - "45 0 674.34 675.34 \n", - "46 0 558.40 559.40 \n", - "47 0 882.04 883.04 " - ] - }, - "execution_count": null, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from alpharaw.mzml import MzMLReader\n", - "\n", - "reader = MzMLReader()\n", - "reader.import_raw(mzml)\n", - "reader.spectrum_df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mzintensity
0204.7595831422.173584
1204.7598423215.493164
2204.7601013887.355957
3204.7603452843.165527
4204.760605582.906738
.........
1972381547.7767331.261027
1972391723.5192871.640921
1972401724.3239751.251971
1972411724.9913335.156138
1972421743.3612063.192361
\n", - "

197243 rows × 2 columns

\n", - "
" - ], - "text/plain": [ - " mz intensity\n", - "0 204.759583 1422.173584\n", - "1 204.759842 3215.493164\n", - "2 204.760101 3887.355957\n", - "3 204.760345 2843.165527\n", - "4 204.760605 582.906738\n", - "... ... ...\n", - "197238 1547.776733 1.261027\n", - "197239 1723.519287 1.640921\n", - "197240 1724.323975 1.251971\n", - "197241 1724.991333 5.156138\n", - "197242 1743.361206 3.192361\n", - "\n", - "[197243 rows x 2 columns]" - ] - }, - "execution_count": null, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "reader.peak_df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "base", - "language": "python", - "name": "python3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/nbs_tests/test_sciex.ipynb b/nbs_tests/test_sciex.ipynb deleted file mode 100644 index 60bb0d7..0000000 --- a/nbs_tests/test_sciex.ipynb +++ /dev/null @@ -1,81 +0,0 @@ -{ - "cells": [ - { - "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.sciex import SciexWiffData\n", - "\n", - "raw_data = SciexWiffData()\n", - "raw_data.import_raw(\n", - " \"./test_data/02112022_Zeno1_TiHe_DIAMA_HeLa_200ng_EVO5_01.wiff\"\n", - ")\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": [ - "raw_data.peak_df.dtypes" - ] - }, - { - "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 -} diff --git a/tests/download_test_data.py b/tests/download_test_data.py index 1a43685..ef5d2db 100644 --- a/tests/download_test_data.py +++ b/tests/download_test_data.py @@ -1,3 +1,5 @@ +import os + import requests @@ -13,10 +15,11 @@ def download_file(url, local_filename): f.write(chunk) +raw_dir = "../nbs_tests/test_data" url_template = ( "https://datashare.biochem.mpg.de/s/0lJqqAQQcTd9QNB/download?path=%2F&files={}" ) -output_template = "../nbs_tests/test_data/{}" +raw_dir = "../nbs_tests/test_data" test_files = [ "02112022_Zeno1_TiHe_DIAMA_HeLa_200ng_EVO5_01.wiff", "02112022_Zeno1_TiHe_DIAMA_HeLa_200ng_EVO5_01.wiff2", @@ -25,6 +28,8 @@ def download_file(url, local_filename): "iRT_DIA.raw", "multinotch.raw", ] -for test_file in test_files: - print(f"Downding {test_file}...") - download_file(url_template.format(test_file), output_template.format(test_file)) + +if __name__ == "__main__": + for test_file in test_files: + print(f"Downding {test_file}...") + download_file(url_template.format(test_file), os.path.join(raw_dir, test_file)) diff --git a/tests/run_tests.sh b/tests/run_tests.sh index 1be160b..c383dfc 100644 --- a/tests/run_tests.sh +++ b/tests/run_tests.sh @@ -1,4 +1,6 @@ +TEST_NBS=$(find ../nbs_tests -name "*.ipynb") +TUTORIAL_NBS=$(find ../docs/tutorials -name "*.ipynb") +ALL_NBS=$(echo $TEST_NBS$'\n'$TUTORIAL_NBS) -INCLUDED_NBS=$(find ../nbs_tests -name "*.ipynb") -python -m pytest --nbmake $(echo $INCLUDED_NBS) +python -m pytest --nbmake $(echo $ALL_NBS)