Skip to content

No match for coord x,y,z #59

Description

@ChrPotts

Hi There,
Im very impressed with this package, but am running into an issue as I am trying to read in our data.

Here is what the data look like:

>  msa_pre
MSImagingArrays with 254387 spectra 
spectraData(2): intensity, mz
pixelData(7): x, y, z, ..., 3DPositionX, 3DPositionY, 3DPositionZ
coord(3): x = 1...2002, y = 1...300, z = 1...1
runNames(1): tissue_fat_pad
experimentData(10): spectrumType, instrumentModel, ionSource, ..., scanType, lineScanDirection, pixelSize
centroided: NA 
continuous: FALSE 

And here is the coord slot:

> coord(msa_pre)
DataFrame with 254387 rows and 3 columns
                        x         y         z
                <numeric> <numeric> <integer>
spectrum=0             57       124         1
spectrum=1             58       124         1
spectrum=2             59       124         1
spectrum=3             60       124         1
spectrum=4             61       124         1
...                   ...       ...       ...
spectrum=254382       357       233         1
spectrum=254383       358       233         1
spectrum=254384       359       233         1
spectrum=254385       360       233         1
spectrum=254386       361       233         1

I notice that x and y are numeric, and z is an integer.

When I try to plot by coord, I receive the following error:

> Cardinal::plot(msa_pre, coord = list(x = 57, y = 124, z = 1))
Error in plotlist[[1L]] : subscript out of bounds
In addition: Warning message:
in .find_positions(object, coord, run, tolerance): no match for coord x = 57, y = 124, z = 1; nearest is x = 57, y = 124, z = 1 

I receive no such error when trying to plot by specifying the index:
> plot(msa_pre, i=2)

Image

When I try to specify the type, I receive the same error:

> Cardinal::plot(msa_pre, coord = list(
+     x = as.numeric(57), 
+     y = as.numeric(124), 
+     z = as.integer(1)
+ ))
Error in plotlist[[1L]] : subscript out of bounds
In addition: Warning message:
in .find_positions(object, coord, run, tolerance): no match for coord x = 57, y = 124, z = 1; nearest is x = 57, y = 124, z = 1 

I can see that the spectra exist at those coordinates:

> subset_spectrum <- spectra(msa_pre)[coord(msa_pre)$x == 57 & coord(msa_pre)$y == 124 & coord(msa_pre)$z == 1, ]
> str(subset_spectrum)
List of 1
 $ spectrum=0: num [1:25511] 7 6 6 6 12 6 6 6 6 6 ...

Can you think of any reasons this could be? I note that there is only one z value, so removing that slot entirely would be a fine solution, if there are methods to achieve that.

Thank you very much,
Christian Potts

session info:

> sessionInfo()
R version 4.4.1 (2024-06-14)
Platform: aarch64-apple-darwin20
Running under: macOS 15.0.1

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0

Random number generation:
 RNG:     L'Ecuyer-CMRG 
 Normal:  Inversion 
 Sample:  Rejection 
 
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: America/New_York
tzcode source: internal

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

other attached packages:
 [1] lubridate_1.9.4     forcats_1.0.0       stringr_1.5.1       dplyr_1.1.4        
 [5] purrr_1.0.4         readr_2.1.5         tidyr_1.3.1         tibble_3.2.1       
 [9] ggplot2_3.5.1       tidyverse_2.0.0     Cardinal_3.8.3      S4Vectors_0.44.0   
[13] ProtGenerics_1.38.0 BiocGenerics_0.52.0 BiocParallel_1.40.0 BiocManager_1.30.25

loaded via a namespace (and not attached):
 [1] generics_0.1.3     tiff_0.1-12        renv_1.1.0         bitops_1.0-9       stringi_1.8.4     
 [6] jpeg_0.1-10        lattice_0.22-6     hms_1.1.3          digest_0.6.37      magrittr_2.0.3    
[11] timechange_0.3.0   grid_4.4.1         fftwtools_0.9-11   fastmap_1.2.0      Matrix_1.7-1      
[16] ontologyIndex_2.12 matter_2.8.0       scales_1.3.0       codetools_0.2-20   abind_1.4-8       
[21] cli_3.6.3          rlang_1.1.5        CardinalIO_1.4.0   Biobase_2.66.0     EBImage_4.48.0    
[26] munsell_0.5.1      withr_3.0.2        tools_4.4.1        parallel_4.4.1     tzdb_0.4.0        
[31] colorspace_2.1-1   locfit_1.5-9.11    vctrs_0.6.5        R6_2.5.1           png_0.1-8         
[36] lifecycle_1.0.4    htmlwidgets_1.6.4  irlba_2.3.5.1      pkgconfig_2.0.3    pillar_1.10.1     
[41] gtable_0.3.6       glue_1.8.0         tidyselect_1.2.1   rstudioapi_0.17.1  htmltools_0.5.8.1 
[46] nlme_3.1-166       compiler_4.4.1     RCurl_1.98-1.16   

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions