{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "83d34fb6",
"metadata": {
"ExecuteTime": {
"end_time": "2023-09-28T15:11:01.731660Z",
"start_time": "2023-09-28T15:11:01.293239Z"
}
},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import sqlite3\n",
"import os\n",
"import pyzstd"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "c174a0de",
"metadata": {
"ExecuteTime": {
"end_time": "2023-09-28T15:24:58.779565Z",
"start_time": "2023-09-28T15:24:58.770465Z"
}
},
"outputs": [],
"source": [
"folder_name = \"test.d\"\n",
"if not os.path.exists(folder_name):\n",
" os.mkdir(folder_name)\n",
"tdf_file_name = os.path.join(folder_name, \"analysis.tdf\")\n",
"tdf_bin_file_name = os.path.join(folder_name, \"analysis.tdf_bin\")\n",
"num_cycles = 2\n",
"frames_per_cycle = 2\n",
"num_frames = num_cycles * frames_per_cycle\n",
"num_scans = 4\n",
"scanmode = 8\n",
"mz_min = 100.000000\n",
"mz_max = 1000.000000\n",
"im_min = 0.5\n",
"im_max = 1.5\n",
"num_tof = num_frames * num_scans\n",
"num_tof = (num_tof + 1) * num_tof // 2"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "b7ef86d4",
"metadata": {
"ExecuteTime": {
"end_time": "2023-09-28T15:25:02.177458Z",
"start_time": "2023-09-28T15:25:02.166668Z"
}
},
"outputs": [],
"source": [
"# tofs = np.arange(1, num_tof + 1)\n",
"# intensities = np.arange(1, num_tof + 1) * 2\n",
"frame_data = []\n",
"count = 0\n",
"offset = 0\n",
"msms_type = [0 if i % 2 == 0 else scanmode for i in range(num_frames)]\n",
"for frame in range(num_frames):\n",
" frame_tofs = []\n",
" frame_ints = []\n",
" frame_counts = []\n",
" for scan in range(num_scans):\n",
" count += 1\n",
" frame_tofs.append(np.arange(1 + offset, 1 + offset + count))\n",
" frame_ints.append(np.arange(1 + offset, 1 + offset + count) * 2)\n",
" frame_counts.append(count)\n",
" offset += count\n",
" frame_data.append(\n",
" (\n",
" frame_counts,\n",
" frame_tofs,\n",
" frame_ints,\n",
" )\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "56e819a0",
"metadata": {
"ExecuteTime": {
"end_time": "2023-09-28T15:25:02.400280Z",
"start_time": "2023-09-28T15:25:02.381215Z"
}
},
"outputs": [],
"source": [
"frame = frame_data[0]\n",
"data = []\n",
"frame_offsets = []\n",
"frame_offset = 0\n",
"summed_intensities = []\n",
"max_intensities = []\n",
"num_peaks = []\n",
"for frame in frame_data:\n",
" frame_offsets.append(frame_offset)\n",
" scans = frame[0]\n",
" scan_count = len(scans)\n",
" ints = np.concatenate(frame[2])\n",
" summed_intensities.append(np.sum(ints))\n",
" max_intensities.append(np.max(ints))\n",
" num_peaks.append(len(ints))\n",
" buffer = np.zeros(scan_count + len(ints) * 2, dtype=np.uint32)\n",
" buffer[0] = scan_count\n",
" buffer[1:scan_count] = np.array(scans[:-1]) * 2\n",
" buffer[scan_count + 1::2] = ints\n",
" offset = scan_count\n",
" for tofs in frame[1]:\n",
" buffer[offset] = tofs[0]\n",
" buffer[offset + 2: offset + 2 * len(tofs): 2] = np.diff(tofs)\n",
" offset += 2 * len(tofs)\n",
" buffer = np.frombuffer(buffer, dtype=np.uint8)\n",
" buffer = buffer.reshape(-1, 4).T.flatten()\n",
" decompressed_bytes = buffer\n",
" compressed_data = pyzstd.compress(decompressed_bytes)\n",
" compressed_data = np.frombuffer(compressed_data, dtype=np.uint8)\n",
" frame_size = len(compressed_data) + 8\n",
" data.append(np.frombuffer(np.array([frame_size],dtype=np.uint32), dtype=np.uint8))\n",
" data.append(np.frombuffer(np.array([scan_count],dtype=np.uint32), dtype=np.uint8))\n",
" data.append(compressed_data)\n",
" frame_offset += frame_size\n",
"bin_data = np.concatenate(data)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "1a7862fe",
"metadata": {
"ExecuteTime": {
"end_time": "2023-09-28T15:25:02.572316Z",
"start_time": "2023-09-28T15:25:02.565679Z"
}
},
"outputs": [],
"source": [
"if os.path.exists(tdf_bin_file_name):\n",
" os.remove(tdf_bin_file_name)\n",
" \n",
"with open(tdf_bin_file_name, \"wb\") as tdf_bin_file:\n",
" tdf_bin_file.write(bin_data.tobytes())"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "a6f6cf63",
"metadata": {
"ExecuteTime": {
"end_time": "2023-09-28T15:25:02.769843Z",
"start_time": "2023-09-28T15:25:02.742240Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Id | \n",
" Time | \n",
" Polarity | \n",
" ScanMode | \n",
" MsMsType | \n",
" TimsId | \n",
" MaxIntensity | \n",
" SummedIntensities | \n",
" NumScans | \n",
" NumPeaks | \n",
" AccumulationTime | \n",
" RampTime | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" 0.1 | \n",
" + | \n",
" 8 | \n",
" 0 | \n",
" 0 | \n",
" 20 | \n",
" 110 | \n",
" 4 | \n",
" 10 | \n",
" 100 | \n",
" 100 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" 0.2 | \n",
" + | \n",
" 8 | \n",
" 8 | \n",
" 48 | \n",
" 72 | \n",
" 1222 | \n",
" 4 | \n",
" 26 | \n",
" 100 | \n",
" 100 | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" 0.3 | \n",
" + | \n",
" 8 | \n",
" 0 | \n",
" 130 | \n",
" 156 | \n",
" 4830 | \n",
" 4 | \n",
" 42 | \n",
" 100 | \n",
" 100 | \n",
"
\n",
" \n",
" 3 | \n",
" 4 | \n",
" 0.4 | \n",
" + | \n",
" 8 | \n",
" 8 | \n",
" 235 | \n",
" 272 | \n",
" 12470 | \n",
" 4 | \n",
" 58 | \n",
" 100 | \n",
" 100 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Id Time Polarity ScanMode MsMsType TimsId MaxIntensity \\\n",
"0 1 0.1 + 8 0 0 20 \n",
"1 2 0.2 + 8 8 48 72 \n",
"2 3 0.3 + 8 0 130 156 \n",
"3 4 0.4 + 8 8 235 272 \n",
"\n",
" SummedIntensities NumScans NumPeaks AccumulationTime RampTime \n",
"0 110 4 10 100 100 \n",
"1 1222 4 26 100 100 \n",
"2 4830 4 42 100 100 \n",
"3 12470 4 58 100 100 "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"size = num_frames\n",
"peaks = num_scans * (num_scans + 1) // 2\n",
"\n",
"frames = pd.DataFrame(\n",
" {\n",
" 'Id': np.arange(1, size + 1),\n",
" 'Time': np.arange(1, size + 1, dtype=np.float64) / 10,\n",
" 'Polarity': [\"+\"] * size,\n",
" 'ScanMode': [scanmode] * size,\n",
" 'MsMsType': msms_type,\n",
" 'TimsId': frame_offsets,\n",
" 'MaxIntensity': max_intensities,\n",
" 'SummedIntensities': summed_intensities,\n",
" 'NumScans': [num_scans] * size,\n",
" 'NumPeaks': num_peaks,\n",
"# 'MzCalibration': [1] * size,\n",
"# 'T1': [1] * size,\n",
"# 'T2': [1] * size,\n",
"# 'TimsCalibration': [1] * size,\n",
"# 'PropertyGroup': [1] * size,\n",
" 'AccumulationTime': [100] * size,\n",
" 'RampTime': [100] * size,\n",
"# 'Pressure': [2] * size,\n",
" }\n",
")\n",
"frames"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "2076aef6",
"metadata": {
"ExecuteTime": {
"end_time": "2023-09-28T15:25:03.251715Z",
"start_time": "2023-09-28T15:25:03.229805Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Id | \n",
" LargestPeakMz | \n",
" AverageMz | \n",
" MonoisotopicMz | \n",
" Charge | \n",
" ScanNumber | \n",
" Intensity | \n",
" Parent | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" 500.0 | \n",
" 500.5 | \n",
" 500.0 | \n",
" 2 | \n",
" 1 | \n",
" 10 | \n",
" 1 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" 501.0 | \n",
" 501.5 | \n",
" 501.0 | \n",
" 3 | \n",
" 2 | \n",
" 10 | \n",
" 1 | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" 502.0 | \n",
" 502.5 | \n",
" 502.0 | \n",
" 2 | \n",
" 1 | \n",
" 10 | \n",
" 3 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Id LargestPeakMz AverageMz MonoisotopicMz Charge ScanNumber \\\n",
"0 1 500.0 500.5 500.0 2 1 \n",
"1 2 501.0 501.5 501.0 3 2 \n",
"2 3 502.0 502.5 502.0 2 1 \n",
"\n",
" Intensity Parent \n",
"0 10 1 \n",
"1 10 1 \n",
"2 10 3 "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"size -= 1\n",
"precursors = pd.DataFrame(\n",
" {\n",
" 'Id': np.arange(1, size + 1),\n",
" 'LargestPeakMz': 500.0 + np.arange(size),\n",
" 'AverageMz': 500.5 + np.arange(size),\n",
" 'MonoisotopicMz': 500.0 + np.arange(size),\n",
" 'Charge': [2 if i % 2 == 0 else 3 for i in range(size)],\n",
" 'ScanNumber': [1 if i % 2 == 0 else 2 for i in range(size)],\n",
" 'Intensity': [10] * size,\n",
" 'Parent': [(i // 2) * 2 + 1 for i in range(size)],\n",
" }\n",
")\n",
"size += 1\n",
"precursors"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "419685ec",
"metadata": {
"ExecuteTime": {
"end_time": "2023-09-28T15:25:03.617042Z",
"start_time": "2023-09-28T15:25:03.589577Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Frame | \n",
" ScanNumBegin | \n",
" ScanNumEnd | \n",
" IsolationMz | \n",
" IsolationWidth | \n",
" CollisionEnergy | \n",
" Precursor | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 2 | \n",
" 2 | \n",
" 3 | \n",
" 500.5 | \n",
" 2.0 | \n",
" 0.0 | \n",
" 1 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" 1 | \n",
" 2 | \n",
" 501.5 | \n",
" 2.0 | \n",
" 0.0 | \n",
" 2 | \n",
"
\n",
" \n",
" 2 | \n",
" 4 | \n",
" 2 | \n",
" 3 | \n",
" 502.5 | \n",
" 2.0 | \n",
" 0.0 | \n",
" 3 | \n",
"
\n",
" \n",
" 3 | \n",
" 4 | \n",
" 1 | \n",
" 2 | \n",
" 501.5 | \n",
" 2.0 | \n",
" 0.0 | \n",
" 2 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Frame ScanNumBegin ScanNumEnd IsolationMz IsolationWidth \\\n",
"0 2 2 3 500.5 2.0 \n",
"1 2 1 2 501.5 2.0 \n",
"2 4 2 3 502.5 2.0 \n",
"3 4 1 2 501.5 2.0 \n",
"\n",
" CollisionEnergy Precursor \n",
"0 0.0 1 \n",
"1 0.0 2 \n",
"2 0.0 3 \n",
"3 0.0 2 "
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fragment_frames = pd.DataFrame(\n",
" {\n",
" 'Frame': [(i // 2 + 1) * 2 for i in range(size)],\n",
" 'ScanNumBegin': [2 if i % 2 == 0 else 1 for i in range(size)],\n",
" 'ScanNumEnd': [3 if i % 2 == 0 else 2 for i in range(size)],\n",
" 'IsolationMz': 500.5 + np.arange(size),\n",
" 'IsolationWidth': [2.0] * size,\n",
" 'CollisionEnergy': [0.0] * size,\n",
" 'Precursor': np.arange(1, size + 1),\n",
" }\n",
")\n",
"fragment_frames.iloc[-1] = fragment_frames.iloc[-3]\n",
"fragment_frames.Frame.values[-1] = fragment_frames.Frame.values[-2]\n",
"fragment_frames"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "d71b81b9",
"metadata": {
"ExecuteTime": {
"end_time": "2023-09-28T15:25:03.842767Z",
"start_time": "2023-09-28T15:25:03.822643Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Key | \n",
" Value | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" TimsCompressionType | \n",
" 2 | \n",
"
\n",
" \n",
" 1 | \n",
" MaxNumPeaksPerScan | \n",
" 58 | \n",
"
\n",
" \n",
" 2 | \n",
" DigitizerNumSamples | \n",
" 136 | \n",
"
\n",
" \n",
" 3 | \n",
" MzAcqRangeLower | \n",
" 100.0 | \n",
"
\n",
" \n",
" 4 | \n",
" MzAcqRangeUpper | \n",
" 1000.0 | \n",
"
\n",
" \n",
" 5 | \n",
" AcquisitionSoftware | \n",
" timsTOF | \n",
"
\n",
" \n",
" 6 | \n",
" SampleName | \n",
" test | \n",
"
\n",
" \n",
" 7 | \n",
" OneOverK0AcqRangeLower | \n",
" 0.5 | \n",
"
\n",
" \n",
" 8 | \n",
" OneOverK0AcqRangeUpper | \n",
" 1.5 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Key Value\n",
"0 TimsCompressionType 2\n",
"1 MaxNumPeaksPerScan 58\n",
"2 DigitizerNumSamples 136\n",
"3 MzAcqRangeLower 100.0\n",
"4 MzAcqRangeUpper 1000.0\n",
"5 AcquisitionSoftware timsTOF\n",
"6 SampleName test\n",
"7 OneOverK0AcqRangeLower 0.5\n",
"8 OneOverK0AcqRangeUpper 1.5"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"global_meta_data = {\n",
"# \"SchemaType\": \"TDF\",\n",
"# \"SchemaVersionMajor\": 3,\n",
"# \"SchemaVersionMinor\": 7,\n",
"# \"AcquisitionSoftwareVendor\": \"Bruker\",\n",
"# \"InstrumentVendor\": \"Bruker\",\n",
"# \"ClosedProperly\": 1,\n",
" \"TimsCompressionType\": 2,\n",
" \"MaxNumPeaksPerScan\": int(frames.NumPeaks.values[-1]),\n",
"# \"AnalysisId\": \"00000000-0000-0000-0000-000000000000\",\n",
" \"DigitizerNumSamples\": num_tof,\n",
" \"MzAcqRangeLower\": mz_min,\n",
" \"MzAcqRangeUpper\": mz_max,\n",
" \"AcquisitionSoftware\": \"timsTOF\",\n",
"# \"AcquisitionSoftwareVersion\": \"0.0\",\n",
"# \"AcquisitionFirmwareVersion\": \"0.1\",\n",
"# \"AcquisitionDateTime\": \"2023-05-05T21:20:37.229+02:00\",\n",
"# \"InstrumentName\": \"timsTOF SCP\",\n",
"# \"InstrumentFamily\": 9,\n",
"# \"InstrumentRevision\": 3,\n",
"# \"InstrumentSourceType\": 11,\n",
"# \"InstrumentSerialNumber\": 0,\n",
"# \"OperatorName\": \"Admin\",\n",
"# \"Description\": \"\",\n",
" \"SampleName\": \"test\",\n",
"# \"MethodName\": \"test.m\",\n",
"# \"DenoisingEnabled\": 0,\n",
"# \"PeakWidthEstimateValue\": 0.000025,\n",
"# \"PeakWidthEstimateType\": 1,\n",
"# \"PeakListIndexScaleFactor\": 1,\n",
" \"OneOverK0AcqRangeLower\": im_min,\n",
" \"OneOverK0AcqRangeUpper\": im_max,\n",
"# \"DigitizerType\": \"SA248P\",\n",
"# \"DigitizerSerialNumber\": \"AQ00074235\",\n",
"}\n",
"global_meta_data = pd.DataFrame(\n",
" {\n",
" \"Key\": global_meta_data.keys(),\n",
" \"Value\": global_meta_data.values(),\n",
" }\n",
")\n",
"global_meta_data"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "649fa28a",
"metadata": {
"ExecuteTime": {
"end_time": "2023-09-28T15:25:04.436258Z",
"start_time": "2023-09-28T15:25:04.389245Z"
}
},
"outputs": [],
"source": [
"if os.path.exists(tdf_file_name):\n",
" os.remove(tdf_file_name)\n",
"with sqlite3.connect(tdf_file_name) as sql_database_connection:\n",
" global_meta_data.to_sql(\n",
" \"GlobalMetaData\",\n",
" sql_database_connection,\n",
" index=False\n",
" )\n",
" frames.to_sql(\n",
" \"Frames\",\n",
" sql_database_connection,\n",
" index=False\n",
" )\n",
" precursors.to_sql(\n",
" \"Precursors\",\n",
" sql_database_connection,\n",
" index=False\n",
" )\n",
" fragment_frames.to_sql(\n",
" \"PasefFrameMsMsInfo\",\n",
" sql_database_connection,\n",
" index=False\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "b10148b5",
"metadata": {
"ExecuteTime": {
"end_time": "2023-09-28T15:11:12.359759Z",
"start_time": "2023-09-28T15:11:07.862708Z"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:root:WARNING: No Bruker libraries are available for this operating system. Mobility and m/z values need to be estimated. While this estimation often returns acceptable results with errors < 0.02 Th, huge errors (e.g. offsets of 6 Th) have already been observed for some samples!\n",
"100%|█████████████████████████████████████████████| 4/4 [00:01<00:00, 2.83it/s]\n"
]
},
{
"data": {
"text/plain": [
"array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,\n",
" 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,\n",
" 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,\n",
" 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,\n",
" 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,\n",
" 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,\n",
" 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,\n",
" 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,\n",
" 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,\n",
" 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,\n",
" 130, 131, 132, 133, 134, 135], dtype=uint32)"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import alphatims.bruker\n",
"alphatims.bruker.BRUKER_DLL_FILE_NAME = \"\"\n",
"data = alphatims.bruker.TimsTOF(folder_name)\n",
"data.tof_indices"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "5d175bee",
"metadata": {
"ExecuteTime": {
"end_time": "2023-09-08T12:11:28.124197Z",
"start_time": "2023-09-08T12:11:28.116379Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0, 0, 0, 0, 0, 0, 1, 3, 6, 10, 10, 15, 21,\n",
" 28, 36, 36, 45, 55, 66, 78, 78, 91, 105, 120, 136, 136])"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.push_indptr"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "62e18d1d",
"metadata": {
"ExecuteTime": {
"end_time": "2023-09-08T12:12:15.149720Z",
"start_time": "2023-09-08T12:12:15.117228Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" raw_indices | \n",
" frame_indices | \n",
" scan_indices | \n",
" precursor_indices | \n",
" push_indices | \n",
" tof_indices | \n",
" rt_values | \n",
" rt_values_min | \n",
" mobility_values | \n",
" quad_low_mz_values | \n",
" quad_high_mz_values | \n",
" mz_values | \n",
" intensity_values | \n",
" corrected_intensity_values | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 5 | \n",
" 0 | \n",
" 0.1 | \n",
" 0.001667 | \n",
" 1.5 | \n",
" -1.0 | \n",
" -1.0 | \n",
" 100.000000 | \n",
" 2 | \n",
" 2 | \n",
"
\n",
" \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 6 | \n",
" 1 | \n",
" 0.1 | \n",
" 0.001667 | \n",
" 1.3 | \n",
" -1.0 | \n",
" -1.0 | \n",
" 103.181520 | \n",
" 4 | \n",
" 4 | \n",
"
\n",
" \n",
" 2 | \n",
" 2 | \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 6 | \n",
" 2 | \n",
" 0.1 | \n",
" 0.001667 | \n",
" 1.3 | \n",
" -1.0 | \n",
" -1.0 | \n",
" 106.412861 | \n",
" 6 | \n",
" 6 | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" 1 | \n",
" 2 | \n",
" 0 | \n",
" 7 | \n",
" 3 | \n",
" 0.1 | \n",
" 0.001667 | \n",
" 1.1 | \n",
" -1.0 | \n",
" -1.0 | \n",
" 109.694023 | \n",
" 8 | \n",
" 8 | \n",
"
\n",
" \n",
" 4 | \n",
" 4 | \n",
" 1 | \n",
" 2 | \n",
" 0 | \n",
" 7 | \n",
" 4 | \n",
" 0.1 | \n",
" 0.001667 | \n",
" 1.1 | \n",
" -1.0 | \n",
" -1.0 | \n",
" 113.025006 | \n",
" 10 | \n",
" 10 | \n",
"
\n",
" \n",
" 5 | \n",
" 5 | \n",
" 1 | \n",
" 2 | \n",
" 0 | \n",
" 7 | \n",
" 5 | \n",
" 0.1 | \n",
" 0.001667 | \n",
" 1.1 | \n",
" -1.0 | \n",
" -1.0 | \n",
" 116.405810 | \n",
" 12 | \n",
" 12 | \n",
"
\n",
" \n",
" 6 | \n",
" 6 | \n",
" 1 | \n",
" 3 | \n",
" 0 | \n",
" 8 | \n",
" 6 | \n",
" 0.1 | \n",
" 0.001667 | \n",
" 0.9 | \n",
" -1.0 | \n",
" -1.0 | \n",
" 119.836435 | \n",
" 14 | \n",
" 14 | \n",
"
\n",
" \n",
" 7 | \n",
" 7 | \n",
" 1 | \n",
" 3 | \n",
" 0 | \n",
" 8 | \n",
" 7 | \n",
" 0.1 | \n",
" 0.001667 | \n",
" 0.9 | \n",
" -1.0 | \n",
" -1.0 | \n",
" 123.316881 | \n",
" 16 | \n",
" 16 | \n",
"
\n",
" \n",
" 8 | \n",
" 8 | \n",
" 1 | \n",
" 3 | \n",
" 0 | \n",
" 8 | \n",
" 8 | \n",
" 0.1 | \n",
" 0.001667 | \n",
" 0.9 | \n",
" -1.0 | \n",
" -1.0 | \n",
" 126.847147 | \n",
" 18 | \n",
" 18 | \n",
"
\n",
" \n",
" 9 | \n",
" 9 | \n",
" 1 | \n",
" 3 | \n",
" 0 | \n",
" 8 | \n",
" 9 | \n",
" 0.1 | \n",
" 0.001667 | \n",
" 0.9 | \n",
" -1.0 | \n",
" -1.0 | \n",
" 130.427235 | \n",
" 20 | \n",
" 20 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" raw_indices frame_indices scan_indices precursor_indices push_indices \\\n",
"0 0 1 0 0 5 \n",
"1 1 1 1 0 6 \n",
"2 2 1 1 0 6 \n",
"3 3 1 2 0 7 \n",
"4 4 1 2 0 7 \n",
"5 5 1 2 0 7 \n",
"6 6 1 3 0 8 \n",
"7 7 1 3 0 8 \n",
"8 8 1 3 0 8 \n",
"9 9 1 3 0 8 \n",
"\n",
" tof_indices rt_values rt_values_min mobility_values quad_low_mz_values \\\n",
"0 0 0.1 0.001667 1.5 -1.0 \n",
"1 1 0.1 0.001667 1.3 -1.0 \n",
"2 2 0.1 0.001667 1.3 -1.0 \n",
"3 3 0.1 0.001667 1.1 -1.0 \n",
"4 4 0.1 0.001667 1.1 -1.0 \n",
"5 5 0.1 0.001667 1.1 -1.0 \n",
"6 6 0.1 0.001667 0.9 -1.0 \n",
"7 7 0.1 0.001667 0.9 -1.0 \n",
"8 8 0.1 0.001667 0.9 -1.0 \n",
"9 9 0.1 0.001667 0.9 -1.0 \n",
"\n",
" quad_high_mz_values mz_values intensity_values \\\n",
"0 -1.0 100.000000 2 \n",
"1 -1.0 103.181520 4 \n",
"2 -1.0 106.412861 6 \n",
"3 -1.0 109.694023 8 \n",
"4 -1.0 113.025006 10 \n",
"5 -1.0 116.405810 12 \n",
"6 -1.0 119.836435 14 \n",
"7 -1.0 123.316881 16 \n",
"8 -1.0 126.847147 18 \n",
"9 -1.0 130.427235 20 \n",
"\n",
" corrected_intensity_values \n",
"0 2 \n",
"1 4 \n",
"2 6 \n",
"3 8 \n",
"4 10 \n",
"5 12 \n",
"6 14 \n",
"7 16 \n",
"8 18 \n",
"9 20 "
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data[1]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5a2815f6",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:rawdata]",
"language": "python",
"name": "conda-env-rawdata-py"
},
"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.8.16"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 5
}