annotate folds.R @ 89:c2efdf0c23a1 draft

Uploaded
author nicolas
date Fri, 28 Oct 2016 08:49:43 -0400
parents d388ee8c2d87
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
77
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
1 ########################################################
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
2 #
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
3 # creation date : 05/01/16
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
4 # last modification : 27/06/16
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
5 # author : Dr Nicolas Beaume
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
6 # owner : IRRI
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
7 #
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
8 ########################################################
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
9
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
10
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
11 ############################ main function #######################
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
12
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
13 # create fold by picking at random row indexes
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
14 createFolds <- function(nbObs, n) {
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
15 # pick indexes
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
16 index <- sample(1:n, size=nbObs, replace = T)
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
17 # populate folds
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
18 folds <- NULL
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
19 for(i in 1:n) {
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
20 folds <- c(folds, list(which(index==i)))
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
21 }
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
22 return(folds)
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
23 }
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
24
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
25 ############################ main #############################
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
26 # load arguments
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
27 cmd <- commandArgs(trailingOnly = T)
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
28 source(cmd[1])
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
29 # load data and merge them
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
30 con = file(genotype)
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
31 genotype <- readLines(con = con, n = 1, ok=T)
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
32 close(con)
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
33 # fold creation
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
34 nObs <- nrow(read.table(genotype, sep="\t", h=T))
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
35 folds <- createFolds(nObs, as.numeric(n))
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
36 # save them into a rds and send back to galaxy the path
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
37 out <- paste(out,".rds",sep="")
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
38 saveRDS(folds, file=out)
d388ee8c2d87 Uploaded
nicolas
parents:
diff changeset
39 cat(paste(out, "\n", sep=""))