annotate folds.R @ 48:cea4a54c52d0 draft

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