Code Monkey home page Code Monkey logo

Comments (22)

martinlund avatar martinlund commented on June 1, 2024

Hi Steffen
We have been experiencing a similar error after recent upgrade of our Agilent Acquisition software. I can provide you with more information and samples.

Processing: 005-MIX Found gaps: cut scantime-vector at 5.399 seconds
Found gaps: cut scantime-vector at 103.227 seconds
Error in matrix(0, seqlen, dim(obj1@env$profile)[2]) :
non-numeric matrix extent

best
Martin

from xcms.

ma-bio21 avatar ma-bio21 commented on June 1, 2024

Also seeing this issue for the first time just recently.

center sample: pbqc_701-72081.mzdata
Processing: E-1_701-24723.mzdata Found gaps: cut scantime-vector at 12.66 seconds
Found gaps: cut scantime-vector at 9 seconds
changing 0 num_internal_anchors to -1 E-2_701-24724.mzdata Found gaps: cut scantime-vector at 12.66 seconds
Found gaps: cut scantime-vector at 8.7 seconds
changing 0 num_internal_anchors to -1 E-3_701-24725.mzdata Found gaps: cut scantime-vector at 12.66 seconds
Found gaps: cut scantime-vector at 5.7 seconds
Error in matrix(0, seqlen, dim(obj1@env$profile)[2]) :
non-numeric matrix extent

Thought this might be due to the scans with no intensity information, and possibly this is true, but we have data where these gaps appear and no errors were reported.

Call to retcor is: xs_align <- retcor(xset, method= "obiwarp", center= align_ref,
plottype= "deviation", profStep= 0.1, distFunc= "cor_opt",
response=2, gapInit=1, gapExtend=2.4
)

Thanks,
Sean

from xcms.

sneumann avatar sneumann commented on June 1, 2024

Hi, could you provide me with a minimalistic test case ?
Can you reproduce with just two files ? Then I'd like to ask
for the files and a code snippet. Yours, Steffen

from xcms.

ma-bio21 avatar ma-bio21 commented on June 1, 2024

Hi Steffen,

Playing around with the issue, I get two different errors depending on which files I use in a two file example. Either I get the same issue as the one above, or another one:

center sample: E-2_701-24724.mzdata
Processing: E-1_701-24723.mzdata Found gaps: cut scantime-vector at 8.7 seconds
Found gaps: cut scantime-vector at 9 seconds
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted (core dumped)

I can provide three files along with code snippets which can replicate these two errors when used in different combinations. How do you want me to share this with you?

Sean

from xcms.

sneumann avatar sneumann commented on June 1, 2024

Hi, whatever works best for you, we can do google drive, dropbox, or services like wetransfer.com.
Yours, Steffen

from xcms.

ma-bio21 avatar ma-bio21 commented on June 1, 2024

Dropbox it is!
https://www.dropbox.com/sh/w3nehcomwi2je35/AACcjKKglHLs3e3e-4KFmqima?dl=0

Hopefully you can replicate the error.

Thanks,
Sean

from xcms.

carlamerino avatar carlamerino commented on June 1, 2024

Hello everyone,

I am having the same problem now. I would like to know if the problem has any solution, because I cannot pass retcor - obiwarp step.

Thanks,
Carla

from xcms.

jorainer avatar jorainer commented on June 1, 2024

could you please provide some more information? please post the output of your sessionInfo, the calls that lead to your error and also the error message.

from xcms.

carlamerino avatar carlamerino commented on June 1, 2024

Hello,

This is the problem that appears, but sometimes the R session aborted because R encountered a fatal error:

xset2 <- retcor(xset,method="obiwarp",profStep=0.1)#RT alignment
center sample: QC
Processing: A1 Found gaps: cut scantime-vector at 2.966 seconds
Found gaps: cut scantime-vector at 7.987 seconds
Error in matrix(0, seqlen, dim(obj1@env$profile)[2]) :
non-numeric matrix extent

My sessionInfo is:
R version 3.4.4 (2018-03-15)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

Matrix products: default

locale:
[1] LC_COLLATE=Spanish_Spain.1252 LC_CTYPE=Spanish_Spain.1252 LC_MONETARY=Spanish_Spain.1252
[4] LC_NUMERIC=C LC_TIME=Spanish_Spain.1252

attached base packages:
[1] parallel stats graphics grDevices utils datasets methods base

other attached packages:
[1] xcms_3.0.2 MSnbase_2.4.2 ProtGenerics_1.10.0 mzR_2.12.0 Rcpp_0.12.13
[6] BiocParallel_1.12.0 Biobase_2.38.0 BiocGenerics_0.24.0

loaded via a namespace (and not attached):
[1] pillar_1.2.1 compiler_3.4.4 BiocInstaller_1.28.0 RColorBrewer_1.1-2
[5] plyr_1.8.4 iterators_1.0.9 tools_3.4.4 zlibbioc_1.24.0
[9] MALDIquant_1.17 digest_0.6.15 tibble_1.4.2 preprocessCore_1.40.0
[13] gtable_0.2.0 lattice_0.20-35 rlang_0.2.0 Matrix_1.2-12
[17] foreach_1.4.4 yaml_2.1.18 S4Vectors_0.16.0 IRanges_2.12.0
[21] multtest_2.34.0 stats4_3.4.4 grid_3.4.4 impute_1.52.0
[25] snow_0.4-2 survival_2.41-3 XML_3.98-1.10 RANN_2.5.1
[29] limma_3.34.9 ggplot2_2.2.1 MASS_7.3-49 splines_3.4.4
[33] scales_0.5.0 pcaMethods_1.70.0 codetools_0.2-15 MassSpecWavelet_1.44.0
[37] mzID_1.16.0 colorspace_1.3-2 affy_1.56.0 lazyeval_0.2.1
[41] munsell_0.4.3 doParallel_1.0.11 vsn_3.46.0 affyio_1.48.0

I have tried with several PC, and the error appeared in all of them.

Thanks,
Carla

from xcms.

jorainer avatar jorainer commented on June 1, 2024

Would you mind trying the new interface and methods? I've fixed the new obiwarp functions but was not able to fix the original one. So eventually this problem might have been fixed.

What you would have to do is:

## Read the data; fls should be the names (including path) of the input files
raw_data <- readMSData(fls, mode = "onDisk")

## Just convert the object so that you can immediately call obiwarp
raw_data <- as(raw_data, "XCMSnExp")

## Perform the obiwarp alignment with your settings (profstep/binSize = 0.1
obi_data <- adjustRtime(raw_data, param = ObiwarpParam(binSize = 0.1))

from xcms.

carlamerino avatar carlamerino commented on June 1, 2024

Hello,

Thank you for your answer. I was reading about the new version and I would like to know if I use what you replied me I have to change all the scrip in order to finish the data processing with the new version of xcms. I found the steps to execute it here: https://bioconductor.org/packages/3.7/bioc/vignettes/xcms/inst/doc/xcms.html#7_further_data_processing_and_analysis.

Thanks,
Carla

from xcms.

jorainer avatar jorainer commented on June 1, 2024

You are using R-3.4.4, so you should use https://bioconductor.org/packages/release/bioc/vignettes/xcms/inst/doc/xcms.html (there are some minor differences to the newest developmental version you have linked above).

If you are sticking with the new interface, you should do the chromatographic peak detection after reading the data (and before the adjustRtime call above, also, then you don't need the as(raw_data, "XCMSnExp") call).
For the chromatographic peak detection use the findChromPeaks method on the raw_data object with the corresponding parameter class and your settings.

Note that you can switch to the old classes/functions at any stage by simply calling

xset <- as(new_data, "xcmsSet")

where new_data is the new object you get with e.g. findChromPeaks, and xset the old xcmsSet object.

from xcms.

carlamerino avatar carlamerino commented on June 1, 2024

Hello again,

Thank you for your recommendations. I decided to try the new version of xcms. I was following the steps of the new version without any problem ... until alignment step. After execute the next function, a problem appears:

xdata <- adjustRtime(xdata, param = ObiwarpParam(binSize = 0.6))

Sample number 13 used as center sample.
Error in binYonX(mz, int, breaks = brks, fromIdx = fromIdx, toIdx = toIdx, :
'fromIdx' and 'toIdx' have to be >= 0!

However, there is no problem when I try with the data from the faahKO package.

Please, do you have any idea of what could be happening?

Thank you,
Carla

from xcms.

jorainer avatar jorainer commented on June 1, 2024

Dear Carla,

could be that there is some problem with one of your files. Could you please subset the data to pairs of files and retry on those in order to see for which files it fails? One of the files should always be the file number 13 because obiwarp aligned against that one.

raw_data <- readMSData(fls, mode = "onDisk")

## Subset the object to e.g. files 1 and 13
xdata <- filterFile(raw_data, c(1, 13))

## Just convert the object so that you can immediately call obiwarp
xdata <- as(xdata, "XCMSnExp")

## Perform the obiwarp alignment with your settings (profstep/binSize = 0.6 and 
## specify centerSample 2 to use the file number 13 from the original object.
obi_data <- adjustRtime(xdata, param = ObiwarpParam(binSize = 0.6, centerSample = 2))

from xcms.

carlamerino avatar carlamerino commented on June 1, 2024

Dear Johannes,

Thank you for your answer, but It didn't work. Do you thing that the problem could be with the method that I used for data storage, which is both centroid and profile? I converted the file in ProteoWizard and xcms online with the same converted files worked perfectly, but not with xcms in R. I don't know what else the problem may be.

Best,
Carla

from xcms.

jorainer avatar jorainer commented on June 1, 2024

Using the centroided files should be OK, don't use the profile-mode file with xcms. Ideally I would need hands on your data, but that is obviously difficult - especially if it is a large data set. That's also why I wanted you above to try pairwise obiwarp on two files only to see if you could nail it down to 2 files. From there it would be much easier to go on and try to debug.

from xcms.

carlamerino avatar carlamerino commented on June 1, 2024

Even trying by pairs it didn't work. The same error came up:
Error in binYonX(mz, int, breaks = brks, fromIdx = fromIdx, toIdx = toIdx, :
'fromIdx' and 'toIdx' have to be >= 0!

Thank you

from xcms.

carlamerino avatar carlamerino commented on June 1, 2024

Hello,

I might know what is happening with my data, but I do not have any solution yet. We started the masa acquisition from 60 seconds till the end. During the first 60 seconds I do not have any m/z data. That might be the problem in the adjustRtime step. I would like to know how I could not take into account the first 60 seconds for data analysis.

Thank you.
Best,
Carla

from xcms.

jmbadia avatar jmbadia commented on June 1, 2024

It seems that the reason is because during the first 60 secons the measurements have a 0 value with 0 m/z values associated. When the alignment function findChromPeaks() tries to do binning, it cannot understand 0 as a minimum & maximum m/z value to be used for binning.
I guess that's the reason. You can test the findChromPeaks() function with the same rawdata with its first 70 seconds remved (using the filterRt() function)

from xcms.

jorainer avatar jorainer commented on June 1, 2024

@jmbadia is right, you can simply remove the first 60 seconds from your measurements with the filterRt function. Assuming xdata is your MS data you read with readMSData:

xdata <- filterRt(xdata, rt = c(60, max(rtime(xdata))))

Eventually you might have to increase the lower retention time range if the problem still persists.

from xcms.

carlamerino avatar carlamerino commented on June 1, 2024

Thank you both of you. I decided to start at 64 seconds and it works.

from xcms.

jorainer avatar jorainer commented on June 1, 2024

Closing the issue now - feel free to reopen if necessary

from xcms.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.