forked from pachterlab/sleuth_paper_analysis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcount_reads.R
49 lines (36 loc) · 1021 Bytes
/
count_reads.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
simulation_files <- system("find . -name 'sims.rds'", intern = TRUE)
count_reads_from_simulation <- function(sim_file) {
sim <- readRDS(sim_file)
all_counts <- sapply(sim,
function(s) {
sum(s$counts)
})
sum(all_counts)
}
reads_per_simulation <- sapply(simulation_files, count_reads_from_simulation)
sum(reads_per_simulation)
# 13752129731
# 13,752,129,731
# make a table
sum_columns <- function(sim_file) {
sim <- readRDS(sim_file)
all_counts <- sapply(sim,
function(s) {
apply(s$counts, 2, sum)
})
t(all_counts)
}
sum_columns(simulation_files[1])
total_reads <- lapply(simulation_files, sum_columns)
simulation_labels <- lapply(simulation_files,
function(x) {
res <- sub('./geuvadis/sims/', '', x)
sub('/sims.rds', '', res)
})
names(total_reads) <- simulation_labels
lapply(seq_along(total_reads), function(i) {
write.csv(total_reads[[i]],
file = file.path('results', paste0(simulation_labels[[i]], '.csv')),
quote = FALSE)
invisible(NULL)
})