From 2e7fdb027f189e7c8eb771dadaf195c43bd41d5f Mon Sep 17 00:00:00 2001 From: paradis Date: Thu, 16 Jun 2011 03:02:16 +0000 Subject: [PATCH] various updates for ape 2.7-2 (fixed) git-svn-id: https://svn.mpl.ird.fr/ape/dev/ape@160 6e262413-ae40-0410-9e79-b911bd7a66b7 --- DESCRIPTION | 4 +- NEWS | 22 ++++++++- R/compar.gee.R | 13 +++++- R/dist.topo.R | 13 ++++-- R/diversi.time.R | 2 +- R/evonet.R | 103 +++++++++++++++++++++++++++++++++++++++++ R/plot.phylo.R | 6 +-- R/rTrait.R | 38 +++++++++++++++ R/rotate.R | 7 +-- data/bird.families.R | 2 - data/bird.families.rda | Bin 0 -> 2509 bytes data/bird.families.tre | 54 --------------------- data/bird.orders.R | 2 - data/bird.orders.rda | Bin 0 -> 567 bytes data/bird.orders.tre | 10 ---- data/cynipids.R | 3 -- data/cynipids.rda | Bin 0 -> 721 bytes data/cynipids.txt | 44 ------------------ data/woodmouse.R | 2 - data/woodmouse.rda | Bin 0 -> 1160 bytes data/woodmouse.txt | 16 ------- man/boot.phylo.Rd | 9 ++-- man/compar.gee.Rd | 6 +++ man/evonet.Rd | 70 ++++++++++++++++++++++++++++ man/plot.phylo.Rd | 4 +- man/rotate.Rd | 4 +- man/yule.Rd | 2 +- 27 files changed, 280 insertions(+), 156 deletions(-) create mode 100644 R/evonet.R delete mode 100644 data/bird.families.R create mode 100644 data/bird.families.rda delete mode 100644 data/bird.families.tre delete mode 100644 data/bird.orders.R create mode 100644 data/bird.orders.rda delete mode 100644 data/bird.orders.tre delete mode 100644 data/cynipids.R create mode 100644 data/cynipids.rda delete mode 100644 data/cynipids.txt delete mode 100644 data/woodmouse.R create mode 100644 data/woodmouse.rda delete mode 100644 data/woodmouse.txt create mode 100644 man/evonet.Rd diff --git a/DESCRIPTION b/DESCRIPTION index 5ac5ac7..6284419 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: ape -Version: 2.7-2 -Date: 2011-06-01 +Version: 2.7-3 +Date: 2011-06-14 Title: Analyses of Phylogenetics and Evolution Author: Emmanuel Paradis, Ben Bolker, Julien Claude, Hoa Sien Cuong, Richard Desper, Benoit Durand, Julien Dutheil, Olivier Gascuel, Christoph Heibl, Daniel Lawson, Vincent Lefort, Pierre Legendre, Jim Lemon, Yvonnick Noel, Johan Nylander, Rainer Opgen-Rhein, Klaus Schliep, Korbinian Strimmer, Damien de Vienne Maintainer: Emmanuel Paradis diff --git a/NEWS b/NEWS index f80ec46..0bc5340 100644 --- a/NEWS +++ b/NEWS @@ -1,9 +1,23 @@ + CHANGES IN APE VERSION 2.7-3 + + +NEW FEATURES + + o There is a new predict() method for compar.gee(). + + + CHANGES IN APE VERSION 2.7-2 NEW FEATURES - o plot.phylo() has a new option 'draw = TRUE'. If FALSE, the tree + o There is a new class "evonet" to code evolutionary networks, with + a constructor function evonet(), a print() and a plot() methods, + and four conversion methods to the classes "phylo", "networx", + "network", and "igraph". + + o plot.phylo() has a new option 'plot = TRUE'. If FALSE, the tree is not plotted but the graphical device is set and the coordinates are saved as usual. @@ -13,6 +27,9 @@ NEW FEATURES o add.scale.bar() has two new options, 'lwd' and 'lcol', to modify the aspect of the bar. + o boot.phylo() now displays a progress bar by default (can be off + if 'quiet = TRUE'). + BUG FIXES @@ -23,6 +40,9 @@ BUG FIXES o read.nexus.data() failed with URLs. + o boot.phylo() returned overestimated support values in the + presence of identical or nearly identical sequences. + CHANGES IN APE VERSION 2.7-1 diff --git a/R/compar.gee.R b/R/compar.gee.R index 8c9bf86..1df2107 100644 --- a/R/compar.gee.R +++ b/R/compar.gee.R @@ -1,4 +1,4 @@ -## compar.gee.R (2010-07-20) +## compar.gee.R (2011-06-14) ## Comparative Analysis with GEEs @@ -80,6 +80,7 @@ compar.gee <- QIC = QIC, coefficients = geemod$coefficients, residuals = geemod$residuals, + fitted.values = MU, family = geemod$family$family, link = geemod$family$link, scale = geemod$scale, @@ -151,3 +152,13 @@ you should be careful when interpreting the significance of the main effects.") as.character(as.expression(fm)), "\n") ans } + +predict.compar.gee <- + function(object, type = c("link", "response"), ...) +{ + type <- match.arg(type) + pred <- object$fitted.values + if (type == "link") return(pred) + f <- match.fun(object$family) + f(link = object$link)$linkinv(pred) +} diff --git a/R/dist.topo.R b/R/dist.topo.R index e192f4f..455107e 100644 --- a/R/dist.topo.R +++ b/R/dist.topo.R @@ -1,4 +1,4 @@ -## dist.topo.R (2011-03-26) +## dist.topo.R (2011-06-14) ## Topological Distances, Tree Bipartitions, ## Consensus Trees, and Bootstrapping Phylogenies @@ -184,7 +184,8 @@ prop.clades <- function(phy, ..., part = NULL) n } -boot.phylo <- function(phy, x, FUN, B = 100, block = 1, trees = FALSE) +boot.phylo <- function(phy, x, FUN, B = 100, block = 1, + trees = FALSE, quiet = FALSE) { if (is.list(x) && !is.data.frame(x)) { if (inherits(x, "DNAbin")) x <- as.matrix(x) @@ -198,6 +199,7 @@ boot.phylo <- function(phy, x, FUN, B = 100, block = 1, trees = FALSE) } } boot.tree <- vector("list", B) + if (!quiet) progbar <- utils::txtProgressBar(style = 3) # suggestion by Alastair Potts for (i in 1:B) { if (block > 1) { y <- seq(block, ncol(x), block) @@ -208,11 +210,14 @@ boot.phylo <- function(phy, x, FUN, B = 100, block = 1, trees = FALSE) boot.samp[y - j] <- boot.i - j } else boot.samp <- sample(ncol(x), replace = TRUE) boot.tree[[i]] <- FUN(x[, boot.samp]) + if (!quiet) utils::setTxtProgressBar(progbar, i/B) } + if (!quiet) close(progbar) for (i in 1:B) storage.mode(boot.tree[[i]]$Nnode) <- "integer" storage.mode(phy$Nnode) <- "integer" - ans <- attr(.Call("prop_part", c(list(phy), boot.tree), - B + 1, FALSE, PACKAGE = "ape"), "number") - 1 + ans <- prop.clades(phy, boot.tree) + ##ans <- attr(.Call("prop_part", c(list(phy), boot.tree), + ## B + 1, FALSE, PACKAGE = "ape"), "number") - 1 if (trees) { class(boot.tree) <- "multiPhylo" ans <- list(BP = ans, trees = boot.tree) diff --git a/R/diversi.time.R b/R/diversi.time.R index 59c29c8..2ed49b0 100644 --- a/R/diversi.time.R +++ b/R/diversi.time.R @@ -64,7 +64,7 @@ diversi.time <- function(x, census = NULL, censoring.codes = c(1, 0), cat(" log-likelihood =", round(loglik.B, 3), " AIC =", round(-2 * loglik.B + 4, 3), "\n") cat(" alpha =", round(alpha, 6), " StdErr =", round(sqrt(var.alpha), 6), "\n") - cat(" beta =", round(beta, 6), " StdErr =", round(sqrt(var.beta), 6), "\n\n") + cat(" beta =", round(beta, 6), " StdErr =", round(sqrt(var.beta), 6), "\n\n") cat("Model C: diversification changes with a breakpoint at time =", Tc, "\n") cat(" log-likelihood =", round(loglik.C, 3), " AIC =", round(-2 * loglik.C + 4, 3), "\n") diff --git a/R/evonet.R b/R/evonet.R new file mode 100644 index 0000000..9dbaaa3 --- /dev/null +++ b/R/evonet.R @@ -0,0 +1,103 @@ +## evonet.R (2011-06-09) + +## Evolutionary Networks + +## Copyright 2011 Emmanuel Paradis + +## This file is part of the R-package `ape'. +## See the file ../COPYING for licensing issues. + +evonet <- function(phy, from, to = NULL) +{ + if (!inherits(phy, "phylo")) + stop('object "phy" is not of class "phylo".') + if (!is.rooted(phy)) + warning("the tree is unrooted") + x <- phy + + if (is.null(to)) { + if (is.data.frame(from)) + from <- as.matrix(from) + if (!is.matrix(from)) + stop("'from' must be a matrix or a data frame if 'to' is not given") + if (ncol(from) > 2) { + warning("'from' has more than two columns: only the first two will be used.") + ret <- from[, 1:2] + } else if (ncol(from) < 2) { + stop("'from' must have at least two columns") + } else ret <- from + } else { + from <- as.vector(from) + to <- as.vector(to) + if (length(from) != length(to)) + stop("'from' and 'to' not of the same length after coercing as vectors") + ret <- cbind(from, to) + } + + ## check that values are not out of range: + storage.mode(ret) <- "integer" + if (any(is.na(ret))) + stop("some values are NA's after coercing as integers") + if (any(ret < 0) || any(ret > Ntip(phy) + phy$Nnode)) + stop("some values are out of range") + + x$reticulation <- ret + class(x) <- c("evonet", "phylo") + x +} + +as.phylo.evonet <- function(x, ...) +{ + x$reticulation <- NULL + class(x) <- "phylo" + x +} + +plot.evonet <- function(x, col = "blue", lty = 1, lwd = 1, alpha = 0.5, + arrows = 0, arrow.type = "classical", ...) +{ + plot.phylo(as.phylo(x), ...) + ape::edges(x$reticulation[, 1], x$reticulation[, 2], + col = rgb(t(col2rgb(col)), alpha = 255 * alpha, + maxColorValue = 255), lty = lty, lwd = lwd, + arrows = arrows, type = arrow.type) +} + +as.networx.evonet <- function(x, weight = NA, ...) +{ + if (any(x$reticulation <= Ntip(x))) + stop("some tips are involved in reticulations: cannot convert to \"networx\"") + x <- reorder(x, "p") + ned <- Nedge(x) + nrt <- nrow(x$reticulation) + x$edge <- rbind(x$edge, x$reticulation) + colnames(x$edge) <- c("oldNodes", "newNodes") + x$reticulation <- NULL + x$edge.length <- c(x$edge.length, rep(weight, length.out = nrt)) + x$split <- c(1:ned, 1:nrt) + class(x) <- c("networx", "phylo") + x +} + +as.network.evonet <- function(x, directed = TRUE, ...) +{ + class(x) <- NULL + x$edge <- rbind(x$edge, x$reticulation) + as.network.phylo(x, directed = directed, ...) +} + +as.igraph.evonet <- function(x, directed = TRUE, use.labels = TRUE, ...) +{ + class(x) <- NULL + x$edge <- rbind(x$edge, x$reticulation) + as.igraph.phylo(x, directed = directed, use.labels = use.labels, ...) +} + +print.evonet <- function(x, ...) +{ + nr <- nrow(x$reticulation) + cat("\n Evolutionary network with", nr, "reticulation") + if (nr > 1) cat("s") + cat("\n\n --- Base tree ---") + print.phylo(as.phylo(x)) +} diff --git a/R/plot.phylo.R b/R/plot.phylo.R index 88380ff..da5ebec 100644 --- a/R/plot.phylo.R +++ b/R/plot.phylo.R @@ -1,4 +1,4 @@ -## plot.phylo.R (2011-03-29) +## plot.phylo.R (2011-06-14) ## Plot Phylogenies @@ -15,7 +15,7 @@ plot.phylo <- adj = NULL, srt = 0, no.margin = FALSE, root.edge = FALSE, label.offset = 0, underscore = FALSE, x.lim = NULL, y.lim = NULL, direction = "rightwards", lab4ut = "horizontal", - tip.color = "black", draw = TRUE, ...) + tip.color = "black", plot = TRUE, ...) { Ntip <- length(x$tip.label) if (Ntip == 1) { @@ -280,7 +280,7 @@ plot.phylo <- asp <- if (type %in% c("fan", "radial", "unrooted")) 1 else NA # fixes by Klaus Schliep (2008-03-28 and 2010-08-12) plot(0, type = "n", xlim = x.lim, ylim = y.lim, ann = FALSE, axes = FALSE, asp = asp, ...) -if (draw) { +if (plot) { if (is.null(adj)) adj <- if (phyloORclado && direction == "leftwards") 1 else 0 if (phyloORclado && show.tip.label) { diff --git a/R/rTrait.R b/R/rTrait.R index ec055dc..2c18d09 100644 --- a/R/rTrait.R +++ b/R/rTrait.R @@ -132,3 +132,41 @@ rTraitCont <- } x } + +rTraitMult <- + function(phy, model, p = 1, root.value = rep(0, p), ancestor = FALSE, + as.factor = NULL, ...) +{ + phy <- reorder(phy, "pruningwise") + n <- length(phy$tip.label) + m <- phy$Nnode + N <- dim(phy$edge)[1] + ROOT <- n + 1L + + x <- matrix(0, n + m, p) + x[ROOT, ] <- root.value + + anc <- phy$edge[, 1] + des <- phy$edge[, 2] + + el <- phy$edge.length + if (is.null(el)) el <- numeric(N) + + for (i in N:1) x[des[i], ] <- model(x[anc[i], ], el[i], ...) + + if (ancestor) { + if (is.null(phy$node.label)) phy <- makeNodeLabel(phy) + rownames(x) <- c(phy$tip.label, phy$node.label) + } else { + x <- x[1:n, , drop = FALSE] + rownames(x) <- phy$tip.label + } + x <- as.data.frame(x) + if (!is.null(as.factor)) { + for (i in as.factor) { + y <- x[, i] + x[, i] <- factor(y, labels = LETTERS[1:length(unique(y))]) + } + } + x +} diff --git a/R/rotate.R b/R/rotate.R index 9a59d96..2ea8480 100644 --- a/R/rotate.R +++ b/R/rotate.R @@ -1,5 +1,5 @@ ### ROTATE -### Last update CH on 09.08.2007 +### Last update CH on 09.08.2007 (updated by EP 2011-06-14) # Contents: # 1. rotate @@ -119,7 +119,8 @@ else { phy$edge.length <- c(phy$edge.length[c3:c4], phy$edge.length[(c2+1):(c3-1)], phy$edge.length[c1:c2]) } } - S <- write.tree(phy) - phy <- if (!with.br.length) clado.build(S) else tree.build(S) + ## deleted by EP (2011-06-14): + ## S <- write.tree(phy) + ## phy <- if (!with.br.length) clado.build(S) else tree.build(S) phy } diff --git a/data/bird.families.R b/data/bird.families.R deleted file mode 100644 index 5ec39df..0000000 --- a/data/bird.families.R +++ /dev/null @@ -1,2 +0,0 @@ -require(ape, quietly = TRUE) -bird.families <- read.tree("bird.families.tre") diff --git a/data/bird.families.rda b/data/bird.families.rda new file mode 100644 index 0000000000000000000000000000000000000000..981641562f20fe21f2de1bd7c99a5acd3a6a89c7 GIT binary patch literal 2509 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 XMsC|zzZsc#3P{Z9|Qevlh^`Jz~-FRNvoW zIB>?S6YaPdFQ^Q&$&l^Ofy#K8aA`p1>^n(m!}XuFWgB1h`ewIB`Leh1Tv+|D(z5;( z{!e;+p4pw_JkR<)jk8}M{uuS1ALe;QzV+i-zU;kGIj@fT-Ljqa-C0M!skOc%Z|~!@ z-%se-{gT(8_1Q%{p1HNR4>1>X{zcs`^ut=epr`0l=qu*zLSJFAKkVc!(P7CqU!Scy zoORzD`$fQ;NP5M?aw_6Z=nVa^_@{JaC-kFn8t}?)NZ%KgXU;hI5K0{FlYd3&LP(?q F000ERA_@Qi literal 0 HcmV?d00001 diff --git a/data/bird.orders.tre b/data/bird.orders.tre deleted file mode 100644 index 46ea393..0000000 --- a/data/bird.orders.tre +++ /dev/null @@ -1,10 +0,0 @@ -(((Struthioniformes:21.8,Tinamiformes:21.8):4.1, -((Craciformes:21.6,Galliformes:21.6):1.3,Anseriformes:22.9):3.0):2.1, -(Turniciformes:27.0,(Piciformes:26.3,((Galbuliformes:24.4, -((Bucerotiformes:20.8,Upupiformes:20.8):2.6, -(Trogoniformes:22.1,Coraciiformes:22.1):1.3):1.0):0.6, -(Coliiformes:24.5,(Cuculiformes:23.7,(Psittaciformes:23.1, -(((Apodiformes:21.3,Trochiliformes:21.3):0.6, -(Musophagiformes:20.4,Strigiformes:20.4):1.5):0.6, -((Columbiformes:20.8,(Gruiformes:20.1,Ciconiiformes:20.1):0.7):0.8, -Passeriformes:21.6):0.9):0.6):0.6):0.8):0.5):1.3):0.7):1.0); diff --git a/data/cynipids.R b/data/cynipids.R deleted file mode 100644 index f5691b5..0000000 --- a/data/cynipids.R +++ /dev/null @@ -1,3 +0,0 @@ -require(ape, quietly = TRUE) -cynipids <- read.nexus.data("cynipids.txt") - diff --git a/data/cynipids.rda b/data/cynipids.rda new file mode 100644 index 0000000000000000000000000000000000000000..d0e814a4c6ec0876cd5ef84cde5a6eaa71ba44e2 GIT binary patch literal 721 zcmV;?0xta@iwFP!000001MQmKYTGarfYoe+t}w{xc2V{WyV)CT^Z~+l)4QP9jw|fg zj;uK3Y4)aL3RDNo*Mv6YrzE;iIMw-+j_fa|YJcB9{J43zQA!Qe;FJG+=f(E}|8eEV zM?bEURb?8JwqAL={@IVAAAg_pS7i|LAT&Xk2Eha&2|@OI78VEM_D!&#Qw?3)OV9v8ZJ4 ze4=>n1_HCMHs_+dhR`9Ps2*{Y1#DzH7RGZJ7ZAjqZ?1TeKRh@QQUsi1#=%Q+$>L@2 z1+w?HvrjxrF;<8(L!1l5a|hKi@ywkP&nzb2vn>T@uJgdNRDSPx=JONrtRkL8^=dqm zd9iy|2k4%;!F_elT-d9+=PdX3LQ^BmkG zp4CyhXNi2c%MAmYh-Ve?+{3dt?bbaL&n$Dqv)UEU=g~d01$g^-j(5+`=A!!+Jo79f zo>jcu=($HcKfADqXLX{x=a=BwAVtKpig@lF@*BZ3e^=T%&`v${k)e-FZLch5Xz4X@Zet6lN@lDlUSh-U-$li-<$d&zj-SNAN!Y4J=To&DXj z#>^h^-21=i50#!}>zHe1Uq4NL{iW@scBV3VTw7h4tZGe2eD`NnWj0^5<6M`e&YF5= zrnQ}k!Ix2HO;VcHd7FuMPn`*ec{|dT%Sw}Z&+)`0byfTIH?^~M^5`Asi_9jA z)|4iZ$e({!sSoY7$-;KpiSJMpMeQTokZyQynzAml#0+|AMe`Xf^Q|q<%dIWyM-`;1JWEr^ zv&&144e3uj&eAe$N@X(FmZu9D=MBV3jBjaT^G*67b_cDZvQHAu92@FWh5lXVrIn$X z*cFCV%vQyO1(9WyqnSbmhH>t;uup+AGkv1aGpSHJ7>#~?={%U(nHwrOOKK#BB2J-1 za~E}7ZcWaeGZ)UkBz?CBtb zlsYJBC4uxbMd~kKbRHOtik&6Qk{T?IwCmBi6K8&c8dif%lAReDOH# zy0ml=MrVJzKW+g0^-Us8jGWv#en?3{)X z(M=i#iJ&B%hhS=M#-uX4+!UrDIZO1Jpri)ZWs{U-zQ$J))~iODbmqE}k~~O~&Neo@ zL+@$mf-5C4=l!}2((FpoNd%b!&m^ZZyA9{Dv8K?73$|Pz%1B+19i7=Yl{C)-S7_@{ zMN@ICq_dQHL{oNjPS4{oW**T!HiZkZnan&`QeA#c^)NEKtmGbz>+&#+D-bWl^hbbR z9hPsmnN&=0xX_;7d1R9?ON9o8KQzgir86L&%!rv&2Xm1}4bHeAze^8>fel*>V#G~hkbJ?eQM9+`qPu(P5fk({mw2mFQc{{&DRz%)41mmoFPxd% z?GcB~lZsI>K~_>gH3XSquz50Q>Ei==XU~pYG!LjCPij-M$=DNGmkMw&W0P9M- zV+y6@=I%?V*qOU;Vm+h6sMuL*nM9CH!psy{oB`PpM&7#%Ym0?-7aglpcb9f|5$u}( zRXn`Cf2hBlH2=<+W$)_m{539bYL~~Ghr6fx{6p*ae&yTjA6?B)i;vyKS$A>XE?!^F zi_7BtTd=$cmzTkET7=74xIFDFr_&->7R9GvcY4-c&Wc&MJP(%*s%Im^(T|@uPfsoP a^*3LAx%&M5{&D4=J^usp)0mJPIsgD#Z#)_R literal 0 HcmV?d00001 diff --git a/data/woodmouse.txt b/data/woodmouse.txt deleted file mode 100644 index 117934b..0000000 --- a/data/woodmouse.txt +++ /dev/null @@ -1,16 +0,0 @@ -15 965 -No305 NTTCGAAAAACACACCCACTACTAAAANTTATCAGTCACTCCTTCATCGACTTACCAGCTCCATCTAACATTTCATCATGATGAAACTTCGGCTCATTACTAGGAGTCTGCCTAATAATCCAAATCCTCACAGGCTTATTCCTAGCAATACACTACACATCAGACACAATAACAGCATTCTCTTCAGTAACCCATATTTGTCGAGACGTAAATTATGGCTGACTAATTCGATACATACATGCAAACGGAGCCTCAATATTTTTTATTTGCCTATTTCTTCATGTAGGACGAGGAATGTATTACGGGTCATACATTTTCATAGAAACATGAAACATCGGTGTGGTCCTTTTATTCGCAGTAATAGCCACAGCATTCATAGGATATGTTCTTCCATGAGGACAAATATCCTTCTGAGGAGCTACAGTAATTACAAANTTACTATCAGCAATTCCATACATCGGAACTACCCTAGTAGAGTGAATCTGAGGAGGATTCTCAGTAGACAAAGCCACACTGACACGTTTTTTCGCTTTTCACTTTATCCTTCCATTTATCATTGCCGCCCTAGTAATTGTCCACCTCTTGTTTCTCCATGAAACTGGATCTAATAACCCAACAGGCCTTAACTCAGACGCCGATAAAATCCCATTTCACCCTTACTATACAATTAAAGATATTCTAGGTGTACTAATAATAGTTTCCTTCCTAATAACTTTAGTCCTTTTCTTTCCAGACCTTTTAGGTGACCCGGACAACTACATGCCTGCTAACCCACTTAACACCCCACCTCATATTAAACCAGAATGATATTTCCTATTTGCCTATGCAATCCTACGATCCATCCCCAATAAACTAGGCGGAGTCCTAGCCCTAATTCTATCAATCTTAATTTTAGCCTTATTACCATTTCTTCACACTTCCAAACAACGCAGCCTAATATTCCGCCCAATTACTCAGACCCTATA -No304 ATTCGAAAAACACACCCACTACTAAAAATTATCAACCACTCCTTCATCGACTTACCAGCTCCATCTAACATTTCATCATGATGAAACTTCGGCTCATTACTAGGAATCTGCCTAATAATCCAAATCCTCACAGGCTTATTCCTAGCAATACACTACACATCAGACACAATAACAGCATTCTCTTCAGTAACCCATATTTGTCGAGACGTAAATTATGGCTGACTAATTCGATATATACATGCAAACGGAGCCTCAATATTTTTTATTTGCCTATTTCTTCATGTAGGACGAGGAATGTATTACGGGTCATACATTTTTATAGAAACATGAAACATCGGTGTAGTCCTTTTATTCGCAGTAATAGCCACAGCATTCATAGGATATGTTCTTCCATGAGGACAAATATCCTTCTGAGGAGCTACAGTAATTNCAAATTTACTNTCAGCAATTCCATACATCGGAACTACCCTAGTAGAATGAATCTGAGGAGGATTCTCAGTAGACAAAGCTACATTGACACGTTTTTTCGCTTTTCACTTCATCCTTCCATTTATCATTGCCGCCCTAGTAATTGTTCACCTCTTGTTTCTCCATGAAACTGGATCTAATAACCCAACAGGCCTTAACTCAGACGCCGATAAAATCCCATTTCACCCTTACTATACAATTAAAGATATTCTAGGTGTACTAATAATAGTTTCCTTCCTAATAACTCTAGTCCTTTTCTTTCCAGACCTTTTAGGTGACCCGGACAACTACATGCCTGCTAACCCACTTAACACCCCACCTCATATTAAACCAGAATGATACTTCCTATTTGCCTATGCAATCCTACGGTCCATCCCCAATAAACTAGGCGGAGTCCTAGCCCTAATTCTATCAATCTTAATTTTAGCCTTATTACCATTTCTTCACACTTCCAAACAACGCAGCCTAATATTCCGCCCAATTACTCAAACCCTGTN -No306 ATTCGAAAAACACACCCACTACTAAAAATTATCAATCACTCCTTCATCGACTTACCAGCTCCATCTAACATTTCATCATGATGAAACTTCGGCTCATTACTAGGAATCTGCCTAATAATCCAAATCCTCACAGGCTTATTCCTAGCAATACACTACACATCAGACACAATAACAGCATTCTCTTCAGTAACCCATATTTGTCGAGACGTAAATTATGGCTGACTAATTCGATATATACATGCAAACGGAGCCTCAATATTTTTTATTTGCCTATTTCTTCATGTAGGACGAGGAATGTATTACGGGTCATACATTTTTATAGAAACATGAAACATCGGTGTGATCCTTTTATTCGCAGTAATAGCCACAGCATTCATAGGATATGTTCTTCCATGAGGACAAATATCCTTCTGAGGAGCTACAGTAATTACAAATTTACTATCAGCAATTCCATACATCGGAACTACCCTAGTAGAATGAATCTGAGGAGGATTCTCAGTAGACAAAGCTACATTGACACGTTTTTTCGCTTTTCACTTCATCCTTCCATTTATCATTGCCGCCCTAGTAATTGTTCACCTCTTGTTTCTCCATGAAACTGGATCTAATAACCCAACAGGCCTTAACTCAGACGCCGATAAAATCCCATTTCACCCTTACTATACAATTAAAGATATTCTAGGTGTACTAATAATAGTTTCCTTCCTAATAACTTTAGTCCTTTTCTTTCCAGACCTTTTAGGTGACCCGGACAACTACATGCCTGCTAACCCACTTAACACCCCACNNCATATTAAACCAGAATGATACTTCCTATTTGCCTATGCAATCCTACGGTCCATCCCCAATAAACTAGGCGGAGTCCTAGCCCTAATTCTATCAATCTTAATTTTAGCCTTATTACCATTTCTTCACACTTCCAAACAACGCAGCCTAATATTCCGCCCAATTACTCAAACCCTATA -No0906S ATTCGAAAAACACACCCACTACTAAAAATCATCAATCACTCCTTCATCGATTTACCAGCTCCATCTAACATTTCATCATGATGAAACTTCGGCTCATTACTAGGAATCTGCCTAATAATCCAAATCCTCACAGGCTTATTCCTAGCAATACACTACACATCAGACACAATAACAGCATTCTCTTCAGTAACCCATATTTGTCGAGACGTAAATTATGGCTGACTAATTCGATATATACATGCAAACGGAGCCTCAATATTTTTTATTTGCCTATTTCTTCATGTAGGACGAGGAATGTATTACGGATCATACATTTTTATAGAAACATGAAACATCGGTATGATCCTTTTATTCGCAGTAATAGCCACAGCATTCATAGGATATGTTCTTCCATGAGGACAAATATCCTTCTGAGGAGCTACAGTAATTACAAATTTACTATCAGCAATTCCATACATCGGAACTACCCTAGTAGAGTGAATCTGAGGAGGATTCTCAGTAGACAAAGCTACATTGACACGTTTTTTCGCTTTTCACTTCATCCTTCCATTTATCATTGCCGCCCTAGTAATTGTTCACCTCTTGTTTCTCCATGAAACTGGATCTAATAACCCAACAGGCCTTAACTCAGACGCCGATAAAATCCCATTTCACCCTTACTATACAATTAAAGATATTCTAGGTGTACTAATAATAATTTCCTTCCTAATAACTTTAGTCCTTTTCTTTCCAGACCTTTTAGGTGACCCGGACAACTACATGCCTGCTAACCCACTTAACACCCCACCTCATATTAAACCAGAATGATACTTCCTATTTGCCTATGCAATCCTACGATCCATCCCCAATAAACTAGGCGGAGTCCTAGCCCTAATTCTATCAATCTTAATTTTAGCCTTATTACCATTTCTTCACACTTCCAAACAACGCAGCCTAATATTCCGCCCAATTACTCAAATACNNNN -No0908S ATTCGAAAAACACACCCACTACTAAAAATTATCAATCACTCCTTCATCGACTTACCAGCCCCATCTAACATTTCATCATGATGAAACTTCGGCTCATTACTAGGAATCTGCCTAATAATCCAAATCCTCACAGGCTTATTCCTAGCAATACACTACACATCAGACACAATAACAGCATTCTCTTCAGTAACCCATATTTGTCGAGACGTAAATTATGGCTGACTAATTCGATATATACATGCAAACGGAGCCTCAATATTTTTTATTTGCCTATTTCTCCATGTAGGACGAGGAATGTATTACGGGTCATACATTTTTATAGAAACATGAAACATCGGTGTGATCCTTTTATTCGCAGTAATAGCCACAGCATTCATAGGATATGTTCTTCCATGAGGACAAATATCCTTCTGAGGGGCTACAGTAATTACAAATTTACTATCAGCAATTCCATATATCGGAACTACCCTAGTAGAGTGAATCTGAGGAGGATTCTCAGTAGACAAAGCTACATTGACACGTTTTTTCGCTTTTCACTTCATCCTCCCATTTATCATTGCCGCCCTAGTAATTGTTCACCTCTTGTTTCTCCATGAAACTGGATCTAATAACCCAACAGGCCTTAACTCAGACGCCGATAAAATCCCATTTCACCCTTACTATACAATTAAAGATATTCTAGGTGTACTAATAATAGTTTCCTTCCTAATAACTTTAGTCCTTTTCTTTCCAGACCTTTTAGGTGACCCGGACAACTACATGCCTGCTAACCCACTTAACACCCCACCTCATATTAAACCAGAATGATACTTCCTATTTGCCTATGCAATCCTACGATCCATCCCCAATAAACTAGGCGGAGTCCTAGCCCTAATTCTATCAATCTTAATTTTAGCCTTATTACCATTTCTTCACACTTCCAAACAACGCAGCCTAATATTCCGCCCAATTACTCAAACCCNNNN -No0909S ATTCGAAAAACACACCCACTACTAAAAATTATCAATCACTCCTTCATCGACTTACCAGCTCCATCTAACATCTCATCATGATGAAACTTCGGCTCCTTACTAGGAATCTGCCTAATAATCCAAATCCTCACAGGCTTATTCCTAGCAATACACTACACATCAGACACAATAACAGCATTCTCTTCAGTAACCCATATTTGTCGAGACGTAAACTATGGCTGACTAATTCGATATATACATGCAAACGGAGCCTCAATATTTTTTATTTGCCTATTTCTTCATGTAGGACGAGGAATGTATTACGGGTCATACACTTTCATAGAAACATGAAACATCGGTGTGATCCTTCTATTCGCAGTAATAGCCACAGCATTCATAGGATATGTTCTTCCATGAGGACAAATATCCTTCTGAGGAGCTACAGTAATTACAAATTTACTATCAGCAATTCCATACATCGGGACTACCCTAGTAGAGTGAATCTGAGGAGGATTCTCAGTAGACAAAGCTACATTGACACGTTTTTTCGCTTTTCACTTTATCCTTCCATTTATCATTGCCGCCCTAGTAATTGTTCACCTCTTGTTTCTCCATGAAACTGGATCTAATAACCCAACAGGCCTTAACTCAGACGCCGATAAAATCCCATTTCACCCTTACTATACAATTAAAGATATTCTAGGTGTACTAATAATAGTTTCCTTCCTAATAACTTTAGTCCTTTTCTTTCCAGACCTTTTAGGTGACCCGGACAACTACATGCCTGCTAACCCACTTAACACCCCACCTCATATTAAACCAGAATGATACTTCCTATTTGCCTATGCAATCCTACGATCCATCCCCAATAAACTAGGCGGAGTCCTAGCCCTAATCCTATCAATCTTAATTTTAGCCTTATTACCATTTCTTCACACTTCCAAACAACGCAGCCTAATATTCCGCCCAATTACTCAAACCCNNNN -No0910S ATTCGAAAAACACACCCACTACTAAAAATTATCAATCACTCTTTCATCGATTTACCAGCTCCATCTAACATTTCATCATGATGAAACTTCGGCTCATTACTAGGAATCTGCCTAATAATCCAGATCCTCACAGGCTTATTCCTAGCAATACACTACACATCAGACACAATAACAGCATTCTCTTCAGTAACCCATATTTGTCGAGACGTAAATTATGGCTGACTAATTCGATATATACATGCAAACGGAGCCTCAATATTTTTTATTTGCCTATTTCTTCATGTAGGACGAGGAATGTATTACGGATCATACATTTTTATAGAAACATGAAACATCGGTGTGATCCTTTTATTCGCAGTAATAGCCACAGCATTCATAGGATATGTTCTTCCATGAGGACAAATATCCTTCTGAGGAGCTACAGTAATTACAAATTTACTATCAGCAATTCCATACATCGGAACTACCCTAGTAGAGTGAATCTGAGGAGGATTCTCAGTAGACAAAGCTACATTGACACGTTTTTTCGCTTTTCACTTCATCCTTCCATTTATCATTGCCGCCCTAGTAATTGTTCACCTCTTGTTTCTCCATGAAACTGGATCTAATAACCCAACAGGCCTTAACTCAGACGCCGATAAAATCCCATTTCACCCTTACTATACAATTAAAGATATTCTAGGCGTACTAATAATAGTTTCCTTCCTAATAACTTTAGTCCTTTTCTTTCCAGACCTTTTAGGTGACCCGGACAACTACATGCCTGCTAACCCACTTAACACCCCACCTCATATTAAACCAGAATGATACTTCCTATTTGCCTATGCAATCCTACGATCCATCCCCAATAAACTAGGCGGAGTCCTAGCCCTAATTCTATCAATCTTAATTTTAGCCTTATTACCATTTCTTCACACTTGCAAACAACGCAGCCTAATATTCCGCCCAATTACTCAAACCCNNNN -No0912S ATTCGAAAAACACACCCACTACTAAAAATTATCAATCACTCCTTCATCGACTTACCAGCTCCATCTAACATCTCATCATGATGAAACTTCGGCTCCTTACTAGGAATCTGCCTAATAATCCAAATCCTCACAGGCTTATTCCTAGCAATACACTACACATCAGACACAATAACAGCATTCTCTTCAGTAACCCATATTTGTCGAGACGTAAATTATGGCTGACTAATTCGATATATACATGCAAACGGAGCCTCAATATTTTTTATTTGCCTATTTCTTCATGTAGGACGGGGAATGTATTACGGGTCATACATTTTCATAGAAACATGAAACATCGGTGTGATCCTTTTATTCGCAGTAATAGCCACAGCATTCATAGGATATGTTCTTCCATGAGGACAAATATCCTTCTGAGGAGCTACAGTAATTACAAATTTACTATCAGCAATTCCATACATCGGAACTACCCTAGTAGAGTGAATCTGAGGAGGATTCTCAGTAGACAAAGCTACATTGACACGTTTTTTCGCTTTCCACTTCATCCTTCCATTTATCATTGCCGCCCTAGTAATTGTTCACCTCTTGTTTCTCCATGAAACTGGATCTAATAACCCAACAGGCCTTAACTCAGACGCCGATAAAATCCCATTTCACCCTTACTATACAATTAAAGACATTCTAGGTGTACTAATAATAGTTTCCTTCCTAATAACTTTAGTCCTTTTCTTTCCAGACCTTTTAGGTGACCCGGACAACTACATGCCTGCTAACCCACTTAACACCCCACCTCATATTAAACCAGAATGATATTTCCTATTTGCCTATGCAATCCTACGATCCATCCCCAATAAACTAGGCGGAGTCCTAGCCCTAATTCTATCAATCTTAATTTTAGCCTTATTACCATTTCTTCACACTTCCAAACAACGCAGCCTAATATTCCGCCCAATTACTCAAACCCNNNN -No0913S ATTCGAAAAACACACCCACTACTAAAAATTATCAACCACTCCTTCATCGACTTACCAGCTCCATCTAACATTTCATCATGATGAAACTTCGGCTCATTACTAGGAATCTGCCTAATAATCCAAATCCTCACAGGCTTATTCCTAGCAATACACTACACATCAGACACAATAACAGCATTCTCTTCAGTAACCCATATTTGTCGAGACGTAAATTATGGCTGACTAATTCGATATATGCATGCAAACGGAGCCTCAATATTTTTTATTTGCCTATTTCTTCATGTAGGACGAGGAATGTATTACGGATCATACATTTTTATAGAAACATGAAACATCGGTGTGATCCTTTTATTCGCAGTAATAGCCACAGCATTCATAGGATATGTTCTTCCATGAGGACAAATATCCTTCTGAGGAGCTACAGTAATTACAAATTTACTATCAGCAATTCCATACATCGGAACTACCCTAGTAGAATGAATCTGAGGAGGATTCTCAGTAGACAAAGCTACATTGACACGTTTTTTCGCTTTTCACTTCATCCTTCCATTTATCATTGCCGCCCTAGTAATTGTTCACCTCTTGTTTCTCCATGAAACTGGATCTAATAACCCAACAGGCCTTAACTCAGACGCCGATAAAATCCCATTTCACCCTTACTATACAATTAAAGATATTCTAGGCGTACTAATAATAGTTTCCTTCCTAATAACTCTAGTCCTTTTCTTTCCAGACCTTTTAGGTGACCCGGACAACTACATGCCTGCTAACCCACTTAACACCCCACCTCATATTAAACCAGAATGATACTTCCTATTTGCCTATGCAATCCTACGGTCCATCCCCAATAAACTAGGCGGAGTCCTAGCCCTAATTCTATCAATCTTAATTTTAGCCTTATTACCATTTCTTCACACTTCCAAACAACGCAGCCTAATATTCCGCCCAATTACTCAAACCCNNNN -No1103S ATTCGAAAAACACACCCACTACTAAAAATTATTAATCACTCCTTCATCGACTTACCAGCTCCATCTAACATCTCATCATGATGAAACTTCGGCTCCTTACTAGGAATCTGCCTAATAATCCAAATCCTCACAGGCTTATTCCTAGCAATACACTACACATCAGACACAATAACAGCATTCTCTTCAGTAACCCATATTTGTCGAGACGTAAATTATGGCTGACTAATTCGATATATACATGCAAACGGAGCCTCAATATTTTTTATTTGCCTATTTCTTCATGTAGGACGAGGAATGTATTACGGGTCATACATTTTCATAGAAACATGAAACATCGGTGTGATCCTTTTATTCGCAGTAATAGCCACAGCATTCATAGGATATGTTCTTCCATGAGGACAAATATCCTTCTGAGGAGCTACAGTAATTACAAATTTACTATCAGCAATTCCATACATCGGAACTACCCTAGTAGAGTGAATCTGAGGAGGATTCTCAGTAGACAAAGCTACATTGACACGTTTTTTCGCTTTTCACTTCATCCTTCCATTTATCATTGCCGCCCTAGTAATTGTTCACCTCTTGTTTCTCCATGAAACTGGATCTAATAACCCAACAGGCCTTAACTCAGACGCCGATAAAATCCCATTTCACCCTTACTATACAATTAAAGATATTCTAGGTGTACTAATAATAGTTTCCTTCCTAATAACTTTAGTCCTTTTCTTTCCAGACCTTTTAGGTGACCCGGACAACTACATGCCTGCTAACCCACTTAACACCCCACCTCATATTAAACCAGAATGATATTTCCTATTTGCCTATGCAATCCTACGATCCATCCCCAATAAACTAGGCGGAGTCCTAGCCCTAATTCTATCAATCTTAATTTTAGCCTTATTACCATTTCTTCACACTTCCAAACAACGCAGCCTAATATTCCGCCCAATTACTCAAACCCNNNN -No1007S ATTCGAAAAACACACCCACTACTAAAAATTATCAATCACTCCTTCATCGACTTACCAGCTCCATCTAACATCTCATCATGATGAAACTTCGGCTCCTTACTAGGAATCTGCCTAATAATCCAAATCCTCACAGGCTTATTCCTAGCAATACACTACACATCAGACACAATAACAGCATTCTCTTCAGTAACCCATATTTGCCGAGACGTAAATTATGGCTGACTAATTCGATATATACATGCAAACGGAGCCTCAATATTTTTTATTTGCCTATTTCTTCATGTAGGACGAGGAATGTATTACGGGTCATACACTTTCATAGAAACATGAAACATCGGTGTGATCCTTCTATTCGCAGTAATAGCCACAGCATTCATAGGATATGTTCTTCCATGAGGACAAATATCCTTCTGAGGAGCTACAGTAATTACAAATTTACTATCAGCAATTCCATACATCGGGACTACCCTAGTAGAGTGAATCTGAGGAGGATTCTCAGTAGACAAAGCTACATTGACACGTTTTTTCGCTTTTCACTTTATCCTTCCATTTATCATTGCCGCCCTAGTAATTGTTCACCTCTTGTTTCTCCATGAAACTGGATCTAATAACCCAACAGGCCTTAACTCAGACGCCGATAAAATCCCATTTCACCCTTACTATACAATTAAAGATATTCTAGGTGTACTAATAATAGTTTCCTTCCTAATAACTTTAGTCCTTTTCTTTCCAGACCTTTTAGGTGACCCGGACAACTACATGCCTGCTAACCCACTTAACACCCCACCTCATATTAAACCAGAATGATACTTCCTATTTGCCTATGCAATCCTACGATCCATCCCCAATAAACTAGGCGGAGTCCTAGCCCTAATCCTATCAATCTTAATTTTAGCCTTATTACCATTTCTTCACACTTCCAAACAACGCAGCCTAATATTCCGCCCAATTACTCAAACCCNNNN -No1114S NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNATCGACTTACCAGCTCCATCTAACATTTCATCATGATGAAACTTCGGCTCATTACTAGGAGTCTGCCTAATAATCCAAATCCTCACAGGCTTATTCCTAGCAATACACTACACATCAGACACAATAACAGCATTCTCTTCAGNAACCCATATTTGCCGAGACGTAAATTATGGCTGACTAATTCGATATATACATGCAAACGGAGCCTCAATATTTTTTATTTGCCTATTTCTTCATGTAGGACGAGGAATATATTACGGCTCATACATTCTCATAGAAACATGAAACATCGGTGTGGTCCTTTTATTCGCAGTAATAGTCACAGCATTCATAGGATATGTTCTTCCATGAGGACAAATATCCTTCTGAGGAGCTACAGTAATTACAAATTTCCTATCAGCAATTCCATACATCGGAACTACCCTAGTAGAGTGAATCTGAGGAGGATTCTCAGTAGACAAAGCTACATTGACACGTTTTTTCGCTTTTCACTTTATCCTTCCATTTATCATTGCCGCCCTAGTAATTGTTCACCTCTTGTTTCTCCATGAAACTGGATCTAATAACCCAACAGGCCTTAACTCAGACGCCGATAAAATCCCATTTCACCCTTACTATACAATTAAGGATATTCTAGGTGTACTAATAATAGTTTCCTTCCTAATAACTTTAGTCCTTTTCTTTCCAGACCTTTTAGGTGACCCGGACAACTACATGCCTGCTAACCCACTTAACACCCCACCTCATATTAAACCAGAATGATATTTCCTATTTGCCTATGCAATCCTACGGTCCATCCCCAATAAACTAGGCGGAGTCCTAGCCCTAATTCTATCAATCTTAATTTTAGCCTTATTACCATTCCTTCACACTTCCAAACAACGCAGCCTAATATTCCGCCCAATTACTCAAACCCNNNN -No1202S ATTCGAAAAACACACCCACTACTAAAAATTATCAATCACTCCTTCATCGATTTACCAGCTCCATCTAACATTTCATCATGATGAAACTTCGGCTCATTACTAGGAATCTGCCTAATAATCCAGATCCTCACAGGCTTATTCCTAGCAATACACTACACATCAGACACAATAACAGCATTCTCTTCAGTAACCCATATTTGCCGAGACGTAAATTATGGCTGACTAATTCGATATATACATGCAAACGGAGCCTCAATATTTTTTATTTGCCTATTTCTTCATGTAGGACGAGGAATGTATTACGGATCATACATTTTTATAGAAACATGAAACATCGGTGTGATCCTTTTATTCGCAGTAATAGCCACAGCATTCATAGGATATGTTCTTCCATGAGGACAAATATCCTTCTGAGGAGCTACAGTAATTACAAATTTACTATCAGCAATTCCATACATCGGAACTACCCTAGTAGAGTGAATCTGAGGAGGATTCTCAGTAGACAAAGCTACATTGACACGTTTTTTCGCTTTTCACTTCATCCTTCCATTTATCATTGCCGCCCTAGTAATTGTTCACCTCTTGTTTCTCCATGAAACTGGATCTAATAACCCAACAGGCCTTAACTCAGACGCCGATAAAATCCCATTTCACCCTTACTATACAATTAAAGATATTCTAGGCGTACTAATAATAGTTTCCTTCCTAATAACTTTAGTCCTTTTCTTTCCAGACCTTTTAGGTGACCCGGACAACTACATGCCTGCTAACCCACTTAACACCCCACCTCATATTAAACCAGAATGATACTTCCTATTTGCCTATGCAATCCTACGATCCATCCCCAATAAACTAGGCGGAGTCCTAGCCCTAATTCTATCAATCTTAATTTTAGCCTTATTACCATTTCTTCACACTTCCAAACAACGCAGCCTAATATTCCGCCCAATTACTCAAACCCNNNN -No1206S ATTCGAAAAACACACCCACTACTAAAAATTATCAATCACTCCTTCATCGATTTGCCAGCTCCATCTAACATTTCATCATGATGAAACTTCGGCTCATTACTAGGAATCTGCCTAATAATCCAAATCCTCACAGGCTTATTCCTAGCAATACACTACACATCAGACACAATAACAGCATTCTCTTCAGTAACCCATATTTGTCGAGACGTAAATTATGGCTGACTAATTCGATATATACATGCAAACGGAGCCTCAATATTTTTTATTTGCCTATTTCTCCATGTAGGACGAGGAATGTATTACGGGTCATACATTTTTATAGAAACATGAAACATCGGTGTGATCCTTTTATTCGCAGTAATAGCCACAGCATTCATAGGATATGTTCTTCCATGAGGACAAATATCCTTCTGAGGAGCTACAGTAATTACAAATTTACTATCAGCAATTCCATACATCGGAACTACCCTAGTAGAGTGAATCTGAGGAGGATTCTCAGTAGACAAAGCTACATTGACACGTTTTTTCGCTTTTCACTTCATCCTTCCATTTATCATTGCCGCCCTAGTAATTGTGCACCTCTTGTTTCTTCATGAAACTGGATCTAATAACCCAACAGGCCTTAACTCAGACGCCGATAAAATCCCATTTCACCCTTACTATACAATTAAAGATATTCTAGGTGTACTAATAATAGTTTCCTTCCTAATAACTTTAGTCCTTTTCTTTCCAGACCTCTTAGGTGACCCGGACAACTACATGCCTGCTAACCCACTTAACACCCCACCTCATATTAAACCAGAATGATACTTCCTATTTGCCTATGCAATCCTACGATCCATCCCCAATAAACTAGGCGGAGTCCTAGCCCTAATTCTATCAATCTTAATTTTAGCCTTATTACCATTTCTTCACACTTCCAAACAACGCAGCCTAATATTCCGCCCAATTACTCAAACCCNNNN -No1208S NNNCGAAAAACACACCCACTACTAAAAATTATCAATCACTCCTTCATCGACTTACCAGCTCCATCTAACATCTCATCATGATGAAACTTCGGCTCCTTACTAGGAATCTGCCTAATAATCCAAATCCTCACAGGCTTATTCCTAGCAATACACTACACATCAGACACAATAACAGCATTCTCTTCAGTAACCCATATTTGCCGAGACGTAAACTATGGCTGACTAATTCGATATATACATGCAAACGGAGCCTCAATATTTTTTATTTGCCTATTTCTTCATGTAGGACGAGGAATGTATTACGGGTCATACACTTTCATAGAAACATGAAACATCGGTGTGATCCTTCTATTCGCAGTAATAGCCACAGCATTCATAGGATATGTTCTTCCATGAGGACAAATATCCCTCTGAGGAGCTACAGTAATTACAAATTTACTATCAGCAATTCCATACATCGGGACTACCCTAGTAGAGTGAATCTGAGGAGGATTCTCAGTAGACAAAGCTACATTGACACGTTTTTTCGCTTTTCACTTTATCCTTCCATTTATCATTGCCGCCCTAGTAATTGTTCACCTCTTGTTTCTCCATGAAACTGGATCTAATAACCCAACAGGCCTTAACTCAGACGCCGATAAAATCCCATTTCACCCTTACTATACAATTAAAGATATTCTAGGTGTACTAATAATAGTTTCCTTCCTAATAACTTTAGTCCTTTTCTTTCCAGACCTTTTAGGTGACCCGGACAACTACATGCCTGCTAACCCACTTAACACCCCACCTCATATTAAACCAGAATGATACTTCCTATTTGCCTATGCAATCCTACGATCCATCCCCAATAAACTAGGCGGAGTCCTAGCCCTAATCCTATCAATCTTAATTTTAGCCTTATTACCATTTCTTCACACTTCCAAACAACGCAGCCTAATATTCCGCCCAATTACTCAAACCCNNNN \ No newline at end of file diff --git a/man/boot.phylo.Rd b/man/boot.phylo.Rd index 448a4d8..6869f67 100644 --- a/man/boot.phylo.Rd +++ b/man/boot.phylo.Rd @@ -7,7 +7,8 @@ \alias{plot.prop.part} \title{Tree Bipartition and Bootstrapping Phylogenies} \usage{ -boot.phylo(phy, x, FUN, B = 100, block = 1, trees = FALSE) +boot.phylo(phy, x, FUN, B = 100, block = 1, + trees = FALSE, quiet = FALSE) prop.part(..., check.labels = TRUE) prop.clades(phy, ..., part = NULL) \method{print}{prop.part}(x, ...) @@ -25,6 +26,7 @@ prop.clades(phy, ..., part = NULL) together (see details).} \item{trees}{a logical specifying whether to return the bootstraped trees (\code{FALSE} by default).} + \item{quiet}{a logical: a progress bar is displayed by default.} \item{\dots}{either (i) a single object of class \code{"phylo"}, (ii) a series of such objects separated by commas, or (iii) a list containing such objects. In the case of \code{plot} further @@ -119,10 +121,11 @@ prop.clades(phy, ..., part = NULL) } \examples{ data(woodmouse) -tr <- nj(dist.dna(woodmouse)) +f <- function(x) nj(dist.dna(x)) +tr <- f(woodmouse) ### Are bootstrap values stable? for (i in 1:5) - print(boot.phylo(tr, woodmouse, function(xx) nj(dist.dna(xx)))) + print(boot.phylo(tr, woodmouse, f, quiet = TRUE)) ### How many partitions in 100 random trees of 10 labels?... TR <- replicate(100, rtree(10), FALSE) pp10 <- prop.part(TR) diff --git a/man/compar.gee.Rd b/man/compar.gee.Rd index 170b8e0..b87e023 100644 --- a/man/compar.gee.Rd +++ b/man/compar.gee.Rd @@ -2,6 +2,7 @@ \alias{compar.gee} \alias{print.compar.gee} \alias{drop1.compar.gee} +\alias{predict.compar.gee} \title{Comparative Analysis with GEEs} \description{ \code{compar.gee} performs the comparative analysis using generalized @@ -9,11 +10,14 @@ \code{drop1} tests single effects of a fitted model output from \code{compar.gee}. + + \code{predict} returns the predicted (fitted) values of the model. } \usage{ compar.gee(formula, data = NULL, family = "gaussian", phy, corStruct, scale.fix = FALSE, scale.value = 1) \method{drop1}{compar.gee}(object, scope, quiet = FALSE, ...) +\method{predict}{compar.gee}(object, type = c("link", "response"), ...) } \arguments{ \item{formula}{a formula giving the model to be fitted.} @@ -36,6 +40,8 @@ compar.gee(formula, data = NULL, family = "gaussian", phy, corStruct, \item{scope}{.} \item{quiet}{a logical specifying whether to display a warning message about eventual ``marginality principle violation''.} + \item{type}{a character string specifying the type of predicted + values. By default, the linear (link) prediction is returned.} \item{\dots}{further arguments to be passed to \code{drop1}.} } \details{ diff --git a/man/evonet.Rd b/man/evonet.Rd new file mode 100644 index 0000000..b41acf0 --- /dev/null +++ b/man/evonet.Rd @@ -0,0 +1,70 @@ +\name{evonet} +\alias{evonet} +\alias{print.evonet} +\alias{plot.evonet} +\alias{as.phylo.evonet} +\alias{as.networx.evonet} +\alias{as.network.evonet} +\alias{as.igraph.evonet} +\title{Evolutionary Networks} +\description{ + \code{evonet} builds a network from a tree of class + \code{"phylo"}. There are \code{print} and \code{plot} methods as well + as a few conversion functions. +} +\usage{ +evonet(phy, from, to = NULL) +\method{print}{evonet}(x, ...) +\method{plot}{evonet}(x, col = "blue", lty = 1, lwd = 1, alpha = 0.5, + arrows = 0, arrow.type = "classical", ...) +\method{as.phylo}{evonet}(x, ...) +\method{as.networx}{evonet}(x, weight = NA, ...) +\method{as.network}{evonet}(x, directed = TRUE, ...) +\method{as.igraph}{evonet}(x, directed = TRUE, use.labels = TRUE, ...) +} +\arguments{ + \item{phy, x}{an object of class \code{"phylo"} or \code{"evonet"}.} + \item{from}{a vector (or a matrix if \code{to = NULL}) giving the node + or tip numbers involved in the reticulations.} + \item{to}{a vector of the same length than \code{from}.} + \item{col, lty, lwd}{colors, line type and width of the reticulations + (recycled if necessary).} + \item{alpha}{a value between 0 and 1 specifying the transparency of + the reticulations.} + \item{arrows}{see \code{\link{fancyarrows}}.} + \item{arrow.type}{idem.} + \item{weight}{a numeric vector giving the weights for the + reticulations when converting to the class \code{"networx"} + (recycled or shortened if needed).} + \item{directed}{a logical: should the network be considered as + directed? \code{TRUE} by default.} + \item{use.labels}{a logical specifying whether to use the tip and node + labels when building the network of class \code{"igraph"}.} + \item{\dots}{arguments passed to other methods.} +} +\details{ + \code{evonet} is a constructor function that checks the arguments. + + The classes \code{"networx"}, \code{"network"}, and \code{"igraph"} + are defined in the packages \pkg{phangorn}, \pkg{network}, and + \pkg{igraph}, respectively. +} +\value{ + an object of class \code{c("evonet", "phylo")} which is made of an + object of class \code{"\link{phylo}"} plus an element + \code{reticulation} coding additional edges among nodes and uses the + same coding rules than the \code{edge} matrix. + + The conversion functions return an object of the appropriate class. +} +\author{Emmanuel Paradis} +\seealso{ + \code{\link[phangorn]{as.networx}} in package \pkg{phangorn} +} +\examples{ +tr <- rcoal(5) +(x <- evonet(tr, 6:7, 8:9)) +plot(x) +} +\keyword{manip} +\keyword{hplot} diff --git a/man/plot.phylo.Rd b/man/plot.phylo.Rd index 2a07ba0..4fc4330 100644 --- a/man/plot.phylo.Rd +++ b/man/plot.phylo.Rd @@ -9,7 +9,7 @@ cex = par("cex"), adj = NULL, srt = 0, no.margin = FALSE, root.edge = FALSE, label.offset = 0, underscore = FALSE, x.lim = NULL, y.lim = NULL, direction = "rightwards", - lab4ut = "horizontal", tip.color = "black", draw = TRUE, ...) + lab4ut = "horizontal", tip.color = "black", plot = TRUE, ...) \method{plot}{multiPhylo}(x, layout = 1, ...) } \arguments{ @@ -90,7 +90,7 @@ \code{type = "unrooted"}.} \item{tip.color}{the colours used for the tip labels, eventually recycled (see examples).} - \item{draw}{a logical controlling whether to draw the tree. If + \item{plot}{a logical controlling whether to draw the tree. If \code{FALSE}, the graphical device is set as if the tree was plotted, and the coordinates are saved as well.} \item{layout}{the number of trees to be plotted simultaneously.} diff --git a/man/rotate.Rd b/man/rotate.Rd index a901bf8..f6ad0fe 100644 --- a/man/rotate.Rd +++ b/man/rotate.Rd @@ -39,7 +39,7 @@ nodelabels() tre.new <- rotate(tre, 30) # compare the results: -par(mfrow=c(1,2)) # devide graphical device +par(mfrow=c(1,2)) # split graphical device plot(tre) # plot old tre plot(tre.new) # plot new tree @@ -51,7 +51,7 @@ tiplabels() tre.new <- rotate(tre, c(12, 21)) # compare the results: -par(mfrow=c(1,2)) # devide graphical device +par(mfrow=c(1,2)) # split graphical device plot(tre) # plot old tre plot(tre.new) # plot new tree diff --git a/man/yule.Rd b/man/yule.Rd index c5d8012..40998f9 100644 --- a/man/yule.Rd +++ b/man/yule.Rd @@ -1,6 +1,6 @@ \name{yule} \alias{yule} -\title{Fits Yule Model to a Phylogenetic Tree} +\title{Fits the Yule Model to a Phylogenetic Tree} \usage{ yule(phy, use.root.edge = FALSE) } -- 2.39.2