В настоящее время работаю над диаграммами биоинформатики из списков видов, разделенных линиями.У меня есть пять покрытых генов, и я генерирую перекрытие совпадающих видов (то есть сравнения охвата рибосомного гена).
RScript VennGenSpec.R Gene1Spec Gene2Spec Gene3Spec Gene4Spec Gene5Spec Output
Сейчас я создаю пять диаграмм Венна в формате pdf, но хотел обобщить функцию, чтобы разрешить различное количество наборов видов.Как я могу создать несколько циклов, которые читают переменное количество списков?(Например, генерировать 4 набора венн, 7 комплектов, в зависимости от количества входов.)
# install venn package
# install.packages("venn")
library("venn")
# load taxa lists
args <- commandArgs(trailingOnly = TRUE)
fia<-args[1]
fib<-args[2]
fic<-args[3]
fid<-args[4]
fie<-args[5]
out<-args[6]
##get lists
a<-read.table(fia)
b<-read.table(fib)
c<-read.table(fic)
d<-read.table(fid)
e<-read.table(fie)
#set pdf output
pdf(paste(out,"pdf",sep="."))
#plot venn
venn(list(a[,1],b[,1],c[,1],d[,1],e[,1]), snames = c("G1","G2","G3","G4","G5"), counts = NULL, ellipse = FALSE, zcolor = "style", size = 15, cexsn = 1, borders = TRUE)
Пример вывода Венна: VennExample
for (i in (1:(arguments-1)) ) {
fi[i] <-args[i]
}
else
output <-args[last]
for (i in (arguments -1) ) {
ta[i] <-read.table(fi[i])
}
sys.call
match.call
Также требуется передатьназвания списка видов в самой диаграмме [где snames].У меня есть имена макетов, как G1 ген 1 и т. Д ... выше
batch_args <- read.table(args[1], sep=",")
for
Я прошу прощения за более длинный пост.