使用 r 求和迭代
Sum iteration using r
我有一个名为 argRcount
的评分矩阵。数据采用矩阵形式,其中行名表示核苷酸名称 a/t/c/g
并且有 k = 18 列表示每个核苷酸的第 1 到第 k 个值。
我有另一个数据(实际上是列表),其中第一项包含基因名称,第二项包含一个核苷酸序列向量(字符),例如 n
个字符。在下面的例子中 n=450.
我真正想要的是对每个基因进行滚动求和,其中第一个 k
个连续核苷酸序列将从矩阵 argRcount
匹配,然后从第 2 个核苷酸到第 19 个核苷酸,依此类推每个基因。因此,最后我将为每个基因获得 n-k+1
值(滚动总和值)。在这个特定的例子中,每个基因的最终结果应该有 433 个值。
这些是我的数据输出:
argRcount <- structure(c(0.149531733970964, 0.0317486983145803, -0.661398482245365,
0.25489224962879, 0.517256514096281, -0.438254930931155, -0.949080554697146,
0.25489224962879, 1.04334960999306, -1.35454566280531, -1.35454566280531,
-0.438254930931155, 0.25489224962879, -0.101782694309942, 0.149531733970964,
-0.438254930931155, -0.438254930931155, -0.949080554697146, -0.949080554697146,
0.948039430188735, -0.949080554697146, -0.661398482245365, 1.04334960999306,
-1.35454566280531, 1.04334960999306, -0.661398482245365, -0.949080554697146,
-1.35454566280531, 1.04334960999306, -0.661398482245365, -0.949080554697146,
-1.35454566280531, -0.661398482245365, -1.35454566280531, -2.04769284336526,
1.13036098698269, 0.350202429433115, -2.04769284336526, -1.35454566280531,
0.78552050069096, 0.149531733970964, -0.949080554697146, -2.04769284336526,
0.842678914530909, -0.255933374137201, -2.04769284336526, -1.35454566280531,
1.04334960999306, 0.0317486983145803, 0.0317486983145803, -2.04769284336526,
0.591364486250003, 1.21040369465623, -2.04769284336526, -1.35454566280531,
-1.35454566280531, -0.438254930931155, -0.661398482245365, -2.04769284336526,
0.996829594358167, -0.949080554697146, -0.661398482245365, 0.724895878874526,
0.0317486983145803, -0.949080554697146, 1.17118298150295, -2.04769284336526,
-1.35454566280531, 1.21040369465623, -2.04769284336526, -0.949080554697146,
-2.04769284336526), .Dim = c(4L, 18L), .Dimnames = list(c("a",
"c", "g", "t"), c("1", "2", "3", "4", "5", "6", "7", "8", "9",
"10", "11", "12", "13", "14", "15", "16", "17", "18")))
upstream <- structure(list(gene_id = c("16127995", "16127996", "16127997",
"16127998", "16127999"), seq = c("aacggcagaccaacatcaactgcaagctttacgcgaacgagccatgacattgctgacgactctggcagtggcagatgacataaaactggtcgactggttacaacaacgcctggggcttttagagcaacgagacacggcaatgttgcaccgtttgctgcatgatattgaaaaaaatatcaccaaataaaaaacgccttagtaagtatttttcagcttttcattctgactgcaacgggcaatatgtctctgtgtggattaaaaaaagagtgtctgatagcagcttctgaactggttacctgccgtgagtaaattaaaattttattgacttaggtcactaaatactttaaccaatataggcatagcgcacagacagataaaaattacagagtacacaacatccatgaaacgcattagcaccaccattaccaccaccatcaccattaccacagg",
"ccgtttgctgcatgatattgaaaaaaatatcaccaaataaaaaacgccttagtaagtatttttcagcttttcattctgactgcaacgggcaatatgtctctgtgtggattaaaaaaagagtgtctgatagcagcttctgaactggttacctgccgtgagtaaattaaaattttattgacttaggtcactaaatactttaaccaatataggcatagcgcacagacagataaaaattacagagtacacaacatccatgaaacgcattagcaccaccattaccaccaccatcaccattaccacaggtaacggtgcgggctgacgcgtacaggaaacacagaaaaaagcccgcacctgacagtgcgggctttttttttcgaccaaaggtaacgaggtaacaaccatgcgagtgttgaagttcggcggtacatcagtggcaaatgcagaacgttt",
"gaaacgggacgtgaactggagctggcggatattgaaattgaacctgtgctgcccgcagagtttaacgccgagggtgatgttgccgcttttatggcgaatctgtcacaactcgacgatctctttgccgcgcgcgtggcgaaggcccgtgatgaaggaaaagttttgcgctatgttggcaatattgatgaagatggcgtctgccgcgtgaagattgccgaagtggatggtaatgatccgctgttcaaagtgaaaaatggcgaaaacgccctggccttctatagccactattatcagccgctgccgttggtactgcgcggatatggtgcgggcaatgacgttacagctgccggtgtctttgctgatctgctacgtaccctctcatggaagttaggagtctgacatggttaaagtttatgccccggcttccagtgccaatatgagcgtcgggtt",
"ggggattaaagtctcgacggcagaagccagggctattttaccggcgcagtatcgccgccaggattgcattgcgcacgggcgacatctggcaggcttcattcacgcctgctattcccgtcagcctgagcttgccgcgaagctgatgaaagatgttatcgctgaaccctaccgtgaacggttactgccaggcttccggcaggcgcggcaggcggtcgcggaaatcggcgcggtagcgagcggtatctccggctccggcccgaccttgttcgctctgtgtgacaagccggaaaccgcccagcgcgttgccgactggttgggtaagaactacctgcaaaatcaggaaggttttgttcatatttgccggctggatacggcgggcgcacgagtactggaaaactaaatgaaactctacaatctgaaagatcacaacgagcaggtcagctttgcgca",
"aggcgaatatggcttgttcctcggcaccgcgcatccggcgaaatttaaagagagcgtggaagcgattctcggtgaaacgttggatctgccaaaagagctggcagaacgtgctgatttacccttgctttcacataatctgcccgccgattttgctgcgttgcgtaaattgatgatgaatcatcagtaaaatctattcattatctcaatcaggccgggtttgcttttatgcagcccggcttttttatgaagaaattatggagaaaaatgacagggaaaaaggagaaattctcaataaatgcggtaacttagagattaggattgcggagaataacaaccgccgttctcatcgagtaatctccggatatcgacccataacgggcaatgataaaaggagtaacctgtgaaaaagatgcaatctatcgtactcgcactttccctggttctggtcgc"
)), row.names = c(NA, 5L), class = "data.frame")
为了看得更清楚,我的 argRcount
看起来像这样
1 2 3 4 5 6 7 8 9 10 11
a 0.1495317 0.5172565 1.0433496 0.2548922 -0.4382549 -0.9490806 1.0433496 1.0433496 -0.6613985 0.3502024 0.1495317
c 0.0317487 -0.4382549 -1.3545457 -0.1017827 -0.9490806 -0.6613985 -0.6613985 -0.6613985 -1.3545457 -2.0476928 -0.9490806
g -0.6613985 -0.9490806 -1.3545457 0.1495317 -0.9490806 1.0433496 -0.9490806 -0.9490806 -2.0476928 -1.3545457 -2.0476928
t 0.2548922 0.2548922 -0.4382549 -0.4382549 0.9480394 -1.3545457 -1.3545457 -1.3545457 1.1303610 0.7855205 0.8426789
12 13 14 15 16 17 18
a -0.2559334 0.0317487 1.210404 -0.4382549 -0.9490806 -0.9490806 1.2104037
c -2.0476928 0.0317487 -2.047693 -0.6613985 -0.6613985 1.1711830 -2.0476928
g -1.3545457 -2.0476928 -1.354546 -2.0476928 0.7248959 -2.0476928 -0.9490806
t 1.0433496 0.5913645 -1.354546 0.9968296 0.0317487 -1.3545457 -2.0476928
来自上游的示例序列如下所示
> upstream[[2]][1]
[1] "aacggcagaccaacatcaactgcaagctttacgcgaacgagccatgacattgctgacgactctggcagtggcagatgacataaaactggtcgactggttacaacaacgcctggggcttttagagcaacgagacacggcaatgttgcaccgtttgctgcatgatattgaaaaaaatatcaccaaataaaaaacgccttagtaagtatttttcagcttttcattctgactgcaacgggcaatatgtctctgtgtggattaaaaaaagagtgtctgatagcagcttctgaactggttacctgccgtgagtaaattaaaattttattgacttaggtcactaaatactttaaccaatataggcatagcgcacagacagataaaaattacagagtacacaacatccatgaaacgcattagcaccaccattaccaccaccatcaccattaccacagg"
到目前为止,我试过这个:
seq_score<-vector()
for (i in 1:length(upstream$seq)){
seq_score[i]<-argRcount[upstream[[1]][i],i]
}
sum(seq_score)
sum(apply(argRcount,2,max))
但它只给了我前 18 个核苷酸的分数。提前致谢。
鉴于上游数据发生变化BaseR策略(不加载任何额外的pacakage/library)
#create an empty list for output
seq_list <- vector(mode = "list", length = length(upstream[[2]]))
#name it according to genes
seq_list <- setNames(seq_list, upstream[[1]])
#create an empty vector for storing intermediate objects
seq_score<-vector()
#modify upstream to split the nucleotides
upstream <- sapply(upstream[[2]], function(x) strsplit(x, ""))
#actual for loop
for(k in seq_along(upstream)){
for(i in seq_len(length(upstream[[k]]) -17)){
for(j in 1:18){
seq_score[j] <- argRcount[upstream[[k]][i + j -1], j]
seq_list[[k]][i] <- sum(seq_score)
}
}
}
#output
seq_list
#check it
str(seq_list)
List of 5
$ 16127995: num [1:433] -6.01 -4.97 -10.22 -11.17 -4.3 ...
$ 16127996: num [1:433] -9.81 -8.91 -10.75 -3.88 3.06 ...
$ 16127997: num [1:433] -8.6 -3.81 -4.76 -9.88 -16.98 ...
$ 16127998: num [1:433] -10.49 -8.48 -5.51 -9.31 -7.3 ...
$ 16127999: num [1:433] -10.75 -15.01 -8.22 -8.08 -9.8 ...
旧答案
对于您之前 upstream
的输入,我已经尝试过这种嵌套 for loop
。在 seq_list
.
中得到你想要的
#create an empty list for final output
seq_list <- vector(mode = "list", length = length(upstream))
#create an empty vector for intermediate results
seq_score<- vector()
#for loop
for(k in seq_along(upstream)){
for(i in seq_len(length(upstream[[k]]) -17)){
for(j in 1:18){
seq_score[j] <- argRcount[upstream[[k]][i + j -1], j]
seq_list[[k]][i] <- sum(seq_score)
}
}
}
str(seq_list)
List of 10
$ : num [1:433] -6.01 -4.97 -10.22 -11.17 -4.3 ...
$ : num [1:433] -9.81 -8.91 -10.75 -3.88 3.06 ...
$ : num [1:433] -8.6 -3.81 -4.76 -9.88 -16.98 ...
$ : num [1:433] -10.49 -8.48 -5.51 -9.31 -7.3 ...
$ : num [1:433] -10.75 -15.01 -8.22 -8.08 -9.8 ...
$ : num [1:433] -9.69 -9.49 -4.56 -7.93 -10.06 ...
$ : num [1:433] -7.95 -9.12 -12.18 -7.26 -9.62 ...
$ : num [1:433] -10.22 -3.94 -10.88 -4.6 -7.54 ...
$ : num [1:433] -8.57 -10.67 -9.04 -8.94 -12.3 ...
$ : num [1:433] 0.0425 -3.5291 -9.2187 -6.5724 2.3064 ...
使用了较早 upstream
的 dput
upstream <- list(c("a", "a", "c", "g", "g", "c", "a", "g", "a", "c", "c",
"a", "a", "c", "a", "t", "c", "a", "a", "c", "t", "g", "c", "a",
"a", "g", "c", "t", "t", "t", "a", "c", "g", "c", "g", "a", "a",
"c", "g", "a", "g", "c", "c", "a", "t", "g", "a", "c", "a", "t",
"t", "g", "c", "t", "g", "a", "c", "g", "a", "c", "t", "c", "t",
"g", "g", "c", "a", "g", "t", "g", "g", "c", "a", "g", "a", "t",
"g", "a", "c", "a", "t", "a", "a", "a", "a", "c", "t", "g", "g",
"t", "c", "g", "a", "c", "t", "g", "g", "t", "t", "a", "c", "a",
"a", "c", "a", "a", "c", "g", "c", "c", "t", "g", "g", "g", "g",
"c", "t", "t", "t", "t", "a", "g", "a", "g", "c", "a", "a", "c",
"g", "a", "g", "a", "c", "a", "c", "g", "g", "c", "a", "a", "t",
"g", "t", "t", "g", "c", "a", "c", "c", "g", "t", "t", "t", "g",
"c", "t", "g", "c", "a", "t", "g", "a", "t", "a", "t", "t", "g",
"a", "a", "a", "a", "a", "a", "a", "t", "a", "t", "c", "a", "c",
"c", "a", "a", "a", "t", "a", "a", "a", "a", "a", "a", "c", "g",
"c", "c", "t", "t", "a", "g", "t", "a", "a", "g", "t", "a", "t",
"t", "t", "t", "t", "c", "a", "g", "c", "t", "t", "t", "t", "c",
"a", "t", "t", "c", "t", "g", "a", "c", "t", "g", "c", "a", "a",
"c", "g", "g", "g", "c", "a", "a", "t", "a", "t", "g", "t", "c",
"t", "c", "t", "g", "t", "g", "t", "g", "g", "a", "t", "t", "a",
"a", "a", "a", "a", "a", "a", "g", "a", "g", "t", "g", "t", "c",
"t", "g", "a", "t", "a", "g", "c", "a", "g", "c", "t", "t", "c",
"t", "g", "a", "a", "c", "t", "g", "g", "t", "t", "a", "c", "c",
"t", "g", "c", "c", "g", "t", "g", "a", "g", "t", "a", "a", "a",
"t", "t", "a", "a", "a", "a", "t", "t", "t", "t", "a", "t", "t",
"g", "a", "c", "t", "t", "a", "g", "g", "t", "c", "a", "c", "t",
"a", "a", "a", "t", "a", "c", "t", "t", "t", "a", "a", "c", "c",
"a", "a", "t", "a", "t", "a", "g", "g", "c", "a", "t", "a", "g",
"c", "g", "c", "a", "c", "a", "g", "a", "c", "a", "g", "a", "t",
"a", "a", "a", "a", "a", "t", "t", "a", "c", "a", "g", "a", "g",
"t", "a", "c", "a", "c", "a", "a", "c", "a", "t", "c", "c", "a",
"t", "g", "a", "a", "a", "c", "g", "c", "a", "t", "t", "a", "g",
"c", "a", "c", "c", "a", "c", "c", "a", "t", "t", "a", "c", "c",
"a", "c", "c", "a", "c", "c", "a", "t", "c", "a", "c", "c", "a",
"t", "t", "a", "c", "c", "a", "c", "a", "g", "g"), c("c", "c",
"g", "t", "t", "t", "g", "c", "t", "g", "c", "a", "t", "g", "a",
"t", "a", "t", "t", "g", "a", "a", "a", "a", "a", "a", "a", "t",
"a", "t", "c", "a", "c", "c", "a", "a", "a", "t", "a", "a", "a",
"a", "a", "a", "c", "g", "c", "c", "t", "t", "a", "g", "t", "a",
"a", "g", "t", "a", "t", "t", "t", "t", "t", "c", "a", "g", "c",
"t", "t", "t", "t", "c", "a", "t", "t", "c", "t", "g", "a", "c",
"t", "g", "c", "a", "a", "c", "g", "g", "g", "c", "a", "a", "t",
"a", "t", "g", "t", "c", "t", "c", "t", "g", "t", "g", "t", "g",
"g", "a", "t", "t", "a", "a", "a", "a", "a", "a", "a", "g", "a",
"g", "t", "g", "t", "c", "t", "g", "a", "t", "a", "g", "c", "a",
"g", "c", "t", "t", "c", "t", "g", "a", "a", "c", "t", "g", "g",
"t", "t", "a", "c", "c", "t", "g", "c", "c", "g", "t", "g", "a",
"g", "t", "a", "a", "a", "t", "t", "a", "a", "a", "a", "t", "t",
"t", "t", "a", "t", "t", "g", "a", "c", "t", "t", "a", "g", "g",
"t", "c", "a", "c", "t", "a", "a", "a", "t", "a", "c", "t", "t",
"t", "a", "a", "c", "c", "a", "a", "t", "a", "t", "a", "g", "g",
"c", "a", "t", "a", "g", "c", "g", "c", "a", "c", "a", "g", "a",
"c", "a", "g", "a", "t", "a", "a", "a", "a", "a", "t", "t", "a",
"c", "a", "g", "a", "g", "t", "a", "c", "a", "c", "a", "a", "c",
"a", "t", "c", "c", "a", "t", "g", "a", "a", "a", "c", "g", "c",
"a", "t", "t", "a", "g", "c", "a", "c", "c", "a", "c", "c", "a",
"t", "t", "a", "c", "c", "a", "c", "c", "a", "c", "c", "a", "t",
"c", "a", "c", "c", "a", "t", "t", "a", "c", "c", "a", "c", "a",
"g", "g", "t", "a", "a", "c", "g", "g", "t", "g", "c", "g", "g",
"g", "c", "t", "g", "a", "c", "g", "c", "g", "t", "a", "c", "a",
"g", "g", "a", "a", "a", "c", "a", "c", "a", "g", "a", "a", "a",
"a", "a", "a", "g", "c", "c", "c", "g", "c", "a", "c", "c", "t",
"g", "a", "c", "a", "g", "t", "g", "c", "g", "g", "g", "c", "t",
"t", "t", "t", "t", "t", "t", "t", "t", "c", "g", "a", "c", "c",
"a", "a", "a", "g", "g", "t", "a", "a", "c", "g", "a", "g", "g",
"t", "a", "a", "c", "a", "a", "c", "c", "a", "t", "g", "c", "g",
"a", "g", "t", "g", "t", "t", "g", "a", "a", "g", "t", "t", "c",
"g", "g", "c", "g", "g", "t", "a", "c", "a", "t", "c", "a", "g",
"t", "g", "g", "c", "a", "a", "a", "t", "g", "c", "a", "g", "a",
"a", "c", "g", "t", "t", "t"), c("g", "a", "a", "a", "c", "g",
"g", "g", "a", "c", "g", "t", "g", "a", "a", "c", "t", "g", "g",
"a", "g", "c", "t", "g", "g", "c", "g", "g", "a", "t", "a", "t",
"t", "g", "a", "a", "a", "t", "t", "g", "a", "a", "c", "c", "t",
"g", "t", "g", "c", "t", "g", "c", "c", "c", "g", "c", "a", "g",
"a", "g", "t", "t", "t", "a", "a", "c", "g", "c", "c", "g", "a",
"g", "g", "g", "t", "g", "a", "t", "g", "t", "t", "g", "c", "c",
"g", "c", "t", "t", "t", "t", "a", "t", "g", "g", "c", "g", "a",
"a", "t", "c", "t", "g", "t", "c", "a", "c", "a", "a", "c", "t",
"c", "g", "a", "c", "g", "a", "t", "c", "t", "c", "t", "t", "t",
"g", "c", "c", "g", "c", "g", "c", "g", "c", "g", "t", "g", "g",
"c", "g", "a", "a", "g", "g", "c", "c", "c", "g", "t", "g", "a",
"t", "g", "a", "a", "g", "g", "a", "a", "a", "a", "g", "t", "t",
"t", "t", "g", "c", "g", "c", "t", "a", "t", "g", "t", "t", "g",
"g", "c", "a", "a", "t", "a", "t", "t", "g", "a", "t", "g", "a",
"a", "g", "a", "t", "g", "g", "c", "g", "t", "c", "t", "g", "c",
"c", "g", "c", "g", "t", "g", "a", "a", "g", "a", "t", "t", "g",
"c", "c", "g", "a", "a", "g", "t", "g", "g", "a", "t", "g", "g",
"t", "a", "a", "t", "g", "a", "t", "c", "c", "g", "c", "t", "g",
"t", "t", "c", "a", "a", "a", "g", "t", "g", "a", "a", "a", "a",
"a", "t", "g", "g", "c", "g", "a", "a", "a", "a", "c", "g", "c",
"c", "c", "t", "g", "g", "c", "c", "t", "t", "c", "t", "a", "t",
"a", "g", "c", "c", "a", "c", "t", "a", "t", "t", "a", "t", "c",
"a", "g", "c", "c", "g", "c", "t", "g", "c", "c", "g", "t", "t",
"g", "g", "t", "a", "c", "t", "g", "c", "g", "c", "g", "g", "a",
"t", "a", "t", "g", "g", "t", "g", "c", "g", "g", "g", "c", "a",
"a", "t", "g", "a", "c", "g", "t", "t", "a", "c", "a", "g", "c",
"t", "g", "c", "c", "g", "g", "t", "g", "t", "c", "t", "t", "t",
"g", "c", "t", "g", "a", "t", "c", "t", "g", "c", "t", "a", "c",
"g", "t", "a", "c", "c", "c", "t", "c", "t", "c", "a", "t", "g",
"g", "a", "a", "g", "t", "t", "a", "g", "g", "a", "g", "t", "c",
"t", "g", "a", "c", "a", "t", "g", "g", "t", "t", "a", "a", "a",
"g", "t", "t", "t", "a", "t", "g", "c", "c", "c", "c", "g", "g",
"c", "t", "t", "c", "c", "a", "g", "t", "g", "c", "c", "a", "a",
"t", "a", "t", "g", "a", "g", "c", "g", "t", "c", "g", "g", "g",
"t", "t"), c("g", "g", "g", "g", "a", "t", "t", "a", "a", "a",
"g", "t", "c", "t", "c", "g", "a", "c", "g", "g", "c", "a", "g",
"a", "a", "g", "c", "c", "a", "g", "g", "g", "c", "t", "a", "t",
"t", "t", "t", "a", "c", "c", "g", "g", "c", "g", "c", "a", "g",
"t", "a", "t", "c", "g", "c", "c", "g", "c", "c", "a", "g", "g",
"a", "t", "t", "g", "c", "a", "t", "t", "g", "c", "g", "c", "a",
"c", "g", "g", "g", "c", "g", "a", "c", "a", "t", "c", "t", "g",
"g", "c", "a", "g", "g", "c", "t", "t", "c", "a", "t", "t", "c",
"a", "c", "g", "c", "c", "t", "g", "c", "t", "a", "t", "t", "c",
"c", "c", "g", "t", "c", "a", "g", "c", "c", "t", "g", "a", "g",
"c", "t", "t", "g", "c", "c", "g", "c", "g", "a", "a", "g", "c",
"t", "g", "a", "t", "g", "a", "a", "a", "g", "a", "t", "g", "t",
"t", "a", "t", "c", "g", "c", "t", "g", "a", "a", "c", "c", "c",
"t", "a", "c", "c", "g", "t", "g", "a", "a", "c", "g", "g", "t",
"t", "a", "c", "t", "g", "c", "c", "a", "g", "g", "c", "t", "t",
"c", "c", "g", "g", "c", "a", "g", "g", "c", "g", "c", "g", "g",
"c", "a", "g", "g", "c", "g", "g", "t", "c", "g", "c", "g", "g",
"a", "a", "a", "t", "c", "g", "g", "c", "g", "c", "g", "g", "t",
"a", "g", "c", "g", "a", "g", "c", "g", "g", "t", "a", "t", "c",
"t", "c", "c", "g", "g", "c", "t", "c", "c", "g", "g", "c", "c",
"c", "g", "a", "c", "c", "t", "t", "g", "t", "t", "c", "g", "c",
"t", "c", "t", "g", "t", "g", "t", "g", "a", "c", "a", "a", "g",
"c", "c", "g", "g", "a", "a", "a", "c", "c", "g", "c", "c", "c",
"a", "g", "c", "g", "c", "g", "t", "t", "g", "c", "c", "g", "a",
"c", "t", "g", "g", "t", "t", "g", "g", "g", "t", "a", "a", "g",
"a", "a", "c", "t", "a", "c", "c", "t", "g", "c", "a", "a", "a",
"a", "t", "c", "a", "g", "g", "a", "a", "g", "g", "t", "t", "t",
"t", "g", "t", "t", "c", "a", "t", "a", "t", "t", "t", "g", "c",
"c", "g", "g", "c", "t", "g", "g", "a", "t", "a", "c", "g", "g",
"c", "g", "g", "g", "c", "g", "c", "a", "c", "g", "a", "g", "t",
"a", "c", "t", "g", "g", "a", "a", "a", "a", "c", "t", "a", "a",
"a", "t", "g", "a", "a", "a", "c", "t", "c", "t", "a", "c", "a",
"a", "t", "c", "t", "g", "a", "a", "a", "g", "a", "t", "c", "a",
"c", "a", "a", "c", "g", "a", "g", "c", "a", "g", "g", "t", "c",
"a", "g", "c", "t", "t", "t", "g", "c", "g", "c", "a"), c("a",
"g", "g", "c", "g", "a", "a", "t", "a", "t", "g", "g", "c", "t",
"t", "g", "t", "t", "c", "c", "t", "c", "g", "g", "c", "a", "c",
"c", "g", "c", "g", "c", "a", "t", "c", "c", "g", "g", "c", "g",
"a", "a", "a", "t", "t", "t", "a", "a", "a", "g", "a", "g", "a",
"g", "c", "g", "t", "g", "g", "a", "a", "g", "c", "g", "a", "t",
"t", "c", "t", "c", "g", "g", "t", "g", "a", "a", "a", "c", "g",
"t", "t", "g", "g", "a", "t", "c", "t", "g", "c", "c", "a", "a",
"a", "a", "g", "a", "g", "c", "t", "g", "g", "c", "a", "g", "a",
"a", "c", "g", "t", "g", "c", "t", "g", "a", "t", "t", "t", "a",
"c", "c", "c", "t", "t", "g", "c", "t", "t", "t", "c", "a", "c",
"a", "t", "a", "a", "t", "c", "t", "g", "c", "c", "c", "g", "c",
"c", "g", "a", "t", "t", "t", "t", "g", "c", "t", "g", "c", "g",
"t", "t", "g", "c", "g", "t", "a", "a", "a", "t", "t", "g", "a",
"t", "g", "a", "t", "g", "a", "a", "t", "c", "a", "t", "c", "a",
"g", "t", "a", "a", "a", "a", "t", "c", "t", "a", "t", "t", "c",
"a", "t", "t", "a", "t", "c", "t", "c", "a", "a", "t", "c", "a",
"g", "g", "c", "c", "g", "g", "g", "t", "t", "t", "g", "c", "t",
"t", "t", "t", "a", "t", "g", "c", "a", "g", "c", "c", "c", "g",
"g", "c", "t", "t", "t", "t", "t", "t", "a", "t", "g", "a", "a",
"g", "a", "a", "a", "t", "t", "a", "t", "g", "g", "a", "g", "a",
"a", "a", "a", "a", "t", "g", "a", "c", "a", "g", "g", "g", "a",
"a", "a", "a", "a", "g", "g", "a", "g", "a", "a", "a", "t", "t",
"c", "t", "c", "a", "a", "t", "a", "a", "a", "t", "g", "c", "g",
"g", "t", "a", "a", "c", "t", "t", "a", "g", "a", "g", "a", "t",
"t", "a", "g", "g", "a", "t", "t", "g", "c", "g", "g", "a", "g",
"a", "a", "t", "a", "a", "c", "a", "a", "c", "c", "g", "c", "c",
"g", "t", "t", "c", "t", "c", "a", "t", "c", "g", "a", "g", "t",
"a", "a", "t", "c", "t", "c", "c", "g", "g", "a", "t", "a", "t",
"c", "g", "a", "c", "c", "c", "a", "t", "a", "a", "c", "g", "g",
"g", "c", "a", "a", "t", "g", "a", "t", "a", "a", "a", "a", "g",
"g", "a", "g", "t", "a", "a", "c", "c", "t", "g", "t", "g", "a",
"a", "a", "a", "a", "g", "a", "t", "g", "c", "a", "a", "t", "c",
"t", "a", "t", "c", "g", "t", "a", "c", "t", "c", "g", "c", "a",
"c", "t", "t", "t", "c", "c", "c", "t", "g", "g", "t", "t", "c",
"t", "g", "g", "t", "c", "g", "c"), c("c", "t", "a", "c", "a",
"t", "t", "t", "a", "t", "g", "c", "c", "g", "a", "a", "a", "a",
"c", "a", "a", "t", "c", "t", "c", "t", "t", "c", "t", "t", "t",
"t", "t", "a", "c", "g", "c", "c", "t", "g", "a", "a", "c", "a",
"a", "c", "c", "c", "t", "a", "a", "a", "g", "c", "g", "a", "t",
"c", "t", "g", "g", "t", "g", "t", "t", "t", "g", "c", "g", "g",
"a", "t", "c", "t", "g", "c", "a", "c", "c", "t", "t", "c", "g",
"c", "a", "a", "c", "g", "g", "t", "c", "a", "t", "c", "g", "g",
"c", "g", "g", "c", "a", "c", "c", "t", "t", "g", "c", "t", "a",
"a", "g", "c", "c", "t", "t", "c", "c", "g", "c", "t", "g", "a",
"t", "g", "t", "g", "g", "c", "a", "a", "c", "t", "g", "g", "c",
"a", "g", "a", "t", "a", "t", "c", "a", "t", "a", "a", "t", "g",
"g", "c", "c", "t", "g", "c", "a", "t", "g", "g", "c", "t", "a",
"t", "t", "a", "c", "c", "a", "a", "t", "t", "t", "g", "a", "c",
"c", "g", "c", "c", "a", "t", "t", "t", "t", "a", "c", "t", "g",
"c", "t", "c", "t", "c", "g", "c", "c", "t", "g", "t", "g", "g",
"t", "t", "c", "a", "t", "a", "c", "c", "a", "t", "t", "g", "c",
"c", "a", "g", "t", "g", "a", "t", "t", "a", "t", "c", "t", "a",
"c", "g", "c", "c", "a", "g", "c", "g", "t", "a", "a", "a", "c",
"t", "c", "g", "g", "c", "g", "t", "g", "c", "g", "c", "c", "c",
"g", "g", "t", "g", "t", "t", "t", "g", "a", "t", "c", "c", "a",
"t", "t", "g", "c", "g", "t", "t", "a", "t", "c", "c", "g", "g",
"a", "t", "a", "t", "c", "g", "g", "t", "c", "g", "c", "c", "a",
"g", "c", "t", "t", "t", "c", "t", "c", "c", "g", "g", "a", "c",
"g", "c", "g", "t", "g", "g", "g", "a", "t", "g", "a", "t", "g",
"t", "t", "t", "c", "g", "c", "a", "g", "g", "a", "g", "t", "a",
"a", "t", "c", "a", "c", "a", "a", "c", "t", "a", "t", "c", "g",
"a", "t", "c", "a", "a", "c", "t", "c", "a", "t", "t", "c", "t",
"c", "a", "t", "t", "t", "t", "t", "t", "g", "c", "t", "a", "a",
"a", "g", "t", "c", "g", "g", "c", "a", "t", "a", "a", "a", "t",
"t", "t", "c", "c", "t", "g", "c", "a", "a", "g", "g", "a", "c",
"t", "g", "g", "a", "t", "a", "t", "g", "c", "t", "g", "a", "t",
"t", "c", "t", "t", "a", "t", "t", "t", "c", "a", "c", "c", "t",
"g", "c", "g", "a", "a", "a", "a", "c", "g", "c", "t", "t", "g",
"a", "t", "t", "a", "c", "c", "a", "a", "a", "g", "c", "c", "c",
"g", "t", "t"), c("t", "t", "a", "a", "g", "a", "a", "t", "g",
"a", "g", "a", "g", "a", "a", "g", "g", "g", "t", "t", "g", "g",
"t", "t", "g", "t", "g", "g", "c", "a", "t", "c", "c", "t", "g",
"c", "g", "g", "t", "t", "g", "a", "t", "a", "c", "a", "g", "c",
"t", "t", "c", "a", "t", "t", "g", "c", "c", "g", "c", "g", "a",
"t", "g", "t", "c", "c", "c", "c", "a", "g", "t", "g", "t", "c",
"g", "g", "c", "c", "a", "c", "t", "a", "c", "g", "g", "t", "g",
"g", "t", "g", "t", "a", "c", "t", "g", "a", "c", "g", "a", "a",
"g", "g", "g", "a", "g", "g", "t", "c", "a", "a", "t", "t", "t",
"g", "t", "c", "c", "g", "t", "c", "a", "t", "g", "a", "t", "a",
"g", "t", "a", "t", "t", "t", "c", "t", "c", "t", "t", "t", "a",
"a", "a", "c", "a", "g", "c", "t", "t", "g", "t", "t", "a", "g",
"g", "g", "g", "g", "a", "t", "g", "t", "a", "a", "c", "c", "g",
"g", "t", "c", "t", "g", "c", "c", "c", "t", "g", "a", "t", "g",
"a", "t", "a", "t", "c", "a", "c", "g", "a", "c", "g", "c", "a",
"a", "c", "g", "t", "c", "a", "g", "c", "g", "c", "a", "a", "c",
"c", "g", "c", "c", "g", "a", "c", "a", "a", "g", "a", "c", "g",
"g", "t", "t", "a", "t", "c", "g", "c", "c", "a", "g", "g", "c",
"g", "a", "g", "a", "c", "t", "g", "t", "t", "t", "c", "g", "g",
"a", "t", "t", "t", "c", "t", "g", "a", "c", "a", "c", "t", "g",
"c", "g", "t", "t", "g", "a", "t", "a", "t", "c", "g", "c", "c",
"c", "g", "c", "c", "a", "t", "t", "t", "t", "t", "a", "t", "a",
"c", "a", "a", "a", "a", "c", "c", "t", "c", "a", "t", "g", "t",
"a", "t", "g", "c", "t", "a", "c", "g", "c", "a", "g", "a", "a",
"g", "t", "t", "a", "t", "c", "a", "a", "g", "t", "a", "c", "c",
"t", "c", "g", "t", "a", "g", "c", "g", "t", "a", "t", "a", "t",
"a", "c", "t", "t", "c", "t", "t", "a", "a", "a", "c", "a", "a",
"t", "t", "g", "g", "t", "a", "a", "c", "g", "t", "t", "t", "a",
"c", "a", "c", "a", "g", "g", "a", "a", "a", "g", "t", "c", "a",
"t", "c", "g", "c", "g", "a", "c", "c", "g", "g", "c", "a", "a",
"t", "a", "a", "g", "a", "g", "g", "g", "a", "t", "a", "t", "g",
"c", "a", "t", "g", "c", "c", "a", "g", "a", "t", "t", "t", "t",
"t", "t", "c", "t", "c", "c", "t", "t", "c", "a", "t", "t", "a",
"a", "c", "a", "g", "c", "g", "t", "c", "c", "t", "t", "t", "g",
"g", "g", "g", "a", "t", "c", "g", "g", "t", "a", "a", "t"),
c("c", "g", "g", "a", "t", "g", "t", "a", "g", "c", "g",
"a", "a", "a", "c", "t", "g", "c", "a", "c", "a", "a", "a",
"t", "c", "c", "g", "g", "t", "g", "c", "g", "a", "a", "a",
"a", "g", "t", "g", "a", "a", "c", "c", "a", "a", "c", "a",
"a", "c", "c", "t", "g", "c", "g", "c", "c", "g", "a", "a",
"g", "a", "g", "c", "a", "g", "g", "t", "a", "a", "a", "t",
"c", "a", "t", "t", "a", "c", "c", "g", "a", "t", "c", "c",
"c", "c", "a", "a", "a", "g", "g", "a", "c", "g", "c", "t",
"g", "t", "t", "a", "a", "t", "g", "a", "a", "g", "g", "a",
"g", "a", "a", "a", "a", "a", "a", "t", "c", "t", "g", "g",
"c", "a", "t", "g", "c", "a", "t", "a", "t", "c", "c", "c",
"t", "c", "t", "t", "a", "t", "t", "g", "c", "c", "g", "g",
"t", "c", "g", "c", "g", "a", "t", "g", "a", "c", "t", "t",
"t", "c", "c", "t", "g", "t", "g", "t", "a", "a", "a", "c",
"g", "t", "t", "a", "c", "c", "a", "a", "t", "t", "g", "t",
"t", "t", "a", "a", "g", "a", "a", "g", "t", "a", "t", "a",
"t", "a", "c", "g", "c", "t", "a", "c", "g", "a", "g", "g",
"t", "a", "c", "t", "t", "g", "a", "t", "a", "a", "c", "t",
"t", "c", "t", "g", "c", "g", "t", "a", "g", "c", "a", "t",
"a", "c", "a", "t", "g", "a", "g", "g", "t", "t", "t", "t",
"g", "t", "a", "t", "a", "a", "a", "a", "a", "t", "g", "g",
"c", "g", "g", "g", "c", "g", "a", "t", "a", "t", "c", "a",
"a", "c", "g", "c", "a", "g", "t", "g", "t", "c", "a", "g",
"a", "a", "a", "t", "c", "c", "g", "a", "a", "a", "c", "a",
"g", "t", "c", "t", "c", "g", "c", "c", "t", "g", "g", "c",
"g", "a", "t", "a", "a", "c", "c", "g", "t", "c", "t", "t",
"g", "t", "c", "g", "g", "c", "g", "g", "t", "t", "g", "c",
"g", "c", "t", "g", "a", "c", "g", "t", "t", "g", "c", "g",
"t", "c", "g", "t", "g", "a", "t", "a", "t", "c", "a", "t",
"c", "a", "g", "g", "g", "c", "a", "g", "a", "c", "c", "g",
"g", "t", "t", "a", "c", "a", "t", "c", "c", "c", "c", "c",
"t", "a", "a", "c", "a", "a", "g", "c", "t", "g", "t", "t",
"t", "a", "a", "a", "g", "a", "g", "a", "a", "a", "t", "a",
"c", "t", "a", "t", "c", "a", "t", "g", "a", "c", "g", "g",
"a", "c", "a", "a", "a", "t", "t", "g", "a", "c", "c", "t",
"c", "c", "c", "t", "t", "c", "g", "t", "c", "a", "g", "t",
"a", "c", "a", "c", "c", "a", "c", "c", "g", "t", "a", "g",
"t", "g", "g", "c", "c", "g", "a"), c("g", "g", "g", "c",
"g", "c", "a", "a", "g", "c", "t", "t", "c", "c", "g", "t",
"a", "a", "c", "a", "t", "c", "g", "g", "c", "g", "a", "a",
"a", "t", "t", "c", "t", "g", "g", "a", "a", "c", "t", "g",
"g", "c", "a", "g", "g", "c", "t", "g", "c", "g", "a", "c",
"c", "g", "t", "c", "t", "g", "a", "c", "c", "a", "t", "c",
"g", "c", "a", "c", "c", "g", "g", "c", "a", "c", "t", "g",
"c", "t", "g", "a", "a", "a", "g", "a", "g", "c", "t", "g",
"g", "c", "g", "g", "a", "g", "a", "g", "c", "g", "a", "a",
"g", "g", "g", "g", "c", "t", "a", "t", "c", "g", "a", "a",
"c", "g", "t", "a", "a", "a", "c", "t", "g", "t", "c", "t",
"t", "a", "c", "a", "c", "c", "g", "g", "c", "g", "a", "a",
"g", "t", "g", "a", "a", "a", "g", "c", "g", "c", "g", "t",
"c", "c", "g", "g", "c", "g", "c", "g", "t", "a", "t", "c",
"a", "c", "t", "g", "a", "g", "t", "c", "c", "g", "a", "g",
"t", "t", "c", "c", "t", "g", "t", "g", "g", "c", "a", "g",
"c", "a", "c", "a", "a", "c", "c", "a", "g", "g", "a", "t",
"c", "c", "a", "a", "t", "g", "g", "c", "a", "g", "t", "a",
"g", "a", "t", "a", "a", "a", "c", "t", "g", "g", "c", "g",
"g", "a", "a", "g", "g", "t", "a", "t", "c", "c", "g", "t",
"a", "a", "g", "t", "t", "t", "g", "c", "t", "a", "t", "t",
"g", "a", "c", "c", "a", "g", "g", "a", "a", "a", "a", "a",
"c", "t", "g", "g", "a", "a", "a", "a", "a", "a", "t", "g",
"a", "t", "c", "g", "g", "c", "g", "a", "t", "c", "t", "g",
"c", "t", "g", "t", "a", "a", "t", "c", "a", "t", "t", "c",
"t", "t", "a", "g", "c", "g", "t", "g", "a", "c", "c", "g",
"g", "g", "a", "a", "g", "t", "c", "g", "g", "t", "c", "a",
"c", "g", "c", "t", "a", "c", "c", "t", "c", "t", "t", "c",
"t", "g", "a", "a", "g", "c", "c", "t", "g", "t", "c", "t",
"g", "t", "c", "a", "c", "t", "c", "c", "c", "t", "t", "c",
"g", "c", "a", "g", "t", "g", "t", "a", "t", "c", "a", "t",
"t", "c", "t", "g", "t", "t", "t", "a", "a", "c", "g", "a",
"g", "a", "c", "t", "g", "t", "t", "t", "a", "a", "a", "c",
"g", "g", "a", "a", "a", "a", "a", "t", "c", "t", "t", "g",
"a", "t", "g", "a", "a", "t", "a", "c", "t", "t", "t", "a",
"c", "g", "t", "a", "t", "t", "g", "g", "c", "t", "t", "a",
"g", "t", "t", "t", "c", "c", "a", "t", "c", "t", "c", "t",
"g", "a", "t", "c", "g", "c", "g", "c", "a", "t", "c", "c",
"a", "g"), c("c", "t", "g", "a", "t", "g", "a", "a", "a",
"g", "a", "c", "a", "a", "a", "t", "t", "a", "t", "t", "g",
"g", "c", "a", "a", "a", "a", "g", "g", "t", "g", "t", "g",
"t", "c", "g", "c", "a", "t", "t", "t", "g", "c", "t", "t",
"t", "c", "c", "a", "g", "c", "c", "a", "a", "c", "t", "g",
"a", "c", "c", "c", "g", "c", "a", "t", "t", "t", "t", "a",
"c", "g", "c", "a", "c", "c", "c", "a", "c", "g", "c", "a",
"g", "c", "a", "a", "t", "g", "a", "g", "c", "g", "t", "a",
"c", "t", "t", "g", "g", "g", "c", "a", "t", "g", "g", "t",
"t", "t", "g", "c", "t", "g", "c", "g", "c", "g", "g", "c",
"g", "c", "g", "g", "g", "g", "c", "t", "g", "g", "g", "a",
"g", "g", "c", "c", "c", "t", "g", "t", "a", "g", "g", "t",
"g", "c", "g", "g", "c", "a", "c", "t", "a", "a", "a", "t",
"g", "g", "g", "g", "t", "t", "a", "a", "a", "g", "c", "g",
"g", "t", "c", "a", "g", "c", "g", "g", "c", "a", "g", "c",
"g", "c", "c", "t", "a", "t", "c", "g", "c", "g", "t", "g",
"a", "c", "g", "a", "t", "t", "c", "c", "a", "g", "c", "c",
"g", "t", "a", "c", "t", "g", "c", "a", "a", "a", "t", "c",
"g", "c", "c", "t", "g", "c", "c", "t", "g", "c", "g", "c",
"c", "g", "g", "a", "t", "g", "g", "t", "t", "a", "g", "c",
"g", "c", "c", "a", "c", "t", "c", "a", "g", "g", "t", "c",
"t", "g", "a", "t", "a", "c", "c", "g", "g", "a", "a", "a",
"c", "c", "g", "g", "g", "g", "a", "a", "a", "a", "t", "t",
"t", "t", "c", "a", "t", "t", "t", "t", "c", "c", "c", "c",
"t", "c", "a", "a", "a", "a", "g", "a", "t", "c", "g", "t",
"a", "g", "a", "c", "a", "c", "t", "g", "c", "c", "c", "c",
"a", "c", "t", "g", "g", "c", "t", "g", "a", "t", "t", "a",
"t", "t", "a", "t", "g", "c", "c", "g", "c", "g", "c", "c",
"c", "t", "g", "a", "a", "a", "a", "c", "a", "c", "t", "a",
"c", "a", "g", "t", "t", "a", "t", "t", "c", "a", "g", "g",
"g", "a", "a", "a", "t", "t", "a", "t", "t", "t", "c", "a",
"c", "c", "a", "t", "t", "c", "a", "t", "t", "c", "g", "a",
"t", "g", "a", "t", "g", "a", "t", "t", "t", "t", "t", "g",
"a", "g", "g", "a", "a", "t", "t", "a", "t", "g", "g", "g",
"c", "a", "a", "c", "a", "c", "t", "a", "a", "g", "t", "t",
"g", "g", "c", "t", "a", "a", "t", "c", "c", "g", "g", "c",
"a", "c", "c", "g", "c", "t", "g", "g", "g", "c", "c", "t",
"g", "a", "t", "g", "g", "g", "c", "t", "t"))
使用一些包:
library(purrr)
library(stringr)
k <- ncol(argRcount)
setNames(upstream[[2]], upstream[[1]]) %>%
map(~match(str_split(.x, "")[[1]], rownames(argRcount))) %>%
map(function(vec) map(seq_len(length(vec) - k + 1), ~vec[.x:(.x + k - 1)])) %>%
map(function(gene_seq) map_dbl(gene_seq, ~sum(argRcount[matrix(c(.x, seq_len(k)), ncol = 2)])))
我有一个名为 argRcount
的评分矩阵。数据采用矩阵形式,其中行名表示核苷酸名称 a/t/c/g
并且有 k = 18 列表示每个核苷酸的第 1 到第 k 个值。
我有另一个数据(实际上是列表),其中第一项包含基因名称,第二项包含一个核苷酸序列向量(字符),例如 n
个字符。在下面的例子中 n=450.
我真正想要的是对每个基因进行滚动求和,其中第一个 k
个连续核苷酸序列将从矩阵 argRcount
匹配,然后从第 2 个核苷酸到第 19 个核苷酸,依此类推每个基因。因此,最后我将为每个基因获得 n-k+1
值(滚动总和值)。在这个特定的例子中,每个基因的最终结果应该有 433 个值。
这些是我的数据输出:
argRcount <- structure(c(0.149531733970964, 0.0317486983145803, -0.661398482245365,
0.25489224962879, 0.517256514096281, -0.438254930931155, -0.949080554697146,
0.25489224962879, 1.04334960999306, -1.35454566280531, -1.35454566280531,
-0.438254930931155, 0.25489224962879, -0.101782694309942, 0.149531733970964,
-0.438254930931155, -0.438254930931155, -0.949080554697146, -0.949080554697146,
0.948039430188735, -0.949080554697146, -0.661398482245365, 1.04334960999306,
-1.35454566280531, 1.04334960999306, -0.661398482245365, -0.949080554697146,
-1.35454566280531, 1.04334960999306, -0.661398482245365, -0.949080554697146,
-1.35454566280531, -0.661398482245365, -1.35454566280531, -2.04769284336526,
1.13036098698269, 0.350202429433115, -2.04769284336526, -1.35454566280531,
0.78552050069096, 0.149531733970964, -0.949080554697146, -2.04769284336526,
0.842678914530909, -0.255933374137201, -2.04769284336526, -1.35454566280531,
1.04334960999306, 0.0317486983145803, 0.0317486983145803, -2.04769284336526,
0.591364486250003, 1.21040369465623, -2.04769284336526, -1.35454566280531,
-1.35454566280531, -0.438254930931155, -0.661398482245365, -2.04769284336526,
0.996829594358167, -0.949080554697146, -0.661398482245365, 0.724895878874526,
0.0317486983145803, -0.949080554697146, 1.17118298150295, -2.04769284336526,
-1.35454566280531, 1.21040369465623, -2.04769284336526, -0.949080554697146,
-2.04769284336526), .Dim = c(4L, 18L), .Dimnames = list(c("a",
"c", "g", "t"), c("1", "2", "3", "4", "5", "6", "7", "8", "9",
"10", "11", "12", "13", "14", "15", "16", "17", "18")))
upstream <- structure(list(gene_id = c("16127995", "16127996", "16127997",
"16127998", "16127999"), seq = c("aacggcagaccaacatcaactgcaagctttacgcgaacgagccatgacattgctgacgactctggcagtggcagatgacataaaactggtcgactggttacaacaacgcctggggcttttagagcaacgagacacggcaatgttgcaccgtttgctgcatgatattgaaaaaaatatcaccaaataaaaaacgccttagtaagtatttttcagcttttcattctgactgcaacgggcaatatgtctctgtgtggattaaaaaaagagtgtctgatagcagcttctgaactggttacctgccgtgagtaaattaaaattttattgacttaggtcactaaatactttaaccaatataggcatagcgcacagacagataaaaattacagagtacacaacatccatgaaacgcattagcaccaccattaccaccaccatcaccattaccacagg",
"ccgtttgctgcatgatattgaaaaaaatatcaccaaataaaaaacgccttagtaagtatttttcagcttttcattctgactgcaacgggcaatatgtctctgtgtggattaaaaaaagagtgtctgatagcagcttctgaactggttacctgccgtgagtaaattaaaattttattgacttaggtcactaaatactttaaccaatataggcatagcgcacagacagataaaaattacagagtacacaacatccatgaaacgcattagcaccaccattaccaccaccatcaccattaccacaggtaacggtgcgggctgacgcgtacaggaaacacagaaaaaagcccgcacctgacagtgcgggctttttttttcgaccaaaggtaacgaggtaacaaccatgcgagtgttgaagttcggcggtacatcagtggcaaatgcagaacgttt",
"gaaacgggacgtgaactggagctggcggatattgaaattgaacctgtgctgcccgcagagtttaacgccgagggtgatgttgccgcttttatggcgaatctgtcacaactcgacgatctctttgccgcgcgcgtggcgaaggcccgtgatgaaggaaaagttttgcgctatgttggcaatattgatgaagatggcgtctgccgcgtgaagattgccgaagtggatggtaatgatccgctgttcaaagtgaaaaatggcgaaaacgccctggccttctatagccactattatcagccgctgccgttggtactgcgcggatatggtgcgggcaatgacgttacagctgccggtgtctttgctgatctgctacgtaccctctcatggaagttaggagtctgacatggttaaagtttatgccccggcttccagtgccaatatgagcgtcgggtt",
"ggggattaaagtctcgacggcagaagccagggctattttaccggcgcagtatcgccgccaggattgcattgcgcacgggcgacatctggcaggcttcattcacgcctgctattcccgtcagcctgagcttgccgcgaagctgatgaaagatgttatcgctgaaccctaccgtgaacggttactgccaggcttccggcaggcgcggcaggcggtcgcggaaatcggcgcggtagcgagcggtatctccggctccggcccgaccttgttcgctctgtgtgacaagccggaaaccgcccagcgcgttgccgactggttgggtaagaactacctgcaaaatcaggaaggttttgttcatatttgccggctggatacggcgggcgcacgagtactggaaaactaaatgaaactctacaatctgaaagatcacaacgagcaggtcagctttgcgca",
"aggcgaatatggcttgttcctcggcaccgcgcatccggcgaaatttaaagagagcgtggaagcgattctcggtgaaacgttggatctgccaaaagagctggcagaacgtgctgatttacccttgctttcacataatctgcccgccgattttgctgcgttgcgtaaattgatgatgaatcatcagtaaaatctattcattatctcaatcaggccgggtttgcttttatgcagcccggcttttttatgaagaaattatggagaaaaatgacagggaaaaaggagaaattctcaataaatgcggtaacttagagattaggattgcggagaataacaaccgccgttctcatcgagtaatctccggatatcgacccataacgggcaatgataaaaggagtaacctgtgaaaaagatgcaatctatcgtactcgcactttccctggttctggtcgc"
)), row.names = c(NA, 5L), class = "data.frame")
为了看得更清楚,我的 argRcount
看起来像这样
1 2 3 4 5 6 7 8 9 10 11
a 0.1495317 0.5172565 1.0433496 0.2548922 -0.4382549 -0.9490806 1.0433496 1.0433496 -0.6613985 0.3502024 0.1495317
c 0.0317487 -0.4382549 -1.3545457 -0.1017827 -0.9490806 -0.6613985 -0.6613985 -0.6613985 -1.3545457 -2.0476928 -0.9490806
g -0.6613985 -0.9490806 -1.3545457 0.1495317 -0.9490806 1.0433496 -0.9490806 -0.9490806 -2.0476928 -1.3545457 -2.0476928
t 0.2548922 0.2548922 -0.4382549 -0.4382549 0.9480394 -1.3545457 -1.3545457 -1.3545457 1.1303610 0.7855205 0.8426789
12 13 14 15 16 17 18
a -0.2559334 0.0317487 1.210404 -0.4382549 -0.9490806 -0.9490806 1.2104037
c -2.0476928 0.0317487 -2.047693 -0.6613985 -0.6613985 1.1711830 -2.0476928
g -1.3545457 -2.0476928 -1.354546 -2.0476928 0.7248959 -2.0476928 -0.9490806
t 1.0433496 0.5913645 -1.354546 0.9968296 0.0317487 -1.3545457 -2.0476928
来自上游的示例序列如下所示
> upstream[[2]][1]
[1] "aacggcagaccaacatcaactgcaagctttacgcgaacgagccatgacattgctgacgactctggcagtggcagatgacataaaactggtcgactggttacaacaacgcctggggcttttagagcaacgagacacggcaatgttgcaccgtttgctgcatgatattgaaaaaaatatcaccaaataaaaaacgccttagtaagtatttttcagcttttcattctgactgcaacgggcaatatgtctctgtgtggattaaaaaaagagtgtctgatagcagcttctgaactggttacctgccgtgagtaaattaaaattttattgacttaggtcactaaatactttaaccaatataggcatagcgcacagacagataaaaattacagagtacacaacatccatgaaacgcattagcaccaccattaccaccaccatcaccattaccacagg"
到目前为止,我试过这个:
seq_score<-vector()
for (i in 1:length(upstream$seq)){
seq_score[i]<-argRcount[upstream[[1]][i],i]
}
sum(seq_score)
sum(apply(argRcount,2,max))
但它只给了我前 18 个核苷酸的分数。提前致谢。
鉴于上游数据发生变化BaseR策略(不加载任何额外的pacakage/library)
#create an empty list for output
seq_list <- vector(mode = "list", length = length(upstream[[2]]))
#name it according to genes
seq_list <- setNames(seq_list, upstream[[1]])
#create an empty vector for storing intermediate objects
seq_score<-vector()
#modify upstream to split the nucleotides
upstream <- sapply(upstream[[2]], function(x) strsplit(x, ""))
#actual for loop
for(k in seq_along(upstream)){
for(i in seq_len(length(upstream[[k]]) -17)){
for(j in 1:18){
seq_score[j] <- argRcount[upstream[[k]][i + j -1], j]
seq_list[[k]][i] <- sum(seq_score)
}
}
}
#output
seq_list
#check it
str(seq_list)
List of 5
$ 16127995: num [1:433] -6.01 -4.97 -10.22 -11.17 -4.3 ...
$ 16127996: num [1:433] -9.81 -8.91 -10.75 -3.88 3.06 ...
$ 16127997: num [1:433] -8.6 -3.81 -4.76 -9.88 -16.98 ...
$ 16127998: num [1:433] -10.49 -8.48 -5.51 -9.31 -7.3 ...
$ 16127999: num [1:433] -10.75 -15.01 -8.22 -8.08 -9.8 ...
旧答案
对于您之前 upstream
的输入,我已经尝试过这种嵌套 for loop
。在 seq_list
.
#create an empty list for final output
seq_list <- vector(mode = "list", length = length(upstream))
#create an empty vector for intermediate results
seq_score<- vector()
#for loop
for(k in seq_along(upstream)){
for(i in seq_len(length(upstream[[k]]) -17)){
for(j in 1:18){
seq_score[j] <- argRcount[upstream[[k]][i + j -1], j]
seq_list[[k]][i] <- sum(seq_score)
}
}
}
str(seq_list)
List of 10
$ : num [1:433] -6.01 -4.97 -10.22 -11.17 -4.3 ...
$ : num [1:433] -9.81 -8.91 -10.75 -3.88 3.06 ...
$ : num [1:433] -8.6 -3.81 -4.76 -9.88 -16.98 ...
$ : num [1:433] -10.49 -8.48 -5.51 -9.31 -7.3 ...
$ : num [1:433] -10.75 -15.01 -8.22 -8.08 -9.8 ...
$ : num [1:433] -9.69 -9.49 -4.56 -7.93 -10.06 ...
$ : num [1:433] -7.95 -9.12 -12.18 -7.26 -9.62 ...
$ : num [1:433] -10.22 -3.94 -10.88 -4.6 -7.54 ...
$ : num [1:433] -8.57 -10.67 -9.04 -8.94 -12.3 ...
$ : num [1:433] 0.0425 -3.5291 -9.2187 -6.5724 2.3064 ...
使用了较早 upstream
的 dput
upstream <- list(c("a", "a", "c", "g", "g", "c", "a", "g", "a", "c", "c",
"a", "a", "c", "a", "t", "c", "a", "a", "c", "t", "g", "c", "a",
"a", "g", "c", "t", "t", "t", "a", "c", "g", "c", "g", "a", "a",
"c", "g", "a", "g", "c", "c", "a", "t", "g", "a", "c", "a", "t",
"t", "g", "c", "t", "g", "a", "c", "g", "a", "c", "t", "c", "t",
"g", "g", "c", "a", "g", "t", "g", "g", "c", "a", "g", "a", "t",
"g", "a", "c", "a", "t", "a", "a", "a", "a", "c", "t", "g", "g",
"t", "c", "g", "a", "c", "t", "g", "g", "t", "t", "a", "c", "a",
"a", "c", "a", "a", "c", "g", "c", "c", "t", "g", "g", "g", "g",
"c", "t", "t", "t", "t", "a", "g", "a", "g", "c", "a", "a", "c",
"g", "a", "g", "a", "c", "a", "c", "g", "g", "c", "a", "a", "t",
"g", "t", "t", "g", "c", "a", "c", "c", "g", "t", "t", "t", "g",
"c", "t", "g", "c", "a", "t", "g", "a", "t", "a", "t", "t", "g",
"a", "a", "a", "a", "a", "a", "a", "t", "a", "t", "c", "a", "c",
"c", "a", "a", "a", "t", "a", "a", "a", "a", "a", "a", "c", "g",
"c", "c", "t", "t", "a", "g", "t", "a", "a", "g", "t", "a", "t",
"t", "t", "t", "t", "c", "a", "g", "c", "t", "t", "t", "t", "c",
"a", "t", "t", "c", "t", "g", "a", "c", "t", "g", "c", "a", "a",
"c", "g", "g", "g", "c", "a", "a", "t", "a", "t", "g", "t", "c",
"t", "c", "t", "g", "t", "g", "t", "g", "g", "a", "t", "t", "a",
"a", "a", "a", "a", "a", "a", "g", "a", "g", "t", "g", "t", "c",
"t", "g", "a", "t", "a", "g", "c", "a", "g", "c", "t", "t", "c",
"t", "g", "a", "a", "c", "t", "g", "g", "t", "t", "a", "c", "c",
"t", "g", "c", "c", "g", "t", "g", "a", "g", "t", "a", "a", "a",
"t", "t", "a", "a", "a", "a", "t", "t", "t", "t", "a", "t", "t",
"g", "a", "c", "t", "t", "a", "g", "g", "t", "c", "a", "c", "t",
"a", "a", "a", "t", "a", "c", "t", "t", "t", "a", "a", "c", "c",
"a", "a", "t", "a", "t", "a", "g", "g", "c", "a", "t", "a", "g",
"c", "g", "c", "a", "c", "a", "g", "a", "c", "a", "g", "a", "t",
"a", "a", "a", "a", "a", "t", "t", "a", "c", "a", "g", "a", "g",
"t", "a", "c", "a", "c", "a", "a", "c", "a", "t", "c", "c", "a",
"t", "g", "a", "a", "a", "c", "g", "c", "a", "t", "t", "a", "g",
"c", "a", "c", "c", "a", "c", "c", "a", "t", "t", "a", "c", "c",
"a", "c", "c", "a", "c", "c", "a", "t", "c", "a", "c", "c", "a",
"t", "t", "a", "c", "c", "a", "c", "a", "g", "g"), c("c", "c",
"g", "t", "t", "t", "g", "c", "t", "g", "c", "a", "t", "g", "a",
"t", "a", "t", "t", "g", "a", "a", "a", "a", "a", "a", "a", "t",
"a", "t", "c", "a", "c", "c", "a", "a", "a", "t", "a", "a", "a",
"a", "a", "a", "c", "g", "c", "c", "t", "t", "a", "g", "t", "a",
"a", "g", "t", "a", "t", "t", "t", "t", "t", "c", "a", "g", "c",
"t", "t", "t", "t", "c", "a", "t", "t", "c", "t", "g", "a", "c",
"t", "g", "c", "a", "a", "c", "g", "g", "g", "c", "a", "a", "t",
"a", "t", "g", "t", "c", "t", "c", "t", "g", "t", "g", "t", "g",
"g", "a", "t", "t", "a", "a", "a", "a", "a", "a", "a", "g", "a",
"g", "t", "g", "t", "c", "t", "g", "a", "t", "a", "g", "c", "a",
"g", "c", "t", "t", "c", "t", "g", "a", "a", "c", "t", "g", "g",
"t", "t", "a", "c", "c", "t", "g", "c", "c", "g", "t", "g", "a",
"g", "t", "a", "a", "a", "t", "t", "a", "a", "a", "a", "t", "t",
"t", "t", "a", "t", "t", "g", "a", "c", "t", "t", "a", "g", "g",
"t", "c", "a", "c", "t", "a", "a", "a", "t", "a", "c", "t", "t",
"t", "a", "a", "c", "c", "a", "a", "t", "a", "t", "a", "g", "g",
"c", "a", "t", "a", "g", "c", "g", "c", "a", "c", "a", "g", "a",
"c", "a", "g", "a", "t", "a", "a", "a", "a", "a", "t", "t", "a",
"c", "a", "g", "a", "g", "t", "a", "c", "a", "c", "a", "a", "c",
"a", "t", "c", "c", "a", "t", "g", "a", "a", "a", "c", "g", "c",
"a", "t", "t", "a", "g", "c", "a", "c", "c", "a", "c", "c", "a",
"t", "t", "a", "c", "c", "a", "c", "c", "a", "c", "c", "a", "t",
"c", "a", "c", "c", "a", "t", "t", "a", "c", "c", "a", "c", "a",
"g", "g", "t", "a", "a", "c", "g", "g", "t", "g", "c", "g", "g",
"g", "c", "t", "g", "a", "c", "g", "c", "g", "t", "a", "c", "a",
"g", "g", "a", "a", "a", "c", "a", "c", "a", "g", "a", "a", "a",
"a", "a", "a", "g", "c", "c", "c", "g", "c", "a", "c", "c", "t",
"g", "a", "c", "a", "g", "t", "g", "c", "g", "g", "g", "c", "t",
"t", "t", "t", "t", "t", "t", "t", "t", "c", "g", "a", "c", "c",
"a", "a", "a", "g", "g", "t", "a", "a", "c", "g", "a", "g", "g",
"t", "a", "a", "c", "a", "a", "c", "c", "a", "t", "g", "c", "g",
"a", "g", "t", "g", "t", "t", "g", "a", "a", "g", "t", "t", "c",
"g", "g", "c", "g", "g", "t", "a", "c", "a", "t", "c", "a", "g",
"t", "g", "g", "c", "a", "a", "a", "t", "g", "c", "a", "g", "a",
"a", "c", "g", "t", "t", "t"), c("g", "a", "a", "a", "c", "g",
"g", "g", "a", "c", "g", "t", "g", "a", "a", "c", "t", "g", "g",
"a", "g", "c", "t", "g", "g", "c", "g", "g", "a", "t", "a", "t",
"t", "g", "a", "a", "a", "t", "t", "g", "a", "a", "c", "c", "t",
"g", "t", "g", "c", "t", "g", "c", "c", "c", "g", "c", "a", "g",
"a", "g", "t", "t", "t", "a", "a", "c", "g", "c", "c", "g", "a",
"g", "g", "g", "t", "g", "a", "t", "g", "t", "t", "g", "c", "c",
"g", "c", "t", "t", "t", "t", "a", "t", "g", "g", "c", "g", "a",
"a", "t", "c", "t", "g", "t", "c", "a", "c", "a", "a", "c", "t",
"c", "g", "a", "c", "g", "a", "t", "c", "t", "c", "t", "t", "t",
"g", "c", "c", "g", "c", "g", "c", "g", "c", "g", "t", "g", "g",
"c", "g", "a", "a", "g", "g", "c", "c", "c", "g", "t", "g", "a",
"t", "g", "a", "a", "g", "g", "a", "a", "a", "a", "g", "t", "t",
"t", "t", "g", "c", "g", "c", "t", "a", "t", "g", "t", "t", "g",
"g", "c", "a", "a", "t", "a", "t", "t", "g", "a", "t", "g", "a",
"a", "g", "a", "t", "g", "g", "c", "g", "t", "c", "t", "g", "c",
"c", "g", "c", "g", "t", "g", "a", "a", "g", "a", "t", "t", "g",
"c", "c", "g", "a", "a", "g", "t", "g", "g", "a", "t", "g", "g",
"t", "a", "a", "t", "g", "a", "t", "c", "c", "g", "c", "t", "g",
"t", "t", "c", "a", "a", "a", "g", "t", "g", "a", "a", "a", "a",
"a", "t", "g", "g", "c", "g", "a", "a", "a", "a", "c", "g", "c",
"c", "c", "t", "g", "g", "c", "c", "t", "t", "c", "t", "a", "t",
"a", "g", "c", "c", "a", "c", "t", "a", "t", "t", "a", "t", "c",
"a", "g", "c", "c", "g", "c", "t", "g", "c", "c", "g", "t", "t",
"g", "g", "t", "a", "c", "t", "g", "c", "g", "c", "g", "g", "a",
"t", "a", "t", "g", "g", "t", "g", "c", "g", "g", "g", "c", "a",
"a", "t", "g", "a", "c", "g", "t", "t", "a", "c", "a", "g", "c",
"t", "g", "c", "c", "g", "g", "t", "g", "t", "c", "t", "t", "t",
"g", "c", "t", "g", "a", "t", "c", "t", "g", "c", "t", "a", "c",
"g", "t", "a", "c", "c", "c", "t", "c", "t", "c", "a", "t", "g",
"g", "a", "a", "g", "t", "t", "a", "g", "g", "a", "g", "t", "c",
"t", "g", "a", "c", "a", "t", "g", "g", "t", "t", "a", "a", "a",
"g", "t", "t", "t", "a", "t", "g", "c", "c", "c", "c", "g", "g",
"c", "t", "t", "c", "c", "a", "g", "t", "g", "c", "c", "a", "a",
"t", "a", "t", "g", "a", "g", "c", "g", "t", "c", "g", "g", "g",
"t", "t"), c("g", "g", "g", "g", "a", "t", "t", "a", "a", "a",
"g", "t", "c", "t", "c", "g", "a", "c", "g", "g", "c", "a", "g",
"a", "a", "g", "c", "c", "a", "g", "g", "g", "c", "t", "a", "t",
"t", "t", "t", "a", "c", "c", "g", "g", "c", "g", "c", "a", "g",
"t", "a", "t", "c", "g", "c", "c", "g", "c", "c", "a", "g", "g",
"a", "t", "t", "g", "c", "a", "t", "t", "g", "c", "g", "c", "a",
"c", "g", "g", "g", "c", "g", "a", "c", "a", "t", "c", "t", "g",
"g", "c", "a", "g", "g", "c", "t", "t", "c", "a", "t", "t", "c",
"a", "c", "g", "c", "c", "t", "g", "c", "t", "a", "t", "t", "c",
"c", "c", "g", "t", "c", "a", "g", "c", "c", "t", "g", "a", "g",
"c", "t", "t", "g", "c", "c", "g", "c", "g", "a", "a", "g", "c",
"t", "g", "a", "t", "g", "a", "a", "a", "g", "a", "t", "g", "t",
"t", "a", "t", "c", "g", "c", "t", "g", "a", "a", "c", "c", "c",
"t", "a", "c", "c", "g", "t", "g", "a", "a", "c", "g", "g", "t",
"t", "a", "c", "t", "g", "c", "c", "a", "g", "g", "c", "t", "t",
"c", "c", "g", "g", "c", "a", "g", "g", "c", "g", "c", "g", "g",
"c", "a", "g", "g", "c", "g", "g", "t", "c", "g", "c", "g", "g",
"a", "a", "a", "t", "c", "g", "g", "c", "g", "c", "g", "g", "t",
"a", "g", "c", "g", "a", "g", "c", "g", "g", "t", "a", "t", "c",
"t", "c", "c", "g", "g", "c", "t", "c", "c", "g", "g", "c", "c",
"c", "g", "a", "c", "c", "t", "t", "g", "t", "t", "c", "g", "c",
"t", "c", "t", "g", "t", "g", "t", "g", "a", "c", "a", "a", "g",
"c", "c", "g", "g", "a", "a", "a", "c", "c", "g", "c", "c", "c",
"a", "g", "c", "g", "c", "g", "t", "t", "g", "c", "c", "g", "a",
"c", "t", "g", "g", "t", "t", "g", "g", "g", "t", "a", "a", "g",
"a", "a", "c", "t", "a", "c", "c", "t", "g", "c", "a", "a", "a",
"a", "t", "c", "a", "g", "g", "a", "a", "g", "g", "t", "t", "t",
"t", "g", "t", "t", "c", "a", "t", "a", "t", "t", "t", "g", "c",
"c", "g", "g", "c", "t", "g", "g", "a", "t", "a", "c", "g", "g",
"c", "g", "g", "g", "c", "g", "c", "a", "c", "g", "a", "g", "t",
"a", "c", "t", "g", "g", "a", "a", "a", "a", "c", "t", "a", "a",
"a", "t", "g", "a", "a", "a", "c", "t", "c", "t", "a", "c", "a",
"a", "t", "c", "t", "g", "a", "a", "a", "g", "a", "t", "c", "a",
"c", "a", "a", "c", "g", "a", "g", "c", "a", "g", "g", "t", "c",
"a", "g", "c", "t", "t", "t", "g", "c", "g", "c", "a"), c("a",
"g", "g", "c", "g", "a", "a", "t", "a", "t", "g", "g", "c", "t",
"t", "g", "t", "t", "c", "c", "t", "c", "g", "g", "c", "a", "c",
"c", "g", "c", "g", "c", "a", "t", "c", "c", "g", "g", "c", "g",
"a", "a", "a", "t", "t", "t", "a", "a", "a", "g", "a", "g", "a",
"g", "c", "g", "t", "g", "g", "a", "a", "g", "c", "g", "a", "t",
"t", "c", "t", "c", "g", "g", "t", "g", "a", "a", "a", "c", "g",
"t", "t", "g", "g", "a", "t", "c", "t", "g", "c", "c", "a", "a",
"a", "a", "g", "a", "g", "c", "t", "g", "g", "c", "a", "g", "a",
"a", "c", "g", "t", "g", "c", "t", "g", "a", "t", "t", "t", "a",
"c", "c", "c", "t", "t", "g", "c", "t", "t", "t", "c", "a", "c",
"a", "t", "a", "a", "t", "c", "t", "g", "c", "c", "c", "g", "c",
"c", "g", "a", "t", "t", "t", "t", "g", "c", "t", "g", "c", "g",
"t", "t", "g", "c", "g", "t", "a", "a", "a", "t", "t", "g", "a",
"t", "g", "a", "t", "g", "a", "a", "t", "c", "a", "t", "c", "a",
"g", "t", "a", "a", "a", "a", "t", "c", "t", "a", "t", "t", "c",
"a", "t", "t", "a", "t", "c", "t", "c", "a", "a", "t", "c", "a",
"g", "g", "c", "c", "g", "g", "g", "t", "t", "t", "g", "c", "t",
"t", "t", "t", "a", "t", "g", "c", "a", "g", "c", "c", "c", "g",
"g", "c", "t", "t", "t", "t", "t", "t", "a", "t", "g", "a", "a",
"g", "a", "a", "a", "t", "t", "a", "t", "g", "g", "a", "g", "a",
"a", "a", "a", "a", "t", "g", "a", "c", "a", "g", "g", "g", "a",
"a", "a", "a", "a", "g", "g", "a", "g", "a", "a", "a", "t", "t",
"c", "t", "c", "a", "a", "t", "a", "a", "a", "t", "g", "c", "g",
"g", "t", "a", "a", "c", "t", "t", "a", "g", "a", "g", "a", "t",
"t", "a", "g", "g", "a", "t", "t", "g", "c", "g", "g", "a", "g",
"a", "a", "t", "a", "a", "c", "a", "a", "c", "c", "g", "c", "c",
"g", "t", "t", "c", "t", "c", "a", "t", "c", "g", "a", "g", "t",
"a", "a", "t", "c", "t", "c", "c", "g", "g", "a", "t", "a", "t",
"c", "g", "a", "c", "c", "c", "a", "t", "a", "a", "c", "g", "g",
"g", "c", "a", "a", "t", "g", "a", "t", "a", "a", "a", "a", "g",
"g", "a", "g", "t", "a", "a", "c", "c", "t", "g", "t", "g", "a",
"a", "a", "a", "a", "g", "a", "t", "g", "c", "a", "a", "t", "c",
"t", "a", "t", "c", "g", "t", "a", "c", "t", "c", "g", "c", "a",
"c", "t", "t", "t", "c", "c", "c", "t", "g", "g", "t", "t", "c",
"t", "g", "g", "t", "c", "g", "c"), c("c", "t", "a", "c", "a",
"t", "t", "t", "a", "t", "g", "c", "c", "g", "a", "a", "a", "a",
"c", "a", "a", "t", "c", "t", "c", "t", "t", "c", "t", "t", "t",
"t", "t", "a", "c", "g", "c", "c", "t", "g", "a", "a", "c", "a",
"a", "c", "c", "c", "t", "a", "a", "a", "g", "c", "g", "a", "t",
"c", "t", "g", "g", "t", "g", "t", "t", "t", "g", "c", "g", "g",
"a", "t", "c", "t", "g", "c", "a", "c", "c", "t", "t", "c", "g",
"c", "a", "a", "c", "g", "g", "t", "c", "a", "t", "c", "g", "g",
"c", "g", "g", "c", "a", "c", "c", "t", "t", "g", "c", "t", "a",
"a", "g", "c", "c", "t", "t", "c", "c", "g", "c", "t", "g", "a",
"t", "g", "t", "g", "g", "c", "a", "a", "c", "t", "g", "g", "c",
"a", "g", "a", "t", "a", "t", "c", "a", "t", "a", "a", "t", "g",
"g", "c", "c", "t", "g", "c", "a", "t", "g", "g", "c", "t", "a",
"t", "t", "a", "c", "c", "a", "a", "t", "t", "t", "g", "a", "c",
"c", "g", "c", "c", "a", "t", "t", "t", "t", "a", "c", "t", "g",
"c", "t", "c", "t", "c", "g", "c", "c", "t", "g", "t", "g", "g",
"t", "t", "c", "a", "t", "a", "c", "c", "a", "t", "t", "g", "c",
"c", "a", "g", "t", "g", "a", "t", "t", "a", "t", "c", "t", "a",
"c", "g", "c", "c", "a", "g", "c", "g", "t", "a", "a", "a", "c",
"t", "c", "g", "g", "c", "g", "t", "g", "c", "g", "c", "c", "c",
"g", "g", "t", "g", "t", "t", "t", "g", "a", "t", "c", "c", "a",
"t", "t", "g", "c", "g", "t", "t", "a", "t", "c", "c", "g", "g",
"a", "t", "a", "t", "c", "g", "g", "t", "c", "g", "c", "c", "a",
"g", "c", "t", "t", "t", "c", "t", "c", "c", "g", "g", "a", "c",
"g", "c", "g", "t", "g", "g", "g", "a", "t", "g", "a", "t", "g",
"t", "t", "t", "c", "g", "c", "a", "g", "g", "a", "g", "t", "a",
"a", "t", "c", "a", "c", "a", "a", "c", "t", "a", "t", "c", "g",
"a", "t", "c", "a", "a", "c", "t", "c", "a", "t", "t", "c", "t",
"c", "a", "t", "t", "t", "t", "t", "t", "g", "c", "t", "a", "a",
"a", "g", "t", "c", "g", "g", "c", "a", "t", "a", "a", "a", "t",
"t", "t", "c", "c", "t", "g", "c", "a", "a", "g", "g", "a", "c",
"t", "g", "g", "a", "t", "a", "t", "g", "c", "t", "g", "a", "t",
"t", "c", "t", "t", "a", "t", "t", "t", "c", "a", "c", "c", "t",
"g", "c", "g", "a", "a", "a", "a", "c", "g", "c", "t", "t", "g",
"a", "t", "t", "a", "c", "c", "a", "a", "a", "g", "c", "c", "c",
"g", "t", "t"), c("t", "t", "a", "a", "g", "a", "a", "t", "g",
"a", "g", "a", "g", "a", "a", "g", "g", "g", "t", "t", "g", "g",
"t", "t", "g", "t", "g", "g", "c", "a", "t", "c", "c", "t", "g",
"c", "g", "g", "t", "t", "g", "a", "t", "a", "c", "a", "g", "c",
"t", "t", "c", "a", "t", "t", "g", "c", "c", "g", "c", "g", "a",
"t", "g", "t", "c", "c", "c", "c", "a", "g", "t", "g", "t", "c",
"g", "g", "c", "c", "a", "c", "t", "a", "c", "g", "g", "t", "g",
"g", "t", "g", "t", "a", "c", "t", "g", "a", "c", "g", "a", "a",
"g", "g", "g", "a", "g", "g", "t", "c", "a", "a", "t", "t", "t",
"g", "t", "c", "c", "g", "t", "c", "a", "t", "g", "a", "t", "a",
"g", "t", "a", "t", "t", "t", "c", "t", "c", "t", "t", "t", "a",
"a", "a", "c", "a", "g", "c", "t", "t", "g", "t", "t", "a", "g",
"g", "g", "g", "g", "a", "t", "g", "t", "a", "a", "c", "c", "g",
"g", "t", "c", "t", "g", "c", "c", "c", "t", "g", "a", "t", "g",
"a", "t", "a", "t", "c", "a", "c", "g", "a", "c", "g", "c", "a",
"a", "c", "g", "t", "c", "a", "g", "c", "g", "c", "a", "a", "c",
"c", "g", "c", "c", "g", "a", "c", "a", "a", "g", "a", "c", "g",
"g", "t", "t", "a", "t", "c", "g", "c", "c", "a", "g", "g", "c",
"g", "a", "g", "a", "c", "t", "g", "t", "t", "t", "c", "g", "g",
"a", "t", "t", "t", "c", "t", "g", "a", "c", "a", "c", "t", "g",
"c", "g", "t", "t", "g", "a", "t", "a", "t", "c", "g", "c", "c",
"c", "g", "c", "c", "a", "t", "t", "t", "t", "t", "a", "t", "a",
"c", "a", "a", "a", "a", "c", "c", "t", "c", "a", "t", "g", "t",
"a", "t", "g", "c", "t", "a", "c", "g", "c", "a", "g", "a", "a",
"g", "t", "t", "a", "t", "c", "a", "a", "g", "t", "a", "c", "c",
"t", "c", "g", "t", "a", "g", "c", "g", "t", "a", "t", "a", "t",
"a", "c", "t", "t", "c", "t", "t", "a", "a", "a", "c", "a", "a",
"t", "t", "g", "g", "t", "a", "a", "c", "g", "t", "t", "t", "a",
"c", "a", "c", "a", "g", "g", "a", "a", "a", "g", "t", "c", "a",
"t", "c", "g", "c", "g", "a", "c", "c", "g", "g", "c", "a", "a",
"t", "a", "a", "g", "a", "g", "g", "g", "a", "t", "a", "t", "g",
"c", "a", "t", "g", "c", "c", "a", "g", "a", "t", "t", "t", "t",
"t", "t", "c", "t", "c", "c", "t", "t", "c", "a", "t", "t", "a",
"a", "c", "a", "g", "c", "g", "t", "c", "c", "t", "t", "t", "g",
"g", "g", "g", "a", "t", "c", "g", "g", "t", "a", "a", "t"),
c("c", "g", "g", "a", "t", "g", "t", "a", "g", "c", "g",
"a", "a", "a", "c", "t", "g", "c", "a", "c", "a", "a", "a",
"t", "c", "c", "g", "g", "t", "g", "c", "g", "a", "a", "a",
"a", "g", "t", "g", "a", "a", "c", "c", "a", "a", "c", "a",
"a", "c", "c", "t", "g", "c", "g", "c", "c", "g", "a", "a",
"g", "a", "g", "c", "a", "g", "g", "t", "a", "a", "a", "t",
"c", "a", "t", "t", "a", "c", "c", "g", "a", "t", "c", "c",
"c", "c", "a", "a", "a", "g", "g", "a", "c", "g", "c", "t",
"g", "t", "t", "a", "a", "t", "g", "a", "a", "g", "g", "a",
"g", "a", "a", "a", "a", "a", "a", "t", "c", "t", "g", "g",
"c", "a", "t", "g", "c", "a", "t", "a", "t", "c", "c", "c",
"t", "c", "t", "t", "a", "t", "t", "g", "c", "c", "g", "g",
"t", "c", "g", "c", "g", "a", "t", "g", "a", "c", "t", "t",
"t", "c", "c", "t", "g", "t", "g", "t", "a", "a", "a", "c",
"g", "t", "t", "a", "c", "c", "a", "a", "t", "t", "g", "t",
"t", "t", "a", "a", "g", "a", "a", "g", "t", "a", "t", "a",
"t", "a", "c", "g", "c", "t", "a", "c", "g", "a", "g", "g",
"t", "a", "c", "t", "t", "g", "a", "t", "a", "a", "c", "t",
"t", "c", "t", "g", "c", "g", "t", "a", "g", "c", "a", "t",
"a", "c", "a", "t", "g", "a", "g", "g", "t", "t", "t", "t",
"g", "t", "a", "t", "a", "a", "a", "a", "a", "t", "g", "g",
"c", "g", "g", "g", "c", "g", "a", "t", "a", "t", "c", "a",
"a", "c", "g", "c", "a", "g", "t", "g", "t", "c", "a", "g",
"a", "a", "a", "t", "c", "c", "g", "a", "a", "a", "c", "a",
"g", "t", "c", "t", "c", "g", "c", "c", "t", "g", "g", "c",
"g", "a", "t", "a", "a", "c", "c", "g", "t", "c", "t", "t",
"g", "t", "c", "g", "g", "c", "g", "g", "t", "t", "g", "c",
"g", "c", "t", "g", "a", "c", "g", "t", "t", "g", "c", "g",
"t", "c", "g", "t", "g", "a", "t", "a", "t", "c", "a", "t",
"c", "a", "g", "g", "g", "c", "a", "g", "a", "c", "c", "g",
"g", "t", "t", "a", "c", "a", "t", "c", "c", "c", "c", "c",
"t", "a", "a", "c", "a", "a", "g", "c", "t", "g", "t", "t",
"t", "a", "a", "a", "g", "a", "g", "a", "a", "a", "t", "a",
"c", "t", "a", "t", "c", "a", "t", "g", "a", "c", "g", "g",
"a", "c", "a", "a", "a", "t", "t", "g", "a", "c", "c", "t",
"c", "c", "c", "t", "t", "c", "g", "t", "c", "a", "g", "t",
"a", "c", "a", "c", "c", "a", "c", "c", "g", "t", "a", "g",
"t", "g", "g", "c", "c", "g", "a"), c("g", "g", "g", "c",
"g", "c", "a", "a", "g", "c", "t", "t", "c", "c", "g", "t",
"a", "a", "c", "a", "t", "c", "g", "g", "c", "g", "a", "a",
"a", "t", "t", "c", "t", "g", "g", "a", "a", "c", "t", "g",
"g", "c", "a", "g", "g", "c", "t", "g", "c", "g", "a", "c",
"c", "g", "t", "c", "t", "g", "a", "c", "c", "a", "t", "c",
"g", "c", "a", "c", "c", "g", "g", "c", "a", "c", "t", "g",
"c", "t", "g", "a", "a", "a", "g", "a", "g", "c", "t", "g",
"g", "c", "g", "g", "a", "g", "a", "g", "c", "g", "a", "a",
"g", "g", "g", "g", "c", "t", "a", "t", "c", "g", "a", "a",
"c", "g", "t", "a", "a", "a", "c", "t", "g", "t", "c", "t",
"t", "a", "c", "a", "c", "c", "g", "g", "c", "g", "a", "a",
"g", "t", "g", "a", "a", "a", "g", "c", "g", "c", "g", "t",
"c", "c", "g", "g", "c", "g", "c", "g", "t", "a", "t", "c",
"a", "c", "t", "g", "a", "g", "t", "c", "c", "g", "a", "g",
"t", "t", "c", "c", "t", "g", "t", "g", "g", "c", "a", "g",
"c", "a", "c", "a", "a", "c", "c", "a", "g", "g", "a", "t",
"c", "c", "a", "a", "t", "g", "g", "c", "a", "g", "t", "a",
"g", "a", "t", "a", "a", "a", "c", "t", "g", "g", "c", "g",
"g", "a", "a", "g", "g", "t", "a", "t", "c", "c", "g", "t",
"a", "a", "g", "t", "t", "t", "g", "c", "t", "a", "t", "t",
"g", "a", "c", "c", "a", "g", "g", "a", "a", "a", "a", "a",
"c", "t", "g", "g", "a", "a", "a", "a", "a", "a", "t", "g",
"a", "t", "c", "g", "g", "c", "g", "a", "t", "c", "t", "g",
"c", "t", "g", "t", "a", "a", "t", "c", "a", "t", "t", "c",
"t", "t", "a", "g", "c", "g", "t", "g", "a", "c", "c", "g",
"g", "g", "a", "a", "g", "t", "c", "g", "g", "t", "c", "a",
"c", "g", "c", "t", "a", "c", "c", "t", "c", "t", "t", "c",
"t", "g", "a", "a", "g", "c", "c", "t", "g", "t", "c", "t",
"g", "t", "c", "a", "c", "t", "c", "c", "c", "t", "t", "c",
"g", "c", "a", "g", "t", "g", "t", "a", "t", "c", "a", "t",
"t", "c", "t", "g", "t", "t", "t", "a", "a", "c", "g", "a",
"g", "a", "c", "t", "g", "t", "t", "t", "a", "a", "a", "c",
"g", "g", "a", "a", "a", "a", "a", "t", "c", "t", "t", "g",
"a", "t", "g", "a", "a", "t", "a", "c", "t", "t", "t", "a",
"c", "g", "t", "a", "t", "t", "g", "g", "c", "t", "t", "a",
"g", "t", "t", "t", "c", "c", "a", "t", "c", "t", "c", "t",
"g", "a", "t", "c", "g", "c", "g", "c", "a", "t", "c", "c",
"a", "g"), c("c", "t", "g", "a", "t", "g", "a", "a", "a",
"g", "a", "c", "a", "a", "a", "t", "t", "a", "t", "t", "g",
"g", "c", "a", "a", "a", "a", "g", "g", "t", "g", "t", "g",
"t", "c", "g", "c", "a", "t", "t", "t", "g", "c", "t", "t",
"t", "c", "c", "a", "g", "c", "c", "a", "a", "c", "t", "g",
"a", "c", "c", "c", "g", "c", "a", "t", "t", "t", "t", "a",
"c", "g", "c", "a", "c", "c", "c", "a", "c", "g", "c", "a",
"g", "c", "a", "a", "t", "g", "a", "g", "c", "g", "t", "a",
"c", "t", "t", "g", "g", "g", "c", "a", "t", "g", "g", "t",
"t", "t", "g", "c", "t", "g", "c", "g", "c", "g", "g", "c",
"g", "c", "g", "g", "g", "g", "c", "t", "g", "g", "g", "a",
"g", "g", "c", "c", "c", "t", "g", "t", "a", "g", "g", "t",
"g", "c", "g", "g", "c", "a", "c", "t", "a", "a", "a", "t",
"g", "g", "g", "g", "t", "t", "a", "a", "a", "g", "c", "g",
"g", "t", "c", "a", "g", "c", "g", "g", "c", "a", "g", "c",
"g", "c", "c", "t", "a", "t", "c", "g", "c", "g", "t", "g",
"a", "c", "g", "a", "t", "t", "c", "c", "a", "g", "c", "c",
"g", "t", "a", "c", "t", "g", "c", "a", "a", "a", "t", "c",
"g", "c", "c", "t", "g", "c", "c", "t", "g", "c", "g", "c",
"c", "g", "g", "a", "t", "g", "g", "t", "t", "a", "g", "c",
"g", "c", "c", "a", "c", "t", "c", "a", "g", "g", "t", "c",
"t", "g", "a", "t", "a", "c", "c", "g", "g", "a", "a", "a",
"c", "c", "g", "g", "g", "g", "a", "a", "a", "a", "t", "t",
"t", "t", "c", "a", "t", "t", "t", "t", "c", "c", "c", "c",
"t", "c", "a", "a", "a", "a", "g", "a", "t", "c", "g", "t",
"a", "g", "a", "c", "a", "c", "t", "g", "c", "c", "c", "c",
"a", "c", "t", "g", "g", "c", "t", "g", "a", "t", "t", "a",
"t", "t", "a", "t", "g", "c", "c", "g", "c", "g", "c", "c",
"c", "t", "g", "a", "a", "a", "a", "c", "a", "c", "t", "a",
"c", "a", "g", "t", "t", "a", "t", "t", "c", "a", "g", "g",
"g", "a", "a", "a", "t", "t", "a", "t", "t", "t", "c", "a",
"c", "c", "a", "t", "t", "c", "a", "t", "t", "c", "g", "a",
"t", "g", "a", "t", "g", "a", "t", "t", "t", "t", "t", "g",
"a", "g", "g", "a", "a", "t", "t", "a", "t", "g", "g", "g",
"c", "a", "a", "c", "a", "c", "t", "a", "a", "g", "t", "t",
"g", "g", "c", "t", "a", "a", "t", "c", "c", "g", "g", "c",
"a", "c", "c", "g", "c", "t", "g", "g", "g", "c", "c", "t",
"g", "a", "t", "g", "g", "g", "c", "t", "t"))
使用一些包:
library(purrr)
library(stringr)
k <- ncol(argRcount)
setNames(upstream[[2]], upstream[[1]]) %>%
map(~match(str_split(.x, "")[[1]], rownames(argRcount))) %>%
map(function(vec) map(seq_len(length(vec) - k + 1), ~vec[.x:(.x + k - 1)])) %>%
map(function(gene_seq) map_dbl(gene_seq, ~sum(argRcount[matrix(c(.x, seq_len(k)), ncol = 2)])))