{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "polish-inquiry",
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import matplotlib\n",
"import matplotlib.pyplot as plt\n",
"from masskit.utils.tablemap import ArrowLibraryMap\n",
"from masskit.test_fixtures.demo_fixtures import cho_uniq_short_parquet"
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "dutch-vehicle",
"metadata": {},
"source": [
"# Use of the spectrum object\n",
"Masskit is a software library for doing computations associated with mass spectrometry and a good place to start our description of Masskit is to examine the usage of the [`Spectrum`](../masskit.spectrum.html#masskit.spectrum.spectrum.Spectrum) class that creates a spectrum object. Let's begin by loading two spectra objects from a table in a file and then taking a look at a thumbnail of one of the spectra:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "economic-attitude",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:root:created chunk 1 with 100 records\n",
"INFO:root:processing batch 0 with size 100\n",
"INFO:root:created chunk 1 with 0 records\n"
]
},
{
"data": {
"image/png": "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",
"image/svg+xml": [
"\n",
"\n",
"\n"
],
"text/plain": [
""
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"table = ArrowLibraryMap.from_parquet(cho_uniq_short_parquet())\n",
"spectrum1 = table[0]['spectrum']\n",
"spectrum2 = table[1]['spectrum']\n",
"spectrum1"
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "6a538c84",
"metadata": {},
"source": [
"The spectrum object contains the precursor and product ions for a spectrum, a dictionary of properties, and a variety of functions to operate on the ions.\n",
"## Accessing the spectrum ions "
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "d700c22b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The precursor m/z of spectrum 1 is 855.4538\n",
"The first five product ion m/z's of spectrum 1 are [143.0823 153.2575 159.0917 162.5977 169.0972]\n",
"The first five product ion intensities's of spectrum 1 are [143.0823 153.2575 159.0917 162.5977 169.0972]\n"
]
}
],
"source": [
"print('The precursor m/z of spectrum 1 is', spectrum1.precursor.mz)\n",
"print(\"The first five product ion m/z's of spectrum 1 are\", spectrum1.products.mz[0:5])\n",
"print(\"The first five product ion intensities's of spectrum 1 are\", spectrum1.products.mz[0:5])"
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "f8b6eed4",
"metadata": {},
"source": [
"You'll note that the product ion mz's and intensities are stored in arrays, where each peak in the spectrum corresponds to a position in spectrum1.products.mz with a corresponding intensity in the same position in `spectrum1.products.mz`. The precursor m/z is stored in `spectrum1.precursor.mz`. We use arrays of numbers as modern processors work quickly on arrays of the same type. Behind the scenes, we use numpy or arrow arrays to speed computations."
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "exclusive-bosnia",
"metadata": {},
"source": [
"## Spectrum properties\n",
"Each spectrum has properties associated with it, such as a name or collision energy. These are accessed as attributes of the spectrum object:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "intelligent-europe",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The name of the spectrum is AAAACALTPGPLADLAAR/2_1(4,C,CAM) and the collision energy is 46.0\n"
]
}
],
"source": [
"print(\"The name of the spectrum is\", spectrum1.name, \"and the collision energy is\", spectrum1.ev)"
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "d52ebd46",
"metadata": {},
"source": [
"## Spectrum mass tolerance information\n",
"The spectrum object supports mass tolerances measured in both ppm's and Daltons. Mass tolerance information is kept in objects of class [`MassInfo`](../masskit.spectrum.html#masskit.spectrum.spectrum.MassInfo), and is applied to ions by using the `tolerance` array of `Spectrum` that show the mz tolerance for each ion. Optionally, the `tolerance` array values can be set individually for each ion to allow for nonstandard mass tolerances. The arrya is also used to perform quick interval arithmetic when matching spectra."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "acf0eb6b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"20.0 ppm\n",
"minimum mz values [143.07943835 153.25443485 159.08851817 162.59444805 169.09381806]\n",
"maximum mz values [143.08516165 153.26056515 159.09488183 162.60095195 169.10058194]\n"
]
}
],
"source": [
"print(spectrum1.products.mass_info.tolerance, spectrum1.products.mass_info.tolerance_type)\n",
"print(\"minimum mz values\", spectrum1.products.tolerance[0:5])"
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "brave-height",
"metadata": {},
"source": [
"## Operations on spectra\n",
"There are a variety of operations that can be applied to spectra, including normalization, noise filtering, merging, masking, shifting, plotting, and comparison. These operations can be conveniently chained, and by default, create new spectrum objects. A list of methods can be found in [`Spectrum`](../masskit.spectrum.html#masskit.spectrum.spectrum.Spectrum). For example, to normalize the intensity to 1.0 and noise filter a spectrum, one could do:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "d7dd0b4c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(,\n",
" )"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAGwCAYAAAC5ACFFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA3aUlEQVR4nO3de1yUZd7H8e+IMCjKeCBOiaCbeUITMRVazcrQ0uy0Hsqm2lVb91lTstqidltzn2Lr2dLKtLXHzeygrotutpmJrseXqKmgaWW2S4HEiLo6I5SAcD9/8Dg5AjeI4DDweb9e9+vFXHPdF7/rCplv18x9YzEMwxAAAACq1MLbBQAAADRmhCUAAAAThCUAAAAThCUAAAAThCUAAAAThCUAAAAThCUAAAATLb1dQFNQXl6u7777Tm3btpXFYvF2OQAAoBYMw9Dp06cVGRmpFi2q3z8iLNWD7777TlFRUd4uAwAA1EFubq46depU7fOEpXrQtm1bSRWLHRwc7OVqAABAbbhcLkVFRblfx6tDWKoH5956Cw4OJiwBAOBjavoIDR/wBgAAMEFYAgAAMEFYAgAAMEFYAgAAMEFYAgAAMEFYAgAAMEFYAgAAMEFYAgAAMEFYAgAAMEFYAgAAMOFTYWnLli267bbbFBkZKYvFor///e81nrN582bFx8crMDBQXbt21RtvvFGpT1pamnr16iWr1apevXpp1apVDVA9AADwRT4VloqKinTNNddo3rx5teqfnZ2tW2+9VUOGDFFmZqaeeuopTZ8+XWlpae4+GRkZGj9+vOx2u/bt2ye73a5x48Zp586dDTUNAADgQyyGYRjeLqIuLBaLVq1apTvuuKPaPk888YRWr16tL774wt02depU7du3TxkZGZKk8ePHy+Vy6eOPP3b3GTlypNq3b6+lS5fWqhaXyyWbzSan08kf0gUAwEfU9vXbp3aWLlZGRoaSkpI82kaMGKHdu3ertLTUtM/27durHbe4uFgul8vjAAAATVOTDksOh0NhYWEebWFhYTp79qyOHz9u2sfhcFQ7bmpqqmw2m/uIioqq/+IBwAcVFUkWS8VRVOTtaoD60aTDklTxdt35zr3reH57VX0ubDtfSkqKnE6n+8jNza3HigEAQGPS0tsFNKTw8PBKO0QFBQVq2bKlOnbsaNrnwt2m81mtVlmt1vovGAAANDpNemcpISFB6enpHm3r1q3TgAED5O/vb9onMTHxstUJAAAaL5/aWSosLNTXX3/tfpydna2srCx16NBBnTt3VkpKivLy8rRkyRJJFVe+zZs3TzNnztSUKVOUkZGhRYsWeVzlNmPGDA0dOlQvvPCCbr/9dn3wwQdav369tm3bdtnnBwAAGh+f2lnavXu34uLiFBcXJ0maOXOm4uLi9Mwzz0iS8vPzlZOT4+7fpUsXrVmzRps2bVK/fv30hz/8Qa+++qruvvtud5/ExEQtW7ZMb731lvr27avFixdr+fLlGjRo0OWdHAAAaJR89j5LjQn3WQKACkVFUps2FV8XFkpBQd6tBzDDfZYAAADqAWEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADABGEJAADAhM+Fpfnz56tLly4KDAxUfHy8tm7dWm3fBx98UBaLpdLRu3dvd5/FixdX2efMmTOXYzoAAKCR86mwtHz5ciUnJ+vpp59WZmamhgwZoltuuUU5OTlV9n/llVeUn5/vPnJzc9WhQweNHTvWo19wcLBHv/z8fAUGBl6OKQEAgEbOp8LSyy+/rEmTJmny5Mnq2bOn5s6dq6ioKC1YsKDK/jabTeHh4e5j9+7dOnnypH7+85979LNYLB79wsPDL8d0AACAD/CZsFRSUqI9e/YoKSnJoz0pKUnbt2+v1RiLFi3S8OHDFR0d7dFeWFio6OhoderUSaNHj1ZmZqbpOMXFxXK5XB4HAABomnwmLB0/flxlZWUKCwvzaA8LC5PD4ajx/Pz8fH388ceaPHmyR3uPHj20ePFirV69WkuXLlVgYKCuu+46HT58uNqxUlNTZbPZ3EdUVFTdJgUAABo9nwlL51gsFo/HhmFUaqvK4sWL1a5dO91xxx0e7YMHD9Z9992na665RkOGDNFf//pXXX311XrttdeqHSslJUVOp9N95Obm1mkuAACg8Wvp7QJqKyQkRH5+fpV2kQoKCirtNl3IMAz95S9/kd1uV0BAgGnf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Kiw0DKniKCz0djXVO3r0xzqPHvVODb6yVvC62r5+1/nWAfiRy+WSzWar8dJDAKgzX/kDcgUFnh+u9tYHvH1hreB1tX39rtNnls535syZSx0CAACg0apTWCorK9Mf/vAHXXnllWrTpo3+/f+3a/7d736nRYsW1WuBAAAA3lSnsPTcc89p8eLFevHFFxUQEOBu79Onj/73f/+33ooDAADwtjqFpSVLlmjhwoWaOHGix99C69u3r7788st6Kw4AAMDb6hSW8vLydNVVV1VqLy8vV2lp6SUXBQAA0FjUKSz17t1bW7durdS+YsUKxcXFXXJRAAAAjUWdbkr5+9//Xna7XXl5eSovL9fKlSt16NAhLVmyRP/4xz/qu0YAAACvqdPO0m233ably5drzZo1slgseuaZZ/TFF1/oww8/1M0331zfNQIAAHhNnXaWpIq/DzdixIj6rAUAAKDRqdPOUteuXXXixIlK7adOnVLXrl0vuSgAAIDGok5h6ZtvvlFZWVml9uLiYuXl5V1yUQAAAI3FRb0Nt3r1avfXn3zyiWw2m/txWVmZNmzYoJiYmHorDgAAwNsuKizdcccdkiSLxaIHHnjA4zl/f3/FxMTopZdeqrfiAAAAvO2iwlJ5ebkkqUuXLvr0008VEhLSIEUBAAA0FnW6Gi47O7u+6wAAAGiU6nzrgA0bNmjDhg0qKChw7zid85e//OWSCwMAAGgM6hSWnn32Wc2ePVsDBgxQRESELBZLfdcFAADQKNQpLL3xxhtavHix7HZ7fdcDAADQqNTpPkslJSVKTEys71oAAAAanTqFpcmTJ+v999+v71oAAAAanTq9DXfmzBktXLhQ69evV9++feXv7+/x/Msvv1wvxQEAAHhbncLS/v371a9fP0nSgQMH6rMeAACARqVOYWnjxo31XQcAAECjdFFh6a677qqxj8ViUVpaWp0LAgAAaEwuKiyd/4dzAQAAmoOLCktvvfVWQ9UBAADQKNXp1gEAAADNBWEJAADABGEJAADABGEJAADABGEJAADAhM+EpZMnT8put8tms8lms8lut+vUqVPV9i8tLdUTTzyhPn36KCgoSJGRkbr//vv13XffefQbNmyYLBaLxzFhwoQGng0AAPAVPhOW7r33XmVlZWnt2rVau3atsrKyZLfbq+3//fffa+/evfrd736nvXv3auXKlfrqq680ZsyYSn2nTJmi/Px89/HnP/+5IacCAAB8SJ3+3Mnl9sUXX2jt2rXasWOHBg0aJEl68803lZCQoEOHDql79+6VzrHZbEpPT/doe+211zRw4EDl5OSoc+fO7vbWrVsrPDy8YScBAAB8kk/sLGVkZMhms7mDkiQNHjxYNptN27dvr/U4TqdTFotF7dq182h/7733FBISot69e+uxxx7T6dOnTccpLi6Wy+XyOAAAQNPkEztLDodDoaGhldpDQ0PlcDhqNcaZM2f05JNP6t5771VwcLC7feLEierSpYvCw8N14MABpaSkaN++fZV2pc6XmpqqZ5999uInAgAAfI5Xd5ZmzZpV6cPVFx67d++WVPEHei9kGEaV7RcqLS3VhAkTVF5ervnz53s8N2XKFA0fPlyxsbGaMGGC/va3v2n9+vXau3dvteOlpKTI6XS6j9zc3IucOQAA8BVe3VmaNm1ajVeexcTEaP/+/Tp69Gil544dO6awsDDT80tLSzVu3DhlZ2frn//8p8euUlX69+8vf39/HT58WP3796+yj9VqldVqNR0HAAA0DV4NSyEhIQoJCamxX0JCgpxOp3bt2qWBAwdKknbu3Cmn06nExMRqzzsXlA4fPqyNGzeqY8eONX6vgwcPqrS0VBEREbWfCAAAaLJ84gPePXv21MiRIzVlyhTt2LFDO3bs0JQpUzR69GiPK+F69OihVatWSZLOnj2rn/3sZ9q9e7fee+89lZWVyeFwyOFwqKSkRJL0r3/9S7Nnz9bu3bv1zTffaM2aNRo7dqzi4uJ03XXXeWWuAACgcfGJsCRVXLHWp08fJSUlKSkpSX379tU777zj0efQoUNyOp2SpCNHjmj16tU6cuSI+vXrp4iICPdx7gq6gIAAbdiwQSNGjFD37t01ffp0JSUlaf369fLz87vscwQAAI2PT1wNJ0kdOnTQu+++a9rHMAz31zExMR6PqxIVFaXNmzfXS30AAKBp8pmdJQAAAG8gLAEAAJggLAEAAJggLAEAAJggLAEAAJjwmavhAAColaAgqYaroYGLwc4SAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAKD+BAVV/TXgwwhLAAAAJghLAAAAJghLAAAAJghLAAAAJghLAAAAJghLAAAAJghLAAAAJghLAAAAJghLAAAAJlp6uwAAQC0EBUmG4e0qgGaJnSUAAAAThCUAAAAThCUAAAAThCUAAAATPhOWTp48KbvdLpvNJpvNJrvdrlOnTpme8+CDD8pisXgcgwcP9uhTXFyshx9+WCEhIQoKCtKYMWN05MiRBpwJAADwJT4Tlu69915lZWVp7dq1Wrt2rbKysmS322s8b+TIkcrPz3cfa9as8Xg+OTlZq1at0rJly7Rt2zYVFhZq9OjRKisra6ipAAAAH+ITtw744osvtHbtWu3YsUODBg2SJL355ptKSEjQoUOH1L1792rPtVqtCg8Pr/I5p9OpRYsW6Z133tHw4cMlSe+++66ioqK0fv16jRgxov4nAwAAfIpP7CxlZGTIZrO5g5IkDR48WDabTdu3bzc9d9OmTQoNDdXVV1+tKVOmqKCgwP3cnj17VFpaqqSkJHdbZGSkYmNjTcctLi6Wy+XyOAAAQNPkE2HJ4XAoNDS0UntoaKgcDke1591yyy1677339M9//lMvvfSSPv30U914440qLi52jxsQEKD27dt7nBcWFmY6bmpqqvuzUzabTVFRUXWcGQAAaOy8GpZmzZpV6QPYFx67d++WJFkslkrnG4ZRZfs548eP16hRoxQbG6vbbrtNH3/8sb766it99NFHpnXVNG5KSoqcTqf7yM3NreWMAQCAr/HqZ5amTZumCRMmmPaJiYnR/v37dfTo0UrPHTt2TGFhYbX+fhEREYqOjtbhw4clSeHh4SopKdHJkyc9dpcKCgqUmJhY7ThWq1VWq7XW3xcAAPgur4alkJAQhYSE1NgvISFBTqdTu3bt0sCBAyVJO3fulNPpNA01Fzpx4oRyc3MVEREhSYqPj5e/v7/S09M1btw4SVJ+fr4OHDigF198sQ4zAgAATY1PfGapZ8+eGjlypKZMmaIdO3Zox44dmjJlikaPHu1xJVyPHj20atUqSVJhYaEee+wxZWRk6JtvvtGmTZt02223KSQkRHfeeackyWazadKkSXr00Ue1YcMGZWZm6r777lOfPn3cV8cBAIDmzSduHSBJ7733nqZPn+6+cm3MmDGaN2+eR59Dhw7J6XRKkvz8/PTZZ59pyZIlOnXqlCIiInTDDTdo+fLlatu2rfucOXPmqGXLlho3bpx++OEH3XTTTVq8eLH8/Pwu3+QAAECjZTEMw/B2Eb7O5XLJZrPJ6XQqODjY2+UAgPcUFUlt2lR8XVgoBQV5tx7ARG1fv33ibTgAAABvISwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACYICwBAACY8JmwdPLkSdntdtlsNtlsNtntdp06dcr0HIvFUuXxP//zP+4+w4YNq/T8hAkTGng2AADAV7T0dgG1de+99+rIkSNau3atJOmhhx6S3W7Xhx9+WO05+fn5Ho8//vhjTZo0SXfffbdH+5QpUzR79mz341atWtVj5QAAwJf5RFj64osvtHbtWu3YsUODBg2SJL355ptKSEjQoUOH1L179yrPCw8P93j8wQcf6IYbblDXrl092lu3bl2pLwAAgOQjb8NlZGTIZrO5g5IkDR48WDabTdu3b6/VGEePHtVHH32kSZMmVXruvffeU0hIiHr37q3HHntMp0+fNh2ruLhYLpfL4wAAAE2TT+wsORwOhYaGVmoPDQ2Vw+Go1Rhvv/222rZtq7vuusujfeLEierSpYvCw8N14MABpaSkaN++fUpPT692rNTUVD377LMXNwkAAOCTvLqzNGvWrGo/hH3u2L17t6SKD2tfyDCMKtur8pe//EUTJ05UYGCgR/uUKVM0fPhwxcbGasKECfrb3/6m9evXa+/evdWOlZKSIqfT6T5yc3MvYtYAAMCXeHVnadq0aTVeeRYTE6P9+/fr6NGjlZ47duyYwsLCavw+W7du1aFDh7R8+fIa+/bv31/+/v46fPiw+vfvX2Ufq9Uqq9Va41gAAMD3eTUshYSEKCQkpMZ+CQkJcjqd2rVrlwYOHChJ2rlzp5xOpxITE2s8f9GiRYqPj9c111xTY9+DBw+qtLRUERERNU8AAAA0eT7xAe+ePXtq5MiRmjJlinbs2KEdO3ZoypQpGj16tMeVcD169NCqVas8znW5XFqxYoUmT55cadx//etfmj17tnbv3q1vvvlGa9as0dixYxUXF6frrruuwecFAAAaP58IS1LFFWt9+vRRUlKSkpKS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oOeff16SFBcXp4MHD2rBggW6//773f2a+jpI0vLly/Xuu+/q/fffV+/evZWVlaXk5GRFRkbqgQcecPdrDmtxofqYc1X9fXFdSktLNWHCBJWXl2v+/Pk19m9q67Bnzx698sor2rt370XX3JjWgrfh6igkJER+fn6VEm1BQUGl/6tqCh5++GGtXr1aGzduVKdOndzt4eHhkmS6DuHh4SopKdHJkyer7dPY7dmzRwUFBYqPj1fLli3VsmVLbd68Wa+++qpatmzpnkdTX4eIiAj16tXLo61nz57KycmR1Hx+HiTp8ccf15NPPqkJEyaoT58+stvteuSRR5Samiqpea3FOfU15/DwcB09erTS+MeOHfOpdSktLdW4ceOUnZ2t9PR0966S1HzWYevWrSooKFDnzp3dvzu//fZbPfroo4qJiZHkG2tBWKqjgIAAxcfHKz093aM9PT1diYmJXqqq/hmGoWnTpmnlypX65z//qS5dung836VLF4WHh3usQ0lJiTZv3uxeh/j4ePn7+3v0yc/P14EDB3xmrW666SZ99tlnysrKch8DBgzQxIkTlZWVpa5duzaLdbjuuusq3Triq6++UnR0tKTm8/MgSd9//71atPD8Fern5+e+dUBzWotz6mvOCQkJcjqd2rVrl7vPzp075XQ6fWZdzgWlw4cPa/369erYsaPH881lHex2u/bv3+/xuzMyMlKPP/64PvnkE0k+shYN/hHyJuzcrQMWLVpkfP7550ZycrIRFBRkfPPNN94urd786le/Mmw2m7Fp0yYjPz/ffXz//ffuPn/84x8Nm81mrFy50vjss8+Me+65p8pLhTt16mSsX7/e2Lt3r3HjjTc26suja+P8q+EMo3msw65du4yWLVsazz33nHH48GHjvffeM1q3bm28++677j7NYR0MwzAeeOAB48orr3TfOmDlypVGSEiI8Zvf/MbdpymuxenTp43MzEwjMzPTkGS8/PLLRmZmpvsqr/qa88iRI42+ffsaGRkZRkZGhtGnT59Gdcm82TqUlpYaY8aMMTp16mRkZWV5/O4sLi52j9EU1sEwav6ZuNCFV8MZRuNfC8LSJXr99deN6OhoIyAgwOjfv7/7kvqmQlKVx1tvveXuU15ebvz+9783wsPDDavVagwdOtT47LPPPMb54YcfjGnTphkdOnQwWrVqZYwePdrIycm5zLOpXxeGpeayDh9++KERGxtrWK1Wo0ePHsbChQs9nm8u6+ByuYwZM2YYnTt3NgIDA42uXbsaTz/9tMeLYVNci40bN1b5O+GBBx4wDKP+5nzixAlj4sSJRtu2bY22bdsaEydONE6ePHmZZlkzs3XIzs6u9nfnxo0b3WM0hXUwjJp/Ji5UVVhq7GthMQzDaPj9KwAAAN/EZ5YAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAoJa+/fZbWa1WuVwub5cC4DIiLAFALX3wwQcaNmyYgoODvV0KgMuIsASg2Rk2bJgefvhhJScnq3379goLC9PChQtVVFSkn//852rbtq1+8pOf6OOPP/Y474MPPtCYMWMkSRaLpdIRExPjhdkAaGiEJQDN0ttvv62QkBDt2rVLDz/8sH71q19p7NixSkxM1N69ezVixAjZ7XZ9//33kqRTp05p69at7rCUn5/vPr7++mtdddVVGjp0qDenBKCBWAzDMLxdBABcTsOGDVNZWZm2bt0qSSorK5PNZtNdd92lJUuWSJIcDociIiKUkZGhwYMH6/3339dLL72kPXv2eIxlGIbuvvtu5eTkaOvWrWrVqtVlnw+AhtXS2wUAgDf07dvX/bWfn586duyoPn36uNvCwsIkSQUFBZI834I731NPPaWMjAx9+umnBCWgieJtOADNkr+/v8dji8Xi0WaxWCRJ5eXlKi0t1dq1a3X77bd7nPPuu+9qzpw5WrVqlTp16tTwRQPwCsISANRg48aNateunfr16+duy8jI0OTJk/XnP/9ZgwcP9l5xABocb8MBQA1Wr17t8Racw+HQnXfeqQkTJmjEiBFyOBySKt7Ou+KKK7xVJoAGws4SANRg9erVHm/Bffnllzp69KjefvttRUREuI9rr73Wi1UCaChcDQcAJvbu3asbb7xRx44dq/Q5JwDNAztLAGDi7Nmzeu211whKQDPGzhIAAIAJdpYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABM/B+vkPHE1HcdcgAAAABJRU5ErkJggg==",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"spectrum1b = spectrum1.norm(1.0).filter(min_intensity=0.2)\n",
"spectrum1.norm(1.0).plot(axes=plt.gca(), mirror_spectrum=spectrum1b)"
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "cutting-mention",
"metadata": {},
"source": [
"## Operations on pairs of spectra"
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "geological-renewal",
"metadata": {},
"source": [
"### Cosine score between two spectra"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "loaded-accessory",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"586.6037181010105"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"spectrum1.cosine_score(spectrum2)"
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "amber-enhancement",
"metadata": {},
"source": [
"### Cosine score between mz subranges"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "signed-halloween",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"599.529099567551"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"spectrum1.filter(min_mz=500, max_mz=1000).cosine_score(spectrum2.filter(min_mz=500, max_mz=1000))"
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "tutorial-oliver",
"metadata": {},
"source": [
"### Merge two spectra, first by creating a filter spectrum"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "continent-modem",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"image/svg+xml": [
"\n",
"\n",
"\n"
],
"text/plain": [
""
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"spectrum3 = spectrum1.filter(max_mz=500)\n",
"spectrum3"
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "eligible-process",
"metadata": {},
"source": [
"#### Then merge with previous spectrum"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "worth-interpretation",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"image/svg+xml": [
"\n",
"\n",
"\n"
],
"text/plain": [
""
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"spectrum3.merge(spectrum2)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.9.10 ('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.15"
},
"vscode": {
"interpreter": {
"hash": "11d150ef1a59d6ee6bd3538ad9ed751649d8a614c736b8deec7e36a34a38bbb5"
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}