This is a test version of Biostars. For the public version, visit https://www.biostars.org.
EBSeqHMM Error in if (max(PI.up) > PIBound) { : missing value where TRUE/FALSE needed

I am working with RNA-seq count data.

When I am using EBSeqHMM::EBSeqHMMTest function, I got an error when UpdateRd is larger than a number.

Do you know how to fix it or why it generates an error like this? Thank you!

This is the function:

EBSeqHMMTest(Data=GeneExampleData, sizeFactors=Sizes, Conditions=Conditions, UpdateRd=5)

Here is the error:

Error in if (max(PI.up) > PIBound) { : missing value where TRUE/FALSE needed

software error bioconductor r

2 answers

Error in if (max(PI.up) > PIBound) { : missing value where TRUE/FALSE needed

I don't use this program, but the meaning of error should not be too difficult to interpret. It tells you that the expression (max(PI.up) > PIBound) does not yield TRUE/FALSE as expected. That likely means that at least one of the two variables that are compared (max(PI.up) and PIBound) is not a number. That may be because PI.up contains a non-numerical value.

We can reproduce this error with this simple example, when we try to compare NA:

if(1 > NA) {"it is TRUE"} else {"it is FALSE"}

Error in if (1 > NA) { : missing value where TRUE/FALSE needed

As this if statement is within EBHMMNBMultiEM_2chain.R#L239, it is best submit an issue at GitHub.

Log in to answer this question.