geom_tree()
ggtree(t) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
set.seed(1)
tree <- rphylo(200, 1, 0.5)
tree <- root.phylo(tree, )
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
tree <- root.phylo(tree, node = 203)
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
library(phytools)
tree <- root(tree, node = 203)
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
set.seed(1)
tree <- rphylo(200, 1, 0.5)
tree <- root(tree, node = 203)
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
set.seed(1)
tree <- rphylo(200, 1, 0.5)
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
tree <- root(tree, node = 203)
tree
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
set.seed(1)
tree <- rphylo(200, 1, 0.5)
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtree <- phytools::reroot(tree, node = 203)
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtree <- root(tree, node = 203)
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtree <- root(tree, 203)
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtree <- root(tree, 201)
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtree <- root(tree, 205)
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtree <- root(tree, 205)
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtree <- root(tree, 201)
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtree <- root(tree, 201)
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtree <- root(tree, node = 201)
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtree <- root(tree, node = 202)
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtree <- root(tree, node = 203)
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
ggtree(root.phylo(tree)) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
ggtree(root.phylo(tree, getDescendants(tree, 207))) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
og[which(og <= Ntip(tree))]
og <- getDescendants(tree, 207)
og[which(og <= Ntip(tree))]
og <- og[which(og <= Ntip(tree))]
ggtree(root.phylo(tree, og)) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtree <- root.phylo(tree, og)
rtree
ggtree() +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
og <- getDescendants(tree, 207)
og <- og[which(og <= Ntip(tree))]
rtree <- root.phylo(tree, og)
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
write.tree(tree)
#NEXUS
begin trees;
og <- getDescendants(tree, 207)
og <- og[which(og <= Ntip(tree))]
rtree <- root.phylo(tree, og)
rtree$edge.length
which(rtree$edge.length == 0)
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
library(ape)
library(phytools)
rootedge.to.singleton(rtree)
ggtree(rootedge.to.singleton(rtree)) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
root(rtree)
is.rooted(rtree)
is.rooted(tree)
rtree <- root.phylo(tree, og, resolve.root = TRUE)
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
is.rooted(tree)
is.rooted(rtree)
rtree
rtree$edge.length
rtree$edge.length == O
rtree$edge.length == 0
rtree <- root(tree, node = 203, resolve.root = TRUE)
rtree$edge.length == 0
rtree <- root(tree, node = 203, resolve.root = TRUE)
rtree$edge.length == 0
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtree <- root(tree, node = 207, resolve.root = TRUE)
rtree$edge.length == 0
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtree <- root(tree, node = 207, resolve.root = TRUE)
rtree$edge.length == 0
tree$edge.length[207]
rtree$edge.length[which(rtree$edge.length == 0)] = tree$edge.length[207]
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtree <- root(tree, node = 207, resolve.root = TRUE)
tree$edge.length
getParent(tree, 207)
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
tree$edge
tree$edge[tree$edge[, 1] == which(getParent(tree, 207)), tree$edge[, 2] == 207]
tree$edge[which(tree$edge[, 1] == getParent(tree, 207) & tree$edge[, 2] == 207), ]
rtr <- root(tree, node = 207, resolve.root = TRUE)
rnode <- tree$edge[which(tree$edge[, 1] == getParent(tree, 207) & tree$edge[, 2] == 207), ]
rtr$edge.length[rtr]
rtr$edge.length
rtr
rtr$edge.length[rnode]
rnode
rnode <- row.name(tree$edge[which(tree$edge[, 1] == getParent(tree, 207) & tree$edge[, 2] == 207), ])
rnode
row.names(tree$edge[which(tree$edge[, 1] == getParent(tree, 207) & tree$edge[, 2] == 207), ])
row.names(tree$edge[which(tree$edge[, 1] == getParent(tree, 207) & tree$edge[, 2] == 207), ])
row.names(tree$edge[which(tree$edge[, 1] == getParent(tree, 207) & tree$edge[, 2] == 207), ])
rnode <- tree$edge[which(tree$edge[, 1] == getParent(tree, 207) & tree$edge[, 2] == 207), ]
rnode
tree$edge
rtr$edge
rtr <- root(tree, node = 207, resolve.root = TRUE)
rnode <- rtr$edge[which(rtr$edge[, 1] == getParent(tree, 207) & rtr$edge[, 2] == 207), ]
rnode
rtr <- root(tree, node = 207, resolve.root = TRUE)
rnode <- tree$edge[which(tree$edge[, 1] == getParent(tree, 207) & tree$edge[, 2] == 207), ]
rnode
tree$edge
rnode <- which(tree$edge[, 1] == getParent(tree, 207) & tree$edge[, 2] == 207)
rnode
rtr$edge.length[rnode]
rlen <- rtr$edge.length[rnode]
rtr$edge.length[which(rtr$edge.length == 0), ]
rtr$edge.length[which(rtr$edge.length == 0)]
rtr$edge.length[which(rtr$edge.length == 0)] = rlen
ggtree(rtree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
ggtree(rtr) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtr <- root(tree, node = 207, resolve.root = TRUE)
rnode <- which(tree$edge[, 1] == getParent(tree, 207) & tree$edge[, 2] == 207)
rlen <- rtr$edge.length[rnode]
rtr$edge.length[which(rtr$edge.length == 0)] = rlen
ggtree(rtr) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
write.tree(tree)
ggtree(tree) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtr <- root(tree, node = 207, resolve.root = TRUE)
getParent(tree, 207) &
getParent(tree, 207)
rnode <- which(tree$edge[, 1] == getParent(tree, 207) & tree$edge[, 2] == 207)
rnode
rlen <- rtr$edge.length[rnode]
rlen
rtr$edge.length[which(rtr$edge.length == 0)] = rlen
ggtree(rtr) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtr
rtr$tip.label
rtr$edge
rtr$edge.length[1]
rtr$edge.length[which(rtr$edge.length == 0)] = rtr$edge.length[1]
ggtree(rtr) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
rtr <- root(tree, node = 207, resolve.root = TRUE)
rtr$edge.length[which(rtr$edge.length == 0)] = rtr$edge.length[1]
ggtree(rtr) +
geom_hilight(node = 219) +
geom_tree() +
geom_nodelab(aes(label = node))
ggtree(rtr) +
geom_hilight(node = 212) +
geom_tree() +
geom_nodelab(aes(label = node))
ggtree(ultrametric(rtr)) +
geom_hilight(node = 212) +
geom_tree() +
geom_nodelab(aes(label = node))
ggtree(ultrametric(rtr)) +
geom_hilight(node = 212) +
geom_tree() +
geom_nodelab(aes(label = node))
ultrametric(rtr)
??ultramtrize
??ultramtri
ggtree(as.ultrametric(rtr)) +
geom_hilight(node = 212) +
geom_tree() +
geom_nodelab(aes(label = node))
library(treeio)
ggtree(as.ultrametric(rtr)) +
geom_hilight(node = 212) +
geom_tree() +
geom_nodelab(aes(label = node))
rtr <- as.ultrametric(rtr)
ggtree(rtr) +
geom_hilight(node = 212) +
geom_tree() +
geom_nodelab(aes(label = node))
write.tree(rtr)
write.tree(rtr, file = '../outputs/sim_sp_tree.nwk')
# Loading packages ----
library(ape)
# Loading packages ----
library(ape)
library(ggplot2)
theme_set(theme_bw())
# Simulations function ----
sim_lens <- function(N, n, birth, death) {
# Generating empty output vectors
lens <- c()
tiplens <- c()
ntiplens <- c()
odf <- c()
# Iterating through the number of samples
for (i in 1:N) {
# Random tree generation
t <- rphylo(n, birth, death)
# Variables collection
tree_lens <- t$edge.length
tree_tipl <- t$edge.length[which(t$edge[, 2] <= n)]
tree_ntipl <- tree_tipl / mean(tree_lens)
# Appending variables to the outputs
lens <- c(lens, tree_lens)
tiplens <- c(tiplens, tree_tipl)
ntiplens <- c(ntiplens, tree_ntipl)
# Generating the output data frame
odf <- rbind(odf, data.frame('nsims' = N, 'ntips' = n, 'birth' = birth,
'death' = death,
'tiplens_mean' = mean(tree_tipl),
'lens_mean' = mean(tree_lens),
'tip_nlens_mean' = mean(tree_ntipl)))
}
return(list('lengths' = lens, 'tiplengths' = tiplens,
'tip_nlengths' = ntiplens, 'Summary' = odf))
}
# Generating simulations ----
sim05 <- sim_lens(1000, 1000, 1, 0.5)
load('../outputs/sims.RData')
# Merging data ----
# load('../outputs/sims.RData')
plot_df <- rbind(sim05$Summary, sim09$Summary)
plot_df$death <- factor(plot_df$death)
# Plotting data ----
# pdf('../outputs/tiplens.pdf', width = 5.42, height = 3.15)
ggplot(plot_df, aes(x = tip_nlens_mean, colour = death)) +
geom_density(size = 1) +
xlab('Tip length / branch length mean') +
ylab('Density') +
labs(colour = 'Extinction\nrate') +
scale_colour_manual(values = c('0.5' = 'darkorange3', '0.9' = 'steelblue'))
plot_df
plot_df
setwd("~/Documents/mounted/marenostrum/documents/ghosts/response/zenodo/supplementary_material_data")
write.csv(plot_df, 'data/branch_lengths_sim.csv')
dat <- read.csv('data/branch_lengths_sim.csv')
pdf('figures/tiplens.pdf', width = 5.42, height = 3.15)
ggplot(plot_dat, aes(x = tip_nlens_mean, colour = death)) +
geom_density(size = 1) +
xlab('Tip length / branch length mean') +
ylab('Density') +
labs(colour = 'Extinction\nrate') +
scale_colour_manual(values = c('0.5' = 'darkorange3', '0.9' = 'steelblue'))
ggplot(dat, aes(x = tip_nlens_mean, colour = death)) +
geom_density(size = 1) +
xlab('Tip length / branch length mean') +
ylab('Density') +
labs(colour = 'Extinction\nrate') +
scale_colour_manual(values = c('0.5' = 'darkorange3', '0.9' = 'steelblue'))
dev.off()
ggplot(dat, aes(x = tip_nlens_mean, colour = death)) +
geom_density(size = 1) +
xlab('Tip length / branch length mean') +
ylab('Density') +
labs(colour = 'Extinction\nrate') +
scale_colour_manual(values = c('0.5' = 'darkorange3', '0.9' = 'steelblue'))
dat
dat <- read.csv('data/branch_lengths_sim.csv')
dat$death <- factor(dat$death)
ggplot(dat, aes(x = tip_nlens_mean, colour = death)) +
geom_density(size = 1) +
xlab('Tip length / branch length mean') +
ylab('Density') +
labs(colour = 'Extinction\nrate') +
scale_colour_manual(values = c('0.5' = 'darkorange3', '0.9' = 'steelblue'))
pdf('figures/tiplens.pdf', width = 5.42, height = 3.15)
ggplot(dat, aes(x = tip_nlens_mean, colour = death)) +
geom_density(size = 1) +
xlab('Tip length / branch length mean') +
ylab('Density') +
labs(colour = 'Extinction\nrate') +
scale_colour_manual(values = c('0.5' = 'darkorange3', '0.9' = 'steelblue'))
dev.off()
pdf('figures/Fig_2_densities.pdf', width = 5.42, height = 3.15)
ggplot(dat, aes(x = tip_nlens_mean, colour = death)) +
geom_density(size = 1) +
xlab('Tip length / branch length mean') +
ylab('Density') +
labs(colour = 'Extinction\nrate') +
scale_colour_manual(values = c('0.5' = 'darkorange3', '0.9' = 'steelblue'))
ggplot(dat, aes(x = tip_nlens_mean, colour = death)) +
geom_density(size = 1) +
xlab('Tip length / branch length mean') +
ylab('Density') +
labs(colour = 'Extinction\nrate') +
scale_colour_manual(values = c('0.5' = 'darkorange3', '0.9' = 'steelblue'))
dev.off()
library(ggplot2)
library(dplyr)
library(tidyr)
library(ggpubr)
library(rstatix)
dat <- read.csv('data/tricou_simulations_table.tsv', sep = '\t', row.names = 1)
nbsampled<-seq(100,10,by=-10)
percsampled<-paste((nbsampled/1000)*100, "%", sep="")
pdf('figures/Fig_S1.pdf', width = 9.5, height = 6)
ggplot(dat, aes(x=factor(prop, levels = percsampled), y=err, fill=factor(ext_rate), linetype=type)) +
geom_boxplot() +
xlab("Percentage of the total number of species considered") +
ylab("Percentage of the stem-length-based\npredictions of the order of events") +
geom_hline(yintercept = 50, linetype="dashed", color="red") +
geom_label(aes(x = 9, y = 90, label = "correct predictions"), fill = "grey", color="white") +
geom_label(aes(x = 9, y = 10, label = "erroneous predictions"), fill = "grey", color="white") + theme(legend.position = "bottom")
dev.off()
sumdat <- dat %>%
group_by(ext_rate, prop, type) %>%
summarise(error_mean = mean(err))
sumdat <- spread(sumdat, type, error_mean)
sumdat[, 'correct_fold'] <- sumdat$`correct-pred` / sumdat$`erroneous-pred`
pdf('figures/Fig_S2.pdf', width = 6.6 * 0.9, height = 4 * 0.9)
ggplot(sumdat, aes(reorder(ext_rate, correct_fold), correct_fold,
colour = factor(prop, percsampled), group = prop)) +
geom_point() +
geom_line() +
xlab('Extinction rate') +
ylab('Correct prediction ratio') +
labs(colour = 'Sampled tips')
dev.off()
means <- read.csv('data/Mean24fold.tsv', sep = '\t')
means$ext_rate <- factor(means$ext_rate)
means$prop <- factor(means$prop, levels= paste((seq(100,10,by=-10)/1000)*100, "%", sep=""))
means$type <- ifelse(means$type == 'correct-pred', 'Correct prediction', 'Erroneous prediction')
stat.test <- means %>%
group_by(type, prop) %>%
wilcox_test(mean ~ ext_rate, comparisons = list(c("0", "0.5"), c("0.5","0.9"))) %>%
add_significance()
stat.test <- stat.test %>%
add_xy_position(x = "ext_rate", fun="mean", step.increase = 0.03)
pdf('figures/Fig_S3.pdf', width = 10, height = 5)
ggplot(means, aes(x = ext_rate, y = mean)) +
geom_boxplot(aes(fill = ext_rate, color = ext_rate), alpha = 0.6) +
xlab("Percentage of the total number of species considered") +
ylab("Mean percentage of the stem-length-based predictions\nof the order of events, per simulation") +
geom_hline(yintercept = 50, linetype="dashed", color="darkgrey") +
facet_grid(type~prop, scales="free_y") +
stat_pvalue_manual(stat.test, hide.ns = TRUE, tip.length = 0)
dev.off()
dat <- read.csv('data/branch_lengths_sim.csv')
dat$death <- factor(dat$death)
pdf('figures/Fig_2_densities.pdf', width = 5.42, height = 3.15)
ggplot(dat, aes(x = tip_nlens_mean, colour = death)) +
geom_density(size = 1) +
xlab('Tip length / branch length mean') +
ylab('Density') +
labs(colour = 'Extinction\nrate') +
scale_colour_manual(values = c('0.5' = 'darkorange3', '0.9' = 'steelblue'))
dev.off()
pdf('figures/Fig_2A.pdf', width = 5.42, height = 3.15)
ggplot(dat, aes(x = tip_nlens_mean, colour = death)) +
geom_density(size = 1) +
xlab('Tip length / branch length mean') +
ylab('Density') +
labs(colour = 'Extinction\nrate') +
scale_colour_manual(values = c('0.5' = 'darkorange3', '0.9' = 'steelblue'))
dev.off()
