def sources(self, lsources) :
for source in lsources :
- self.add('source("%s", encoding = \'utf8\')' % source)
+ self.add('source("%s", encoding = \'utf8\')' % ffr(source))
def packages(self, lpks) :
for pk in lpks :
def load(self, l) :
for val in l :
- self.add('load("%s")' % val)
+ self.add('load("%s")' % ffr(val))
def write(self) :
with open(self.scriptout, 'w') as f :
txt += """
chd2<-CHD(data2, x = nbt, mode.patate = mode.patate, svd.method = svd.method, libsvdc.path = libsvdc.path)
"""
- else:
- txt += """
- chd2<-chd1
- """
txt += """
#lecture des uce
}
n1 <- chd.result$n1
classeuce1 <- chd.result$cuce1
- classeuce2 <- chd.result$cuce2
- """ % (classif_mode, mincl, DicoPath['uce'])
+ classes<-n1[,ncol(n1)]
+ write.csv2(n1, file="%s")
+ rm(n1)
+ """ % (classif_mode, mincl, DicoPath['uce'], DicoPath['n1.csv'])
txt += """
tree.tot1 <- make_tree_tot(chd1)
# open_file_graph("%s", widt = 600, height=400)
# plot(tree.tot1$tree.cl)
# dev.off()
- """%DicoPath['arbre1']
+ """ % DicoPath['arbre1']
if classif_mode == 0:
txt += """
+ classeuce2 <- chd.result$cuce2
tree.tot2 <- make_tree_tot(chd2)
# open_file_graph("%s", width = 600, height=400)
# plot(tree.tot2$tree.cl)
txt += """
tree.cut1 <- make_dendro_cut_tuple(tree.tot1$dendro_tuple, chd.result$coord_ok, classeuce1, 1, nbt)
save(tree.cut1, file="%s")
- classes<-n1[,ncol(n1)]
+
open_file_graph("%s", width = 600, height=400)
plot.dendropr(tree.cut1$tree.cl,classes, histo=TRUE)
open_file_graph("%s", width = 600, height=400)
""" % (DicoPath['dendro2'], DicoPath['arbre2'])
txt += """
- save.image(file="%s")
- """ % DicoPath['RData']
+
+ #save.image(file="%s")
+ """ % (DicoPath['RData'])
+
fileout = open(DicoPath['Rchdtxt'], 'w')
fileout.write(txt)
fileout.close()
chd.result<-Rchdquest("%s","%s","%s", nbt = nbt, mincl = mincl)
n1 <- chd.result$n1
classeuce1 <- chd.result$cuce1
- """ % (DicoPath['mat01'], DicoPath['listeuce1'], DicoPath['uce'])
+ """ % (DicoPath['mat01.csv'], DicoPath['listeuce1'], DicoPath['uce'])
txt += """
tree_tot1 <- make_tree_tot(chd.result$chd)
txt = "clnb<-%i\n" % clnb
txt += """
source("%s")
-load("%s")
-""" % (RscriptsPath['chdfunct'], DictChdTxtOut['RData'])
+#load("%s")
+n1 <- read.csv2("%s")
+""" % (RscriptsPath['chdfunct'], DictChdTxtOut['RData'], DictChdTxtOut['n1.csv'])
txt += """
dataact<-read.csv2("%s", header = FALSE, sep = ';',quote = '\"', row.names = 1, na.strings = 'NA')
datasup<-read.csv2("%s", header = FALSE, sep = ';',quote = '\"', row.names = 1, na.strings = 'NA')
""" % (ffr(dendro),ffr(rgraph), ffr(tmpgraph))
return txt
-def barplot(table, rownames, colnames, rgraph, tmpgraph, intxt = False) :
+def barplot(table, parametres, intxt = False) :
if not intxt :
txttable = 'c(' + ','.join([','.join(line) for line in table]) + ')'
#width = 100 + (15 * len(rownames)) + (100 * len(colnames))
#height = len(rownames) * 15
- rownb = len(rownames)
+ rownb = len(parametres['rownames'])
#if height < 400 :
# height = 400
- rownames = 'c("' + '","'.join(rownames) + '")'
- colnames = 'c("' + '","'.join(colnames) + '")'
+ rownames = 'c("' + '","'.join(parametres['rownames']) + '")'
+ colnames = 'c("' + '","'.join(parametres['colnames']) + '")'
if not intxt :
#FIXME
""" % (txttable, rownb, rownames, colnames)
else :
txt = intxt
- txt += """
- source("%s")
- color = rainbow(nrow(di))
- width <- 100 + (20*length(rownames(di))) + (100 * length(colnames(di)))
- height <- nrow(di) * 15
- if (height < 400) { height <- 400}
- open_file_graph("%s",width = width, height = height)
- par(mar=c(0,0,0,0))
- layout(matrix(c(1,2),1,2, byrow=TRUE),widths=c(3,lcm(7)))
- par(mar=c(2,2,1,0))
- yp = ifelse(length(toinf), 0.2, 0)
- ym = ifelse(length(tominf), 0.2, 0)
- ymin <- ifelse(!length(which(di < 0)), 0, min(di) - ym)
- coord <- barplot(as.matrix(di), beside = TRUE, col = color, space = c(0.1,0.6), ylim=c(ymin, max(di) + yp))
- if (length(toinf)) {
- coordinf <- coord[toinf]
- valinf <- di[toinf]
- text(x=coordinf, y=valinf + 0.1, 'i')
- }
- if (length(tominf)) {
- coordinf <- coord[toinf]
- valinf <- di[toinf]
- text(x=coordinf, y=valinf - 0.1, 'i')
- }
- c <- colMeans(coord)
- c1 <- c[-1]
- c2 <- c[-length(c)]
- cc <- cbind(c1,c2)
- lcoord <- apply(cc, 1, mean)
- abline(v=lcoord)
- if (min(di) < 0) {
- amp <- abs(max(di) - min(di))
- } else {
- amp <- max(di)
- }
- if (amp < 10) {
- d <- 2
- } else {
- d <- signif(amp%%/%%10,1)
- }
- mn <- round(min(di))
- mx <- round(max(di))
- for (i in mn:mx) {
- if ((i/d) == (i%%/%%d)) {
- abline(h=i,lty=3)
+ if not 'tree' in parametres :
+ txt += """
+ source("%s")
+ color = rainbow(nrow(di))
+ width <- %i
+ height <- %i
+ open_file_graph("%s",width = width, height = height, svg = %s)
+ par(mar=c(0,0,0,0))
+ layout(matrix(c(1,2),1,2, byrow=TRUE),widths=c(3,lcm(7)))
+ par(mar=c(8,4,1,0))
+ yp = ifelse(length(toinf), 0.2, 0)
+ ym = ifelse(length(tominf), 0.2, 0)
+ ymin <- ifelse(!length(which(di < 0)), 0, min(di) - ym)
+ coord <- barplot(as.matrix(di), beside = TRUE, col = color, space = c(0.1,0.6), ylim=c(ymin, max(di) + yp), las = 2)
+ if (length(toinf)) {
+ coordinf <- coord[toinf]
+ valinf <- di[toinf]
+ text(x=coordinf, y=valinf + 0.1, 'i')
}
- }
- par(mar=c(0,0,0,0))
- plot(0, axes = FALSE, pch = '')
- legend(x = 'center' , rownames(di), fill = color)
- dev.off()
- """ % (rgraph, ffr(tmpgraph))
+ if (length(tominf)) {
+ coordinf <- coord[toinf]
+ valinf <- di[toinf]
+ text(x=coordinf, y=valinf - 0.1, 'i')
+ }
+ c <- colMeans(coord)
+ c1 <- c[-1]
+ c2 <- c[-length(c)]
+ cc <- cbind(c1,c2)
+ lcoord <- apply(cc, 1, mean)
+ abline(v=lcoord)
+ if (min(di) < 0) {
+ amp <- abs(max(di) - min(di))
+ } else {
+ amp <- max(di)
+ }
+ if (amp < 10) {
+ d <- 2
+ } else {
+ d <- signif(amp%%/%%10,1)
+ }
+ mn <- round(min(di))
+ mx <- round(max(di))
+ for (i in mn:mx) {
+ if ((i/d) == (i%%/%%d)) {
+ abline(h=i,lty=3)
+ }
+ }
+ par(mar=c(0,0,0,0))
+ plot(0, axes = FALSE, pch = '')
+ legend(x = 'center' , rownames(di), fill = color)
+ dev.off()
+ """ % (ffr(parametres['rgraph']), parametres['width'], parametres['height'], ffr(parametres['tmpgraph']), parametres['svg'])
+ else :
+ txt += """
+ load("%s")
+ library(ape)
+ source("%s")
+ width = %i
+ height = %i
+ open_file_graph("%s", width=width, height=height, svg = %s)
+ plot.dendro.lex(tree.cut1$tree.cl, di)
+ """ % (ffr(parametres['tree']), ffr(parametres['rgraph']), parametres['width'], parametres['height'], ffr(parametres['tmpgraph']), parametres['svg'])
return txt
#def RAfcUci(DictAfcUciOut, nd=2, RscriptsPath='', PARCEX='0.8'):
dm.path <- "%s"
cn.path <- "%s"
selected.col <- "%s"
- """ % (self.pathout['mat01.csv'], self.pathout['actives.csv'], self.pathout['selected.csv'])
+ """ % (ffr(self.pathout['mat01.csv']), ffr(self.pathout['actives.csv']), ffr(self.pathout['selected.csv']))
if 'word' in self.parametres :
txt += """
word <- TRUE
txt += """
dm.path <- "%s"
selected.col <- "%s"
- """ % (self.pathout['mat01.csv'], self.pathout['selected.csv'])
+ """ % (ffr(self.pathout['mat01.csv']), ffr(self.pathout['selected.csv']))
if 'word' in self.parametres :
txt += """
word <- TRUE
else :
txt += """
load("%s")
- """ % self.pathout['RData.RData']
+ """ % ffr(self.pathout['RData.RData'])
if self.parametres['coeff'] == 0 :
method = 'cooc'
if self.parametres['type_graph'] == 1 :
graphnb = 1
type = 'nplot'
- dirout = os.path.dirname(self.pathout['mat01'])
+ dirout = os.path.dirname(self.pathout['mat01.csv'])
while os.path.exists(os.path.join(dirout,'graph_simi_'+str(graphnb)+'.png')):
graphnb +=1
self.filename = ffr(os.path.join(dirout,'graph_simi_'+str(graphnb)+'.png'))
if self.parametres['type_graph'] == 3 :
graphnb = 1
type = 'web'
- dirout = os.path.dirname(self.pathout['mat01'])
+ dirout = os.path.dirname(self.pathout['mat01.csv'])
while os.path.exists(os.path.join(dirout,'web_'+str(graphnb))):
graphnb +=1
self.filename = ffr(os.path.join(dirout,'web_'+str(graphnb)))
if self.parametres['type_graph'] == 4 :
graphnb = 1
type = 'rglweb'
- dirout = os.path.dirname(self.pathout['mat01'])
+ dirout = os.path.dirname(self.pathout['mat01.csv'])
while os.path.exists(os.path.join(dirout,'webrgl_'+str(graphnb))):
graphnb +=1
self.filename = ffr(os.path.join(dirout,'webrgl_'+str(graphnb)))
"""
txt += """
seuil <- %s
+ if (!is.null(seuil)) {
+ if (method!='cooc') {
+ seuil <- seuil/100
+ }
+ }
""" % seuil
txt += """
cols <- vertex.label.color
chivertex.size <- norm.vec(toblack, vcexminmax[1], vcexminmax[2])
- """ % (self.analyse.parent.RscriptsPath['chdfunct'])
+ """ % (ffr(self.analyse.parent.RscriptsPath['chdfunct']))
else :
txt += """
vertex.label.color <- 'black'
}
coords <- plot.simi(graph.simi, p.type='%s',filename="%s", vertex.label = label.v, edge.label = label.e, vertex.col = vertex.col, vertex.label.color = vertex.label.color, vertex.label.cex=label.cex, vertex.size = vertex.size, edge.col = cola, leg=leg, width = width, height = height, alpha = alpha, movie = film, svg = svg)
save.image(file="%s")
- """ % (type, self.filename, self.pathout['RData'])
+ """ % (type, self.filename, ffr(self.pathout['RData']))
self.add(txt)
self.write()
def make_script(self) :
self.sources([self.analyse.parent.RscriptsPath['Rgraph'], self.analyse.parent.RscriptsPath['prototypical.R']])
self.packages(['wordcloud'])
+ if self.parametres.get('cloud', False) :
+ cloud = 'TRUE'
+ else :
+ cloud = 'FALSE'
txt = """
+ errorn <- function(x) {
+ qnorm(0.975)*sd(x)/sqrt(lenght(n))
+ }
+ errort <- function(x) {
+ qt(0.975,df=lenght(x)-1)*sd(x)/sqrt(lenght(x))
+ }
mat <- read.csv2("%s", header = FALSE, row.names=1, sep='\t', quote='"', dec='.')
open_file_graph("%s",height=800, width=1000)
- prototypical(mat, mfreq = %s, mrank = %s, cloud = FALSE, cexrange=c(1,2.4), cexalpha= c(0.4, 1))
+ prototypical(mat, mfreq = %s, mrank = %s, cloud = FALSE, cexrange=c(1,2.4), cexalpha= c(0.4, 1), type = '%s')
dev.off()
- """ % (self.analyse.pathout['table.csv'], self.analyse.pathout['proto.png'], self.parametres['limfreq'], self.parametres['limrang'])
+ """ % (self.analyse.pathout['table.csv'], self.analyse.pathout['proto.png'], self.parametres['limfreq'], self.parametres['limrang'], self.parametres['typegraph'])
self.add(txt)
self.write()
self.packages(['rgexf'])
txt = """
"""
-
+
+class TgenSpecScript(PrintRScript):
+ def make_script(self):
+ self.packages(['textometry'])
+ txt = """
+ tgen <- read.csv2("%s", row.names = 1, sep = '\\t')
+ """ % ffr(self.parametres['tgeneff'])
+ txt += """
+ tot <- tgen[nrow(tgen), ]
+ result <- NULL
+ tgen <- tgen[-nrow(tgen),]
+ for (i in 1:nrow(tgen)) {
+ mat <- rbind(tgen[i,], tot - tgen[i,])
+ specmat <- specificities(mat)
+ result <- rbind(result, specmat[1,])
+ }
+ colnames(result) <- colnames(tgen)
+ row.names(result) <- rownames(tgen)
+ write.table(result, file = "%s", sep='\\t', col.names = NA)
+ """ % self.pathout['tgenspec.csv']
+ self.add(txt)
+