Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

precusor charge for each features #726

Open
13479776 opened this issue Mar 7, 2024 · 3 comments
Open

precusor charge for each features #726

13479776 opened this issue Mar 7, 2024 · 3 comments

Comments

@13479776
Copy link

13479776 commented Mar 7, 2024

Hi, All
I would like to request about the method used in xcms for precusor charge detection for each features. I can open the @featureData@data[["precursorCharge"]] in XCMSnExp object. There are many 0 or NA. My question is how to get more precursorCharge and got the precursorCharge for each feature?

Thanks very much
Hees

@jorainer
Copy link
Collaborator

The information of the precursor charge is extracted from the mzML files. If the mzML file(s) provide this information it can be extracted with the precursorCharge() functions (.e.g. precursorCharge(xdata) where xdata is a xcms result object) - but this then returns one value for every spectrum in the data set.

If with features you mean the LC-MS features that get defined through the xcms preprocessing (i.e. as a result from the correspondence analysis with the groupChromPeaks() function): for these there is no precursor charge defined/available, because these represent quantified signal in MS1 - the precursor charge will only be available for MS2 spectra (that define the precursor m/z, precursor intensity and precursor charge). If you have LC-MS/MS data, you can get the fragment (MS2) spectra for each feature using the featureSpectra() function. This should return a Spectra object with the MS2 spectra, and on these you can use the precursorMz(), precursorCharge() and precursorIntensity() function to extract the relevant information.

@13479776
Copy link
Author

13479776 commented Mar 13, 2024

Hi jorainer

Very well explained. Thanks. I know that the precusor charge can be obtained only when the MS/MS spectra is available. My question is, is it possible to obtain a precusor charge when there is no MS/MS spectra available? we can set in the orbitrap instrument to filter out certain ions depending on the number of precusor charges, which means the precusor charge can be obtained without MS/MS spectra?

Best wishes,
Hees

@jorainer
Copy link
Collaborator

that's a good question - I guess it depends whether the Thermo software stores that information also in the raw data files and whether this is then also available in the mzML file. Maybe have a look at all columns that are available in your (XCMSnExp) object's fData() (i.e. calling fData(object) |> head(). maybe some information is stored in another mzML field/column of this data.frame other than "precursorCharge"? this data frame contains all information we (can) retrieve from the mzML files.

Also, if you can't find any information, maybe re-evaluate the conversion from raw to mzML files - maybe some of this information got lost during that conversion? but I'm not familiar with Thermo data, so I can't be of any help there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants