Mercurial > repos > proteore > proteore_heatmap_visualization
annotate heatmap_viz.R @ 1:4651551b48e4 draft
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
| author | proteore |
|---|---|
| date | Wed, 12 Sep 2018 09:37:26 -0400 |
| parents | aa0b2692ab8a |
| children | 99207b432ebc |
| rev | line source |
|---|---|
|
0
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
1 #!/usr/bin/Rscript |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
2 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
3 suppressMessages(library('plotly')) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
4 suppressMessages(library('heatmaply')) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
5 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
6 #packageVersion('plotly') |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
7 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
8 get_args <- function(){ |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
9 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
10 ## Collect arguments |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
11 args <- commandArgs(TRUE) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
12 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
13 ## Default setting when no arguments passed |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
14 if(length(args) < 1) { |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
15 args <- c("--help") |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
16 } |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
17 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
18 ## Help section |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
19 if("--help" %in% args) { |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
20 cat("Pathview R script |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
21 Arguments: |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
22 --help Print this test |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
23 --input path of the input file (must contains a colum of uniprot and/or geneID accession number) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
24 --output Output file |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
25 --type type of output file, could be html, pdf, jpg or png |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
26 --cols Columns to use for heatmap, exemple : '3:8' to use columns from the third to the 8th |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
27 --row_names Column which contains row names |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
28 --header True or False |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
29 --col_text_angle Angle of columns label ; from -90 to 90 degres |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
30 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
31 Example: |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
32 ./heatmap_viz.R --input='dat.nucl.norm.imputed.tsv' --output='heatmap.html' --cols='3:8' --row_names='2' --header=TRUE --col_text_angle=0 \n\n") |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
33 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
34 q(save="no") |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
35 } |
|
1
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
36 |
|
0
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
37 parseArgs <- function(x) strsplit(sub("^--", "", x), "=") |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
38 argsDF <- as.data.frame(do.call("rbind", parseArgs(args))) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
39 args <- as.list(as.character(argsDF$V2)) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
40 names(args) <- argsDF$V1 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
41 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
42 return(args) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
43 } |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
44 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
45 read_file <- function(path,header){ |
|
1
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
46 file <- try(read.table(path,header=header, sep="\t",stringsAsFactors = FALSE, quote="",fill=TRUE),silent=TRUE) |
|
0
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
47 if (inherits(file,"try-error")){ |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
48 stop("File not found !") |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
49 }else{ |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
50 return(file) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
51 } |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
52 } |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
53 |
|
1
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
54 #convert a string to boolean |
|
0
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
55 str2bool <- function(x){ |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
56 if (any(is.element(c("t","true"),tolower(x)))){ |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
57 return (TRUE) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
58 }else if (any(is.element(c("f","false"),tolower(x)))){ |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
59 return (FALSE) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
60 }else{ |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
61 return(NULL) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
62 } |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
63 } |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
64 |
|
1
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
65 #remove remaining quote |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
66 #remove lines with at least one empty cell in a matrix between two defined columns |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
67 clean_df <- function(mat,first_col,last_col,rownames){ |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
68 tmp = mat[,first_col:last_col] |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
69 tmp <- as.data.frame(apply(tmp,c(1,2),function(x) {ifelse(is.character(x),as.numeric(x),x)})) |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
70 bad_lines <- which(apply(tmp, 1, function(x) any(is.na(x)))) |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
71 mat <- cbind(mat[,as.numeric(rownames)],tmp) |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
72 if (length(bad_lines) > 0) { |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
73 mat <- mat[- bad_lines,] |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
74 print(paste("lines",bad_lines, "has been removed: at least one non numeric content")) |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
75 } |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
76 return(mat) |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
77 } |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
78 |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
79 #get args |
|
0
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
80 args <- get_args() |
|
1
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
81 |
|
0
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
82 header=str2bool(args$header) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
83 output <- rapply(strsplit(args$output,"\\."),c) #remove extension |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
84 output <- paste(output[1:length(output)-1],collapse=".") |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
85 output <- paste(output,args$type,sep=".") |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
86 first_col=as.numeric(substr(args$cols,1,1)) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
87 last_col=as.numeric(substr(args$cols,3,3)) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
88 |
|
1
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
89 #cleaning data |
|
0
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
90 uto <- read_file(args$input,header = header) |
|
1
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
91 uto <- clean_df(uto,first_col,last_col,args$row_names) |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
92 data <- as.data.frame(uto[,-1]) |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
93 row_names = uto[,1] |
|
0
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
94 if (header) { |
|
1
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
95 col_names = names(data) |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
96 } else { |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
97 col_names = c(first_col:last_col) |
|
0
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
98 } |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
99 |
|
1
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
100 #building heatmap |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
101 heatmaply(data, file=output, margins=c(100,50,NA,0), plot_method="plotly", labRow = row_names, labCol = col_names, |
|
4651551b48e4
planemo upload commit dd5bd9c90796d9d9a0f62992bb5ca33b0efe6a05-dirty
proteore
parents:
0
diff
changeset
|
102 grid_gap = 0,cexCol = 1, column_text_angle = as.numeric(args$col_text_angle), width = 1000, height=1000, colors = c('blue','green','yellow','red')) |
|
0
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
103 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
104 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
105 ####heatmaply |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
106 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
107 simulateExprData <- function(n, n0, p, rho0, rho1){ |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
108 # n: total number of subjects |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
109 # n0: number of subjects with exposure 0 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
110 # n1: number of subjects with exposure 1 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
111 # p: number of genes |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
112 # rho0: rho between Z_i and Z_j for subjects with exposure 0 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
113 # rho1: rho between Z_i and Z_j for subjects with exposure 1 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
114 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
115 # Simulate gene expression values according to exposure 0 or 1, |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
116 # according to a centered multivariate normal distribution with |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
117 # covariance between Z_i and Z_j being rho^|i-j| |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
118 n1 <- n - n0 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
119 times <- 1:p |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
120 H <- abs(outer(times, times, "-")) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
121 V0 <- rho0^H |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
122 V1 <- rho1^H |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
123 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
124 # rows are people, columns are genes |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
125 genes0 <- MASS::mvrnorm(n = n0, mu = rep(0,p), Sigma = V0) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
126 genes1 <- MASS::mvrnorm(n = n1, mu = rep(0,p), Sigma = V1) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
127 genes <- rbind(genes0,genes1) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
128 return(genes) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
129 } |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
130 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
131 #genes <- simulateExprData(n = 50, n0 = 25, p = 100, rho0 = 0.01, rho1 = 0.95) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
132 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
133 #heatmaply(genes, k_row = 2, k_col = 2) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
134 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
135 #heatmaply(cor(genes), k_row = 2, k_col = 2) |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
136 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
137 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
138 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
139 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
140 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
141 |
|
aa0b2692ab8a
planemo upload commit 004439cca3c2fd3b5132eff246d846e5050bfd4f-dirty
proteore
parents:
diff
changeset
|
142 |
