annotate tablemerge_script.R @ 0:19e19f40dc7a draft

Test the tool dependencies managing.
author melpetera
date Tue, 26 Jul 2016 08:28:03 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
1 ################################################################################################
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
2 # TABLE MERGE #
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
3 # #
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
4 # User: Galaxy #
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
5 # Starting date: 16-04-2015 #
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
6 # V-0.1: First version of merge code #
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
7 # V-0.2: Addition of data check and handling of special characters #
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
8 # #
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
9 # #
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
10 # Input files: dataMatrix ; Metadata file #
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
11 # Output files: dataMatrix ; Metadata file #
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
12 # #
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
13 # Dependencies: RcheckLibrary.R ; miniTools.R #
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
14 # #
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
15 ################################################################################################
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
16
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
17 # Parameters (for dev)
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
18 if(FALSE){
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
19 DM.name <- "dataMatrix_CleanIons_CleanEch.txt"
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
20 meta.name <- "sampleMetadata_CleanEch.txt"
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
21 metype <- "sample"
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
22 output <- "Combined_${Metadata_in.name}"
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
23 }
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
24
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
25
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
26
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
27 tab.merge <- function(DM.name,meta.name,metype,output){
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
28 # This function allows to merge the dataMatrix with one metadata table.
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
29 #
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
30 # Parameters:
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
31 # - DM.name, meta.name: dataMatrix and metadata files' access respectively
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
32 # - metype: "sample" or "variable" depending on metadata content
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
33 # - output: output file's access
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
34
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
35
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
36 # Input --------------------------------------------------------------
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
37
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
38 DM <- read.table(DM.name,header=TRUE,sep="\t",check.names=FALSE)
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
39 meta <- read.table(meta.name,header=TRUE,sep="\t",check.names=FALSE)
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
40
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
41 # Table match check
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
42 table.check <- match2(DM,meta,metype)
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
43 check.err(table.check)
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
44
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
45 # StockID
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
46 meta.id <- stockID(DM,meta,metype)
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
47 DM<-meta.id$dataMatrix ; meta<-meta.id$Metadata ; meta.id<-meta.id$id.match
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
48
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
49
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
50 # Merging tables -----------------------------------------------------
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
51
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
52 if(metype=="sample"){
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
53 ori.DM <- DM
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
54 rownames(DM) <- DM[,1]
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
55 DM <- DM[,-1]
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
56 DM <- t(DM)
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
57 DM <- data.frame(sample=row.names(DM),DM)
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
58 rownames(DM) <- NULL
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
59 }
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
60
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
61 comb.data <- merge(x=meta,y=DM,by.x=1,by.y=1)
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
62
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
63
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
64 # Output -------------------------------------------------------------
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
65
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
66 # Getting back original identifiers
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
67 if(metype=="sample"){
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
68 id.ori <- reproduceID(ori.DM,comb.data,metype,meta.id)
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
69 }else{
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
70 id.ori <- reproduceID(DM,comb.data,metype,meta.id)
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
71 }
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
72 comb.data <- id.ori$Metadata
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
73
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
74 # Writing the table
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
75 write.table(comb.data,output,sep="\t",quote=FALSE,row.names=FALSE)
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
76
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
77
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
78 } # End of tab.merge
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
79
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
80
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
81 # Typical function call
19e19f40dc7a Test the tool dependencies managing.
melpetera
parents:
diff changeset
82 # tab.merge(DM.name,meta.name,metype,output)