y=results[[i]][,1]/100,
col=colors[30],
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
text(x=i,y=1.1, label=sig.rate)
}
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
text(x=i,y=1.1, label=sig.rate)
}
plot(x=0,y=0, col="white", xlim=c(0,10), ylim=c(0,1.1), ylab="P-value",xlab="Rate Multiplier")
for(i in 1:10){
jit.val <- jitter(rep(10, times=nrow(results[[i]])))
x.vals <- rep(i, times=nrow(results[[i]])) + jit.val -10
points(x=x.vals,
y=results[[i]][,1]/100,
col=colors[30],
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
text(x=i,y=1.1, label=paste(sig.rate, "%", sep="", cex=.6)
}
plot(x=0,y=0, col="white", xlim=c(0,10), ylim=c(0,1.1), ylab="P-value",xlab="Rate Multiplier")
for(i in 1:10){
jit.val <- jitter(rep(10, times=nrow(results[[i]])))
x.vals <- rep(i, times=nrow(results[[i]])) + jit.val -10
points(x=x.vals,
y=results[[i]][,1]/100,
col=colors[30],
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
text(x=i,y=1.1, label=paste(sig.rate, "%", sep=""), cex=.6)
}
plot(x=0,y=0, col="white", xlim=c(0,10), ylim=c(0,1.1), ylab="P-value",xlab="Rate Multiplier")
for(i in 1:10){
jit.val <- jitter(rep(10, times=nrow(results[[i]])))
yjit <- jitter(rep(1, times=nrow(results[[i]])))
x.vals <- rep(i, times=nrow(results[[i]])) + jit.val -10
points(x=x.vals,
y=results[[i]][,1]/100 + yjit,
col=colors[30],
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
text(x=i,y=1.1, label=paste(sig.rate, "%", sep=""), cex=.6)
}
plot(x=0,y=0, col="white", xlim=c(0,10), ylim=c(0,1.1), ylab="P-value",xlab="Rate Multiplier")
for(i in 1:10){
jit.val <- jitter(rep(10, times=nrow(results[[i]])))
yjit <- jitter(rep(1, times=nrow(results[[i]])))
x.vals <- rep(i, times=nrow(results[[i]])) + jit.val -10
points(x=x.vals,
y=results[[i]][,1]/100 + yjit - 1,
col=colors[30],
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
text(x=i,y=1.1, label=paste(sig.rate, "%", sep=""), cex=.6)
}
plot(x=0,y=0, col="white", xlim=c(0,10), ylim=c(0,1.1), ylab="P-value",xlab="Rate Multiplier")
for(i in 1:10){
jit.val <- jitter(rep(10, times=nrow(results[[i]])))
yjit <- jitter(rep(1, times=nrow(results[[i]])))
x.vals <- rep(i, times=nrow(results[[i]])) + jit.val -10
points(x=x.vals,
y=results[[i]][,1]/100 + yjit - 1,
col=colors[30],
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
sig.rate <- sig.rate + round(sum(pvals[,i] > 94) / 95 * 100, digits=0)
text(x=i,y=1.1, label=paste(sig.rate, "%", sep=""), cex=.6)
}
abline(h=.95, lty=3, lwd=2)
abline(h=1, lty=3, lwd=2)
results[[1]]
plot(x=0,y=0, col="white", xlim=c(0,10), ylim=c(0,1.1), ylab="P-value",xlab="Rate Multiplier")
for(i in 1:10){
jit.val <- jitter(rep(10, times=nrow(results[[i]])))
yjit <- jitter(rep(.5, times=nrow(results[[i]])))
x.vals <- rep(i, times=nrow(results[[i]])) + jit.val -10
points(x=x.vals,
y=results[[i]][,1]/100 + yjit - .5,
col=colors[30],
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
abline(h=.95, lty=3, lwd=2)
abline(h=1, lty=3, lwd=2)
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
sig.rate <- sig.rate + round(sum(pvals[,i] > 94) / 95 * 100, digits=0)
text(x=i,y=1.1, label=paste(sig.rate, "%", sep=""), cex=.6)
}
setwd("~/Desktop/Dropbox/R/ancCond")
load("full.results")
results <- list()
for(i in 1:10){
c.level <- full.results[[i]]
c.result <- as.data.frame(matrix(,1,2))
colnames(c.result) <- c("pval", "Ntrans")
for(j in 1:100){
foo2 <- c.level[[j]]
if(length(foo2) != 1){
c.result[j, 1:2] <- c(foo2$smaller, foo2$NTrans)
}
}
results[[i]] <- c.result[complete.cases(c.result), ]
}
names(results) <- c("results1","results2","results3","results4","results5",
"results6","results7","results8","results9","results10")
#first lets find the range of originating nodes
min.orig <- max.orig <- vector()
for(i in 1:10){
min.orig[i] <- min(results[[i]][,2])
max.orig[i] <- max(results[[i]][,2])
}
min.orig <- min(min.orig)
max.orig <- max(max.orig)
colors <- rainbow(57)
colorRampPalette(c('gray','blue')) -> foobar
colors <- foobar(57)
plot(x=0,y=0, col="white", xlim=c(0,10), ylim=c(0,1.1), ylab="P-value",xlab="Rate Multiplier")
for(i in 1:10){
jit.val <- jitter(rep(10, times=nrow(results[[i]])))
yjit <- jitter(rep(.5, times=nrow(results[[i]])))
x.vals <- rep(i, times=nrow(results[[i]])) + jit.val -10
points(x=x.vals,
y=results[[i]][,1]/100 + yjit - .5,
col=colors[30],
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
#abline(h=.95, lty=3, lwd=2)
#abline(h=1, lty=3, lwd=2)
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
#  sig.rate <- sig.rate + round(sum(pvals[,i] > 94) / 95 * 100, digits=0)
text(x=i,y=1.1, label=paste(sig.rate, "%", sep=""), cex=.6)
}
setwd("~/Desktop/Dropbox/R/ancCond")
load("full.results")
results <- list()
for(i in 1:10){
c.level <- full.results[[i]]
c.result <- as.data.frame(matrix(,1,2))
colnames(c.result) <- c("pval", "Ntrans")
for(j in 1:100){
foo2 <- c.level[[j]]
if(length(foo2) != 1){
c.result[j, 1:2] <- c(foo2$smaller, foo2$NTrans)
}
}
results[[i]] <- c.result[complete.cases(c.result), ]
}
names(results) <- c("results1","results2","results3","results4","results5",
"results6","results7","results8","results9","results10")
#first lets find the range of originating nodes
min.orig <- max.orig <- vector()
for(i in 1:10){
min.orig[i] <- min(results[[i]][,2])
max.orig[i] <- max(results[[i]][,2])
}
min.orig <- min(min.orig)
max.orig <- max(max.orig)
colors <- rainbow(57)
colorRampPalette(c('gray','blue')) -> foobar
colors <- foobar(57)
plot(x=0,y=0, col="white", xlim=c(0,10), ylim=c(0,1.1), ylab="P-value",xlab="Branch Scaling")
for(i in 1:10){
jit.val <- jitter(rep(10, times=nrow(results[[i]])))
yjit <- jitter(rep(.5, times=nrow(results[[i]])))
x.vals <- rep(i, times=nrow(results[[i]])) + jit.val -10
points(x=x.vals,
y=results[[i]][,1]/100 + yjit - .5,
col=colors[30],
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
#abline(h=.95, lty=3, lwd=2)
#abline(h=1, lty=3, lwd=2)
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
#  sig.rate <- sig.rate + round(sum(pvals[,i] > 94) / 95 * 100, digits=0)
text(x=i,y=1.1, label=paste(sig.rate, "%", sep=""), cex=.6)
}
plot(x=0,y=0, col="white", xlim=c(0,10), ylim=c(0,1.1), ylab="P-value",xlab="Branch Scaling")
for(i in 1:10){
jit.val <- jitter(rep(10, times=nrow(results[[i]])))
yjit <- jitter(rep(.5, times=nrow(results[[i]])))
x.vals <- rep(i, times=nrow(results[[i]])) + jit.val -10
points(x=x.vals,
y=results[[i]][,1]/100 + yjit - .5,
col="darkgray",
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
#abline(h=.95, lty=3, lwd=2)
#abline(h=1, lty=3, lwd=2)
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
#  sig.rate <- sig.rate + round(sum(pvals[,i] > 94) / 95 * 100, digits=0)
text(x=i,y=1.1, label=paste(sig.rate, "%", sep=""), cex=.6)
}
plot(x=0,y=0, col="white", xlim=c(0,10), xaxt="n", ylim=c(0,1.1), ylab="P-value",xlab="Branch Scaling")
help(axis)
axis(side=1, at=1:10)
for(i in 1:10){
jit.val <- jitter(rep(10, times=nrow(results[[i]])))
yjit <- jitter(rep(.5, times=nrow(results[[i]])))
x.vals <- rep(i, times=nrow(results[[i]])) + jit.val -10
points(x=x.vals,
y=results[[i]][,1]/100 + yjit - .5,
col="darkgray",
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
#abline(h=.95, lty=3, lwd=2)
#abline(h=1, lty=3, lwd=2)
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
#  sig.rate <- sig.rate + round(sum(pvals[,i] > 94) / 95 * 100, digits=0)
text(x=i,y=1.1, label=paste(sig.rate, "%", sep=""), cex=.6)
}
plot(x=0,y=0, col="white", xlim=c(.5,10), xaxt="n", ylim=c(0,1.1), ylab="P-value",xlab="Branch Scaling")
axis(side=1, at=1:10)
for(i in 1:10){
jit.val <- jitter(rep(10, times=nrow(results[[i]])))
yjit <- jitter(rep(.5, times=nrow(results[[i]])))
x.vals <- rep(i, times=nrow(results[[i]])) + jit.val -10
points(x=x.vals,
y=results[[i]][,1]/100 + yjit - .5,
col="darkgray",
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
#abline(h=.95, lty=3, lwd=2)
#abline(h=1, lty=3, lwd=2)
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
#  sig.rate <- sig.rate + round(sum(pvals[,i] > 94) / 95 * 100, digits=0)
text(x=i,y=1.1, label=paste(sig.rate, "%", sep=""), cex=.6)
}
plot(x=0,y=0, col="white", xlim=c(.75,10), xaxt="n", ylim=c(0,1.1), ylab="P-value",xlab="Branch Scaling")
axis(side=1, at=1:10)
for(i in 1:10){
jit.val <- jitter(rep(10, times=nrow(results[[i]])))
yjit <- jitter(rep(.5, times=nrow(results[[i]])))
x.vals <- rep(i, times=nrow(results[[i]])) + jit.val -10
points(x=x.vals,
y=results[[i]][,1]/100 + yjit - .5,
col="darkgray",
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
#abline(h=.95, lty=3, lwd=2)
#abline(h=1, lty=3, lwd=2)
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
#  sig.rate <- sig.rate + round(sum(pvals[,i] > 94) / 95 * 100, digits=0)
text(x=i,y=1.1, label=paste(sig.rate, "%", sep=""), cex=.6)
}
plot(x=0,y=0, col="white", xlim=c(.9,10), xaxt="n", ylim=c(0,1.1), ylab="P-value",xlab="Branch Scaling")
axis(side=1, at=1:10)
for(i in 1:10){
jit.val <- jitter(rep(10, times=nrow(results[[i]])))
yjit <- jitter(rep(.5, times=nrow(results[[i]])))
x.vals <- rep(i, times=nrow(results[[i]])) + jit.val -10
points(x=x.vals,
y=results[[i]][,1]/100 + yjit - .5,
col="darkgray",
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
#abline(h=.95, lty=3, lwd=2)
#abline(h=1, lty=3, lwd=2)
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
#  sig.rate <- sig.rate + round(sum(pvals[,i] > 94) / 95 * 100, digits=0)
text(x=i,y=1.1, label=paste(sig.rate, "%", sep=""), cex=.6)
}
plot(x=0,y=0, col="white", xlim=c(.9,10), xaxt="n", ylim=c(0,1.1), ylab="P-value",xlab="Branch Scaling Factor")
axis(side=1, at=1:10)
for(i in 1:10){
jit.val <- jitter(rep(10, times=nrow(results[[i]])))
yjit <- jitter(rep(.5, times=nrow(results[[i]])))
x.vals <- rep(i, times=nrow(results[[i]])) + jit.val -10
points(x=x.vals,
y=results[[i]][,1]/100 + yjit - .5,
col="darkgray",
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
#abline(h=.95, lty=3, lwd=2)
#abline(h=1, lty=3, lwd=2)
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
#  sig.rate <- sig.rate + round(sum(pvals[,i] > 94) / 95 * 100, digits=0)
text(x=i,y=1.1, label=paste(sig.rate, "%", sep=""), cex=.6)
}
#now lets try doing some plotting
setwd("~/Desktop/Dropbox/R/ancCond")
load("full.results")
results <- list()
for(i in 1:10){
c.level <- full.results[[i]]
c.result <- as.data.frame(matrix(,1,2))
colnames(c.result) <- c("pval", "Ntrans")
for(j in 1:100){
foo2 <- c.level[[j]]
if(length(foo2) != 1){
c.result[j, 1:2] <- c(foo2$smaller, foo2$NTrans)
}
}
results[[i]] <- c.result[complete.cases(c.result), ]
}
names(results) <- c("results1","results2","results3","results4","results5",
"results6","results7","results8","results9","results10")
plot(x=0,y=0, col="white", xlim=c(.9,10), xaxt="n", ylim=c(0,1.1), ylab="P-value",xlab="Branch Scaling Factor")
axis(side=1, at=1:10)
for(i in 1:10){
jit.val <- jitter(rep(10, times=nrow(results[[i]])))
yjit <- jitter(rep(.5, times=nrow(results[[i]])))
x.vals <- rep(i, times=nrow(results[[i]])) + jit.val -10
points(x=x.vals,
y=results[[i]][,1]/100 + yjit - .5,
col="darkgray",
pch=16, cex=.5)
}
abline(h=.05, lty=3, lwd=2)
#abline(h=.95, lty=3, lwd=2)
#abline(h=1, lty=3, lwd=2)
pvals <- as.data.frame(matrix(,100,10))
for(i in 1:10){
pvals[1:nrow(results[[i]]),i] <- results[[i]][,1]
}
pvals <- pvals[1:95,]
for(i in 1:10){
sig.rate <- round(sum(pvals[,i] < 6) / 95 * 100, digits=0)
#  sig.rate <- sig.rate + round(sum(pvals[,i] > 94) / 95 * 100, digits=0)
text(x=i,y=1.1, label=paste(sig.rate, "%", sep=""), cex=.6)
}
c("range", "ABBAA", "BABAA", "ABABA",
"BAABA", "ABABA", "BAABA", "d1", "d2",
"d12","Z-d1", "Z-d2", "Z-d12", "d1-pval",
"d2-pval",  "d12-pval")
setwd("~/Desktop/mypack/GIT/evobir/R")
setwd("~/Desktop/mypack/GIT/evobir/R")
source("WinCalcPartD.R")
setwd("~/Desktop/mypack/GIT/evobir/inst")
setwd("~/Desktop/mypack/GIT/evobir/inst")
CalcPartD(alignment = "alignment.fasta", boot = F,
replicate = 1000, alpha = 0.05)
WinCalcPartD(alignment = "alignment.fasta", boot = F,
replicate = 1000, alpha = 0.05)
library(seqinr)
setwd("~/Desktop/mypack/GIT/evobir/R")
source("WinCalcPartD.R")
setwd("~/Desktop/mypack/GIT/evobir/inst")
WinCalcPartD(alignment = "alignment.fasta", boot = F,
replicate = 1000, alpha = 0.05)
WinCalcPartD(alignment = system.file("2.fasta", package = "evobiR"),
boot = TRUE, replicate=10)
WinCalcPartD(alignment = system.file("2.fasta", package = "evobiR"),
win.size=50, step.size=10, boot = TRUE, replicate=10)
alignment <- read.alignment(system.file("2.fasta", package = "evobiR"), format = "fasta")                          #  read in the alignment
alignment.matrix <- matrix(, length(alignment$nam), nchar(alignment$seq[[1]]))#  make a matrix for the alignment
for(i in 1:length(alignment$nam)){
alignment.matrix[i, ] <- unlist(strsplit(alignment$seq[[i]], ""))               #  fill in the matrix
}
View(alignment.matrix)
help(sample)
alignment.matrix <- alignment.matrix[,sample(1:416, size=10000, replace=T)]
setwd("~/Desktop")
write.csv(alignment.matrix, file="2.fasta")
alignment <- read.alignment(system.file("2.fasta", package = "evobiR"), format = "fasta")                          #  read in the alignment
alignment.matrix <- matrix(, length(alignment$nam), nchar(alignment$seq[[1]]))#  make a matrix for the alignment
for(i in 1:length(alignment$nam)){
alignment.matrix[i, ] <- unlist(strsplit(alignment$seq[[i]], ""))               #  fill in the matrix
}
alignment.matrix <- alignment.matrix[,sample(1:416, size=10000, replace=T)]
View(alignment.matrix)
write.csv(alignment.matrix, file="2.fasta")
library(seqinr)
setwd("~/Desktop/mypack/GIT/evobir/R")
source("WinCalcPartD.R")
setwd("~/Desktop/mypack/GIT/evobir/inst")
setwd("~/Desktop/mypack/GIT/evobir/inst")
WinCalcPartD(alignment = system.file("2.fasta", package = "evobiR"),
win.size=100, step.size=50, boot = TRUE, replicate=10)
WinCalcPartD(alignment = system.file("2.fasta", package = "evobiR"),
win.size=200, step.size=50, boot = TRUE, replicate=10)
library(devtools)
install_github("coleoguy/evobir")
library(evobiR)
library(evobiR)
setwd("~/Desktop/mypack/GIT/evobir/R")
source("WinCalcPartD.R")
setwd("~/Desktop/mypack/GIT/evobir/inst")
WinCalcPartD(alignment = system.file("2.fasta", package = "evobiR"),
win.size=200, step.size=50, boot = TRUE, replicate=10)
foo <- WinCalcPartD(alignment = system.file("2.fasta", package = "evobiR"),
win.size=200, step.size=100, boot = TRUE, replicate=100)
foo <- WinCalcPartD(alignment = system.file("2.fasta", package = "evobiR"),
win.size=500, step.size=250, boot = TRUE, replicate=100)
install_github("coleoguy/evobir")
library(evobiR)
install_github("coleoguy/evobir")
library(evobiR)
foo <- WinCalcPartD(alignment = system.file("2.fasta", package = "evobiR"),
win.size=500, step.size=250, boot = TRUE, replicate=100)
View(foo)
foo <- WinCalcPartD(alignment = system.file("2.fasta", package = "evobiR"),
win.size=1000, step.size=250, boot = TRUE, replicate=100)
View(foo)
foo <- WinCalcPartD(alignment = system.file("2.fasta", package = "evobiR"),
win.size=1000, step.size=500, boot = TRUE, replicate=100)
View(foo)
foo <- WinCalcPartD(alignment = system.file("2.fasta", package = "evobiR"),
win.size=1000, step.size=500, boot = F, replicate=100)
install_github("coleoguy/evobir")
install_github("coleoguy/evobir")
library(evobiR)
