syjgino / SLA

A DMS Shotgun Lipidomics Workflow Application to Facilitate High-Throughput, Comprehensive Lipidomics
Apache License 2.0
4 stars 3 forks source link

Use SLA for new method #3

Closed FabRiols closed 1 year ago

FabRiols commented 1 year ago

Hello, I would like to use the SLA for a new and independent DMS method, for Cardiolipins. The method is totally independent of the "Lipidyzer-like" method, for instance I only have negative mode acquisition. I've modified the information in the Tuning_Spname_dict to get SST intensities, but I couldn't make it work. Here is the error message: IndexError: ('index 0 is out of bounds for axis 0 with size 0', 'occurred at index 0') I wonder if it could come from the fact that I don't have neg and pos mode for the acquisition method. It would be great to get some help! Thank you a lot.

Bets wishes, Fabien

syjgino commented 1 year ago

Hi Fabien,

I think you are right. You can try to add a dummy pos species in tuning and assign that to a dummy pos mode mrm list. Maybe this will fix the problem.

Best, Gino

On Thu, Dec 1, 2022 at 6:28 AM FabRiols @.***> wrote:

Hello, I would like to use the SLA for a new and independent DMS method, for Cardiolipins. The method is totally independent of the "Lipidyzer-like" method, for instance I only have negative mode acquisition. I've modified the information in the Tuning_Spname_dict to get SST intensities, but I couldn't make it work. Here is the error message: IndexError: ('index 0 is out of bounds for axis 0 with size 0', 'occurred at index 0') I wonder if it could come from the fact that I don't have neg and pos mode for the acquisition method. It would be great to get some help! Thank you a lot.

Bets wishes, Fabien

— Reply to this email directly, view it on GitHub https://github.com/syjgino/SLA/issues/3, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFVFULYMSF6MQRPOYZTIGXLWLCYXXANCNFSM6AAAAAASQ3ESK4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>

FabRiols commented 1 year ago

Hi Gino,

Thank you very much for your quick answer. Indeed I went to the same conclusion.

And for the sample analysis, do you think it will work with only one method (DMS on)? I don’t want to inject two times the samples to get two methods and get it work!

Thanks.

Best,

Fabien

syjgino commented 1 year ago

Yes, the analysis part should still work with only one method.

Gino

On Thu, Dec 1, 2022 at 11:09 PM FabRiols @.***> wrote:

Hi Gino,

Thank you very much for your quick answer. Indeed I went to the same conclusion.

And for the sample analysis, do you think it will work with only one method (DMS on)? I don’t want to inject two times the samples to get two methods and get it work!

Thanks.

Best,

Fabien

Fabien Riols, M.Sc.,

Scientist in Mass Spectrometry, Lipidomics Platform

Metabolomics & Proteomics Core (MPC)

Building 34, Room 336

+49-89-3187-43070

https://www.helmholtz-munich.de/MPC

From: Gino Su @.> Sent: Thursday, 1 December 2022 20:17 To: syjgino/SLA @.> Cc: FabRiols @.>; Author @.> Subject: Re: [syjgino/SLA] Use SLA for new method (Issue #3)

Hi Fabien,

I think you are right. You can try to add a dummy pos species and assign that to a dummy pos mode mrm list. Maybe this will fix the problem.

Best, Gino

On Thu, Dec 1, 2022 at 6:28 AM FabRiols @. <mailto:@.>

wrote:

Hello, I would like to use the SLA for a new and independent DMS method, for Cardiolipins. The method is totally independent of the "Lipidyzer-like" method, for instance I only have negative mode acquisition. I've modified the information in the Tuning_Spname_dict to get SST intensities, but I couldn't make it work. Here is the error message: IndexError: ('index 0 is out of bounds for axis 0 with size 0', 'occurred at index 0') I wonder if it could come from the fact that I don't have neg and pos mode for the acquisition method. It would be great to get some help! Thank you a lot.

Bets wishes, Fabien

— Reply to this email directly, view it on GitHub https://github.com/syjgino/SLA/issues/3, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AFVFULYMSF6MQRPOYZTIGXLWLCYXXANCNFSM6AAAAAASQ3ESK4

. You are receiving this because you are subscribed to this thread.Message ID: @. <mailto:@.> >

— Reply to this email directly, view it on GitHub https://github.com/syjgino/SLA/issues/3#issuecomment-1334233427 , or unsubscribe < https://github.com/notifications/unsubscribe-auth/A4QP76D7RJFSAUH5GSFHIZTWLD2SRANCNFSM6AAAAAASQ3ESK4>

. You are receiving this because you authored the thread. < https://github.com/notifications/beacon/A4QP76DK6VKLE2TBSFPZM73WLD2SRA5CNFSM6AAAAAASQ3ESK6WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSPQ3EVG.gif>

Message ID: @. @.> >

Helmholtz Zentrum Muenchen Deutsches Forschungszentrum fuer Gesundheit und Umwelt (GmbH), Ingolstadter Landstr. 1, 85764 Neuherberg, www.helmholtz-munich.de. Geschaeftsfuehrung: Prof. Dr. med. Dr. h.c. Matthias Tschoep, Kerstin Guenther, Daniela Sommer (kom.) | Aufsichtsratsvorsitzende: Prof. Dr. Veronika von Messling | Registergericht: Amtsgericht Muenchen HRB 6466 | USt-IdNr. DE 129521671

Helmholtz Zentrum Muenchen Deutsches Forschungszentrum fuer Gesundheit und Umwelt (GmbH), Ingolstadter Landstr. 1, 85764 Neuherberg, www.helmholtz-munich.de. Geschaeftsfuehrung: Prof. Dr. med. Dr. h.c. Matthias Tschoep, Kerstin Guenther, Daniela Sommer (kom.) | Aufsichtsratsvorsitzende: Prof. Dr. Veronika von Messling | Registergericht: Amtsgericht Muenchen HRB 6466 | USt-IdNr. DE 129521671

— Reply to this email directly, view it on GitHub https://github.com/syjgino/SLA/issues/3#issuecomment-1334842369, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFVFULZQFGZCIBGNFIG6QVTWLGOBVANCNFSM6AAAAAASQ3ESK4 . You are receiving this because you commented.Message ID: @.***>

FabRiols commented 1 year ago

I've tested the analysis of the 3 methods and it works with the SLA, that's so great! Just one issue, the output_merge.xlsx file does not contain the results of the method 03. I've taken a look at your code and indeed it seems that the method 03 was not implemented in the "merge m1 m2 m3 dataframes" section. Would it be please possible to get a new version of the SLA with the m3 merging? Thank you so much :) Best, Fabien

FabRiols commented 1 year ago

Also, the isotope correction for method 03 doesn't work. Indeed the SLA doesn't read the sheat 'M3' as you can see below: "

read iso correction dict

if variable_iso.get() == 'Yes':
    iso_dict = {'1': pd.read_excel(iso_dict_loc.get('1.0', 'end-1c'),
                                   sheet_name='M1', header=0, index_col=None, na_values='.'),
                '2': pd.read_excel(iso_dict_loc.get('1.0', 'end-1c'),
                                   sheet_name='M2', header=0, index_col=None, na_values='.')}

reading mzml loop start

"

syjgino commented 1 year ago

Hi Fabien,

SLA version 1.3 was originally designed to analyze the data from two methods. There is an option to add a third method in v1.3. This was for an in-house add-on experiment, analyzing derivatized free cholesterol (basically a single measurement that doesn’t require isotope correction). Since this third method doesn’t need isotope correction, we don’t recommend that it be used for anything other than the narrow use described above. I will add a note about this in the readme file.

If a user wants to analyze 3 or more full methods, we recommend that the data be analyzed in multiple rounds with the SLA. For example, if the user has 3 methods, it could be run separately as "method 1" in "Read mzml" section, then merged with the other 2 methods in the "Merge" section.

I will also update the source code so it will be able to read a 3rd isotope correction dictionary sheet and apply it to method 3 in "Read mzml" section. If you really need to run them together, you can use the source code directly.

Regarding the output_merge.xlsx. Data in this file is not merged with sample maps and is not normalized to the sample amount. This file is originally designed for Lipidyzer users to compare SLA output with Lipidyzer output. So we didn't bother to merge our in-house method 3 with it.

On Fri, Dec 9, 2022 at 1:46 AM FabRiols @.***> wrote:

Also, the isotope correction for method 03 doesn't work. Indeed the SLA doesn't read the sheat 'M3' as you can see below: " read iso correction dict

if variable_iso.get() == 'Yes': iso_dict = {'1': pd.read_excel(iso_dict_loc.get('1.0', 'end-1c'), sheet_name='M1', header=0, index_col=None, na_values='.'), '2': pd.read_excel(iso_dict_loc.get('1.0', 'end-1c'), sheet_name='M2', header=0, index_col=None, na_values='.')}

reading mzml loop start

"

— Reply to this email directly, view it on GitHub https://github.com/syjgino/SLA/issues/3#issuecomment-1344083916, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFVFULZDHWNSFICQHKNULUDWML5XRANCNFSM6AAAAAASQ3ESK4 . You are receiving this because you commented.Message ID: @.***>

FabRiols commented 1 year ago

Hi Gino,

Thank you for all the explanation. I've generated the method 3 files as "method 3" so according to your code I guess I cannot apply them as method 01 as I cannot modify file names within mzml data files. So I'm really looking forward to this source code update. Thanks a lot.

syjgino commented 1 year ago

It's updated. Let me know if it works for you.

On Mon, Dec 12, 2022 at 1:01 AM FabRiols @.***> wrote:

Hi Gino,

Thank you for all the explanation. I've generated the method 3 files as "method 3" so according to your code I guess I cannot apply them as method 01 as I cannot modify file names within mzml data files. So I'm really looking forward to this source code update. Thanks a lot.

— Reply to this email directly, view it on GitHub https://github.com/syjgino/SLA/issues/3#issuecomment-1346118626, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFVFUL4JEC635SM6VDICVH3WM3SXTANCNFSM6AAAAAASQ3ESK4 . You are receiving this because you commented.Message ID: @.***>

FabRiols commented 1 year ago

I can see in SRC that the file was updated, thank you, but I don't know how to use it - I never used Python before: isn't necessary to generate a new version of the SLA?

syjgino commented 1 year ago

The quick solution is to change the name of the .wiff file before you convert it to mzml (from "- 3" to "- 1"). Then you can run method3 as method1.

On Wed, Dec 14, 2022 at 12:36 AM FabRiols @.***> wrote:

I can see in SRC that the file was updated, thank you, but I don't know how to use it - I never used Python before: isn't necessary to generate a new version of the SLA?

— Reply to this email directly, view it on GitHub https://github.com/syjgino/SLA/issues/3#issuecomment-1350635747, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFVFUL2WUPUP4NCYE7S6FITWNGBKJANCNFSM6AAAAAASQ3ESK4 . You are receiving this because you commented.Message ID: @.***>

FabRiols commented 1 year ago

I did as you said and it works, but without isotope correction. It seems then that there is an issue in my ISOcorrectlist_V3_3.0 file and the software stops at line 137 in isoadjv2. I've built the sheet as the others and according to your SOP so I don't know where is the problem.

syjgino commented 1 year ago

Is your new isotope correction sheet named M1 or M3? Since you are running your M3 as M1, you should name the isotope correction sheet for M3 as M1.

On Fri, Dec 16, 2022 at 12:50 AM FabRiols @.***> wrote:

I did as you said and it works, but without isotope correction. It seems then that there is an issue in my ISOcorrectlist_V3_3.0 file and the software stops at line 137 in isoadjv2. I've built the sheet as the others and according to your SOP so I don't know where is the problem.

— Reply to this email directly, view it on GitHub https://github.com/syjgino/SLA/issues/3#issuecomment-1354404196, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFVFUL3SPCGJFGH7QTLW343WNQUORANCNFSM6AAAAAASQ3ESK4 . You are receiving this because you commented.Message ID: @.***>

FabRiols commented 1 year ago

Yes the sheet was named M1. I finally found the error, ISTDs were not assigned as such in the ISOcorrectlist (forgot the "d" before the compound name). Works great now. Thanks!