- else {
- STRING <- vector("list", nb.tree)
- for (i in 1:nb.tree)
- STRING[[i]] <- paste(tsp[x[i]:y[i]], sep = "", collapse = "")
+ STRING <- character(Ntree)
+ for (i in 1:Ntree)
+ STRING[i] <- paste(tree[x[i]:y[i]], sep = "", collapse = "")
+
+ tmp <- unlist(lapply(STRING, unname))
+ tmpnames <- tmp[c(TRUE, FALSE)]
+ STRING <- tmp[c(FALSE, TRUE)]
+ if (is.null(tree.names) && any(nzchar(tmpnames)))
+ tree.names <- tmpnames
+
+ colon <- grep(":", STRING)
+ if (!length(colon)) {
+ obj <- lapply(STRING, clado.build)
+ } else if (length(colon) == Ntree) {
+ obj <- lapply(STRING, tree.build)
+ } else {
+ obj <- vector("list", Ntree)
+ obj[colon] <- lapply(STRING[colon], tree.build)
+ nocolon <- (1:Ntree)[!1:Ntree %in% colon]
+ obj[nocolon] <- lapply(STRING[nocolon], clado.build)