pcaEcplorer PCA2go function crashing
4
0
Entering edit mode
@reubenmcgregor88-13722
Last seen 8 months ago

Hi, I am trying to run pacExplorer on Deseq2 results.

Gret programme and everything works fine until I try and use the PCA2GO function, I get the following error:

Warning: Error in [: subscript out of bounds
Stack trace (innermost first):
95: limmaquickpca2go
94: eval
93: eval
92: withProgress
91: eventReactiveHandler
71: computedPCA2GO
70: observeEventHandler
4: <Anonymous>
3: do.call
2: print.shiny.appobj
1: <Promise>

Can anyone help?

pca2go pcaexplorer • 1.3k views
0
Entering edit mode
@federico-marini-6465
Last seen 5 months ago
Germany

Hi Reuben,

Here's Federico, I am the developer of the package.

I'd need a couple of more details to help you find out the cause of the error - first I would try to reproduce it of course.

Can you provide me with some details (organism, nr of samples, ...), and send me something like a snippet of the data and/or a screenshot?

Best,

Federico

0
Entering edit mode
@reubenmcgregor88-13722
Last seen 8 months ago

Hi Federico, thank you fro replying,

I am using output from DESeq2 on human samples, with gene symbols. There are 6 samples in total, with 2 condition (eth and vitd) and looks something like this when I print normalised counts:

> normcounts <- counts(ddsMF, normalized = TRUE)
> View(normcounts)

eth1         eth2         eth3       vitd1        vitd2       vitd3
ACKR2     1.770922    0.7875534    3.1605664    2.264446    2.5471106    3.214242
ACKR3     3.541844   11.8133013   15.8028322    5.661116    0.8490369    4.285656
ACKR4     0.000000    0.7875534    0.0000000    1.132223    0.0000000    0.000000
ADA     184.175904  385.9011747  393.1744646  284.188019  410.9338507  469.279307
ADAR   1935.617911 2105.1302858 1783.1915831 1861.374916 2176.0815274 1917.830956
ADIPOQ    0.000000    0.0000000    0.6321133    0.000000    0.0000000    1.071414

I then run:

> pcaExplorer(dds=ddsMF, rlt = rld)

and you can see that things work ok with most tabs in attached image:

Thanks again,

let me know if you need any more information, just in case here is the basic session info:

R version 3.4.1 (2017-06-30)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Sierra 10.12.6

0
Entering edit mode
@federico-marini-6465
Last seen 5 months ago
Germany

I'd probably need the data to tell you more.

If you can't do this (e.g. unpublished data or so), would you please to perform the same operations on the data from the airway package?

You can do so in a quick way by picking from the code of

library(pcaExplorer)
example(pcaExplorer)


and then use the objects defined there as dds_airway and rld_airway. Then I can try to pick up on the issue.

0
Entering edit mode

I am happy to provide the data to see if you can replicate the issue, It is only a subset of the data anyway (I am carrying out the analysis on a subset of genes). Shall I email it to you?

If so which email shall I use?

In the meantime I can try the airway data.

Thank you again,

Reuben

0
Entering edit mode

You can use the email address you obtain when typing

maintainer("pcaExplorer")

Thank you for trying out in the meanwhile on the airway set.

0
Entering edit mode

Ah I see,

Done, thanks. I will run the airway set tomorrow.

0
Entering edit mode

Update: The airways data works fine with PCA2go?

0
Entering edit mode
@federico-marini-6465
Last seen 5 months ago
Germany

For the benefit of other users that could encounter the same problem:

It was indeed connected to the fact of being the dataset so small.

In the default values of limmaquickpca2go, I use a higher values for the number of genes to use in the PCA and to use for the highest loadings then the actual number of genes included in the dataset Reuben was using.

In your case, to avoid this (and another couple of issues related to AnnotationDbi::mapIds and limma::goana), you could try forcing

limmaquickpca2go(rld_reu,inputType="SYMBOL",loadings_ngenes=200,organism="Hs",pca_ngenes=500)

being rld_reu the rlog transformed object with the input Reuben was using.

To avoid the problem at all during runtime, I can recommend you to compute the pca2go object in advance, and then pass it to the function call

# dds_reu and rld_reu are created in advance
pcaExplorer(dds_reu, rld_reu, pca2go = pca2go_reu)