thej022214 / OUwie

Estimates and compares rate differences of continuous character evolution under Brownian motion and a new set of Ornstein-Uhlenbeck (OU) models that allow the strength of selection and drift to vary across selective regimes.
8 stars 3 forks source link

OUwie.slice error in dimnames when timeslices=c(NA) AND root.station=FALSE #4

Closed mpnelsen closed 4 years ago

mpnelsen commented 6 years ago

Hi,

I'm trying to run the OUwie.slice example under the BMS model with an unknown timeslice AND the root.station set to FALSE (per recommendations accompanying the function), and it's killing right near the end with an error in the dimnames. It works fine when root.state=TRUE, though, OR if I specify a timeslice age (w root.station=FALSE). I'm running OUwie 1.50:

data(tworegime) ppBM<-OUwie.slice(tree,trait[,c(1,3)],model=c("BMS"), root.station=FALSE, timeslices=c(NA)) Initializing... Finished. Begin thorough search... Finished. Summarizing results. Error in dimnames(x) <- dn : length of 'dimnames' [2] not equal to array extent

Traceback yields:

traceback() 2: colnames<-(*tmp*, value = c(colnames(phy.sliced$mapped.edge))) 1: OUwie.slice(tree, trait[, c(1, 3)], model = c("BMS"), root.station = FALSE, timeslices = c(NA))

If I add diagn=TRUE, I get: Error in dimnames(x) <- dn : length of 'dimnames' [2] not equal to array extent In addition: There were 50 or more warnings (use warnings() to see the first 50)

warnings() Warning messages: 1: In timeslices[timeslices == 0] <- non.estimated.slices : number of items to replace is not a multiple of replacement length 2: In make.era.map(phy, timeslices) : last value in limits should be less than the total tree height.

Any thoughts on where the problem might be? Thanks for any help! -Matt.

thej022214 commented 4 years ago

OUwie.slice has been removed and is currently being thoroughly tested to see if parameters are even identifiable under this model.