1
1
# Description
2
2
# Parse input data for GU analysis
3
3
get_usage <- function (u ) {
4
+ u $ individual_org_name <- u $ individual_id
4
5
if (" replicate" %in% colnames(u )) {
5
6
u $ sample_id <- paste0(u $ individual_id , ' |' , u $ condition , ' |' , u $ replicate )
6
7
u $ sample_id <- as.numeric(as.factor(u $ sample_id ))
8
+ u $ individual_id <- paste0(u $ individual_id , ' |' , u $ condition )
7
9
8
- m <- u [duplicated(u $ sample_id )== FALSE ,
9
- c(" sample_id" , " individual_id" , " condition" , " replicate" )]
10
-
10
+ m <- u [duplicated(u $ sample_id )== FALSE , c(" sample_id" ,
11
+ " individual_id" ,
12
+ " individual_org_name" ,
13
+ " condition" ,
14
+ " replicate" )]
11
15
has_replicates <- TRUE
12
16
13
17
# if replicate column is provided BUT only one replicate is available
14
18
# per individual -> do analysis without replicates
15
19
k <- u [duplicated(u [,c(" individual_id" ," condition" ," replicate" )])== FALSE ,
16
- c(" individual_id" , " condition " )]
17
- if (all(table(apply( X = k , MARGIN = 1 , FUN = paste0 , collapse = ' | ' ) )== 1 )) {
20
+ c(" individual_id" )]
21
+ if (all(table(k )== 1 )) {
18
22
has_replicates <- FALSE
19
23
}
20
24
}
21
25
else {
22
26
u $ sample_id <- paste0(u $ individual_id , ' |' , u $ condition )
23
27
u $ sample_id <- as.numeric(as.factor(u $ sample_id ))
28
+ u $ individual_id <- paste0(u $ individual_id , ' |' , u $ condition )
24
29
25
- m <- u [duplicated(u $ sample_id )== FALSE ,
26
- c(" sample_id" , " individual_id" , " condition" )]
27
-
30
+ m <- u [duplicated(u $ sample_id )== FALSE , c(" sample_id" ,
31
+ " individual_id" ,
32
+ " individual_org_name" ,
33
+ " condition" )]
28
34
has_replicates <- FALSE
29
35
}
30
36
@@ -54,8 +60,11 @@ get_usage <- function(u) {
54
60
55
61
# individual data
56
62
individual_names <- character (length = length(sample_ids ))
63
+ individual_org_names <- character (length = length(sample_ids ))
57
64
for (i in 1 : length(sample_ids )) {
58
65
individual_names [i ] <- m $ individual_id [m $ sample_id == sample_ids [i ]][1 ]
66
+ individual_org_names [i ] <- m $ individual_org_name [
67
+ m $ sample_id == sample_ids [i ]][1 ]
59
68
}
60
69
individual_ids <- as.numeric(as.factor(individual_names ))
61
70
@@ -77,6 +86,7 @@ get_usage <- function(u) {
77
86
N_condition = max(condition_ids ),
78
87
individual_id = individual_ids ,
79
88
individual_names = individual_names ,
89
+ individual_org_names = individual_org_names ,
80
90
N_individual = max(individual_ids ),
81
91
proc_ud = u ,
82
92
has_replicates = has_replicates ,
0 commit comments