使用 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)])))