pymzml / pymzML

pymzML - an interface between Python and mzML Mass spectrometry Files
https://pymzml.readthedocs.io/en/latest/
MIT License
160 stars 91 forks source link

Ion Mobility Annotation #250

Closed fishneck closed 3 years ago

fishneck commented 3 years ago

Could you add ion mobility values in <class 'pymzml.spec.Spectrum'>? MzML files converted from new equipments such as timsTOF Pro raw file contain ion mobility information.

fishneck commented 3 years ago

Using MOBI-DIK converting raw files from Bruker timsTOF Pro to .mzML would result in an extra binaryDataArray for each spectrum. The binaryDataArray looks like this:

`

                    <cvParam cvRef="MS" accession="MS:1000523" name="64-bit float" />
                    <cvParam cvRef="MS" accession="MS:1002748" name="MS-Numpress short logged float compression followed by zlib compression" />
                    <binary>eJwVlE9IW0kcx4NQhIaKCIGIID2kshgQBEGEVbdIAlsoFEEUoRu2hyKElkhhee1lKQ3N/P/7Zp60kIUchJhT7eEdcnC1erEFe2gPuik9tId4ccFWzCFl95f3ePDezLzffL/f+cz88u9/fyfgStocntY59DJqqgJ6FqVMkQf4nLZkSg6Hk+EAje1dcpMmwgXyQp/4NZ1FGl+QATpONum7CLMVdS+cc217KJqsxiRJGY2XbNW2ZI3FLouPnA1/aI3b9nv4PUyyqj1yk77tqrYr1vSR+91fc0+gPe2JuuEGSe/O4lshUbfCX30irLgPKuZF/sC2rTKxGxFpnzdXI057ivNmgfSJglyyCfj/LxfbJ+GJH9WHou0u5BAyKOEPxSPaBJ2xS8kHloDetH9uA5PFw+EVXeX3wkBu0hJ7z1/o2A3hAFV5291wad/A19wReBsO74WP/YYo8x165HZNwhdkmd/RCX9BwLXSeEzth/thkWfhbV4FctKvqH+gb5xg9hONXacSuwB9wrdFDu+H19z38MQkIN1V2qkk7U0KX34IPbc/dCNUhtMBlWTKTOu8aYWTvsgf0eFwDdbJoKR9q5vslFtwEUiiAmjbNevqIyQ4pv4UVb5HjsHNvJqDBPbxunoXzatZtiW7UYmVeYAaOIs4XdMGHaC8NKiBVukeWdMl1s8PUEveFhsiBqcJmHmVbogz9gmPiDF1gBb5BvQ1wVmnchvSmOEaZ2yTXdFT4hJjlmSXuMZm2SrFLJA7tMwHyReRZAO0gOCWu6YPKg+SKl9XO3RK5OUl7hNaroDupmqyDCugKbEP/H1Gf5CezjH1SmCoPyE7lZoyKIte6DmXMuMkESZh5jJfUUSd8kCmzCkv85TMgcq8TPs9UnFToggKS2wCXObQFzGvmuo6vy8CmcUP3ThwBjnbglzkr4ChlBzV3agbJVmJ9RI8MSWgZkUNks8ohzfEKqxKAzfwpC+YTmUffzOLfEv28xyu8n5+TDNsGRKosSZ7RHfoLFTB7AxarvMCmmVvYGSf6BPj5I5ugpMaW7IDQPYpz8D4WVaQM/w9uFmyc27CKJM3B+D2rQ6ANKDZDqFt/c0c0xmeMttay2ldJ/fFkp0wBu2RCXnGJqD9g+pUMqwl66bMG2gLyMmhZfA/57TPopgnYc5OZVQXzAgkfpMmrQRCX0cPXRUy3IbZtMRsG0gr8uc2h3q0dMUpfyOvAxGLvAoeyvCM6mmdkkV+TpdBeY19ZJwe0xqr8lV6DlRv0j1gZ4dqqDclaqwrVtQbOSJ6WY+Cj1Fg+JVYZnd0P1+AHb8Fu1TLljwUQ/iMXY1mQHen0qlk0QwvwXfbHtk6OUDTWpmnesl+jZ5Fl7gDudbJAtnWbTtOMnZMpX0Oxe5rNEADHJhdSKFuilEMXJz73/C53/KtsBtdyGVWN1V77jMsaft5K8zix75qX0e7Zpb1ifvA7Cp9qnvnwZNwE3ZCk825r/pnm4Ua76Imy6GCqbF1VYC63ajiwLWP4aTb8nCamLQvsbtkXm35b0B83ryM6iaGNP8HGQTOCw==</binary>
                </binaryDataArray>`
MKoesters commented 3 years ago

Hi and thanks for raising this Issue,

I'll look into this and implement a solution to access the ion mobility values just like the other data arrays as soon as I find the time. Thanks for providing the dataArray, this should make it way easier to implement this properly.

Best, Manuel

MKoesters commented 3 years ago

Hi,

sorry that its taking some time. I found another issue related to that, which I fixed first. To make sure accessing the ion mobility array, I'll download some IM-MS files of different vendors and test my solution, I'll come back to you as soon as I pushed a working branch.

Best, Manuel

ZhixuNi commented 3 years ago

Hi @MKoesters! When you have time can you also have a look on IMS data from other vendor as well, many thanks!

Best, Zhixu Ni

MKoesters commented 3 years ago

Hi @ZhixuNi ,

I got solution for the accessing the ion mobility data for different vendors, I'll discuss this on friday with the other developers and issue a new release next week, if everybody is happy with that solution. Could you tell me which machine you are working with, so I can double-check that this feature will also work for your data?

Best, Manuel

ZhixuNi commented 3 years ago

Hi @MKoesters !

Thanks for the update! Currently we have possibility to access data generated by Bruker TIMS ToF and Waters Synapt G2 instruments. Please check if it is possible to process these data. There is a public TIMS ToF IMS dataset on MassIVE (MSV000083858): https://massive.ucsd.edu/ProteoSAFe/dataset.jsp?accession=MSV000083858 For Synapt G2 HDMS ion mobility there is a dataset on metabolights (MTBLS1267): https://www.ebi.ac.uk/metabolights/MTBLS1267

Best,

Zhixu Ni