1
我有一个DNA序列列表,例如“AGAACCTTATTGGGTCAAGT”。如果我想创建一个包含所有可能的字符串的列表,这些字符串可以按照给定长度的顺序(例如4)顺序地发生,那么在R中该怎么做?R中的字符串操作
在这种情况下,第一个字符串将是“AGAA”。第二个是“GAAC”,第三个是“AACC”,等等。
我有一个DNA序列列表,例如“AGAACCTTATTGGGTCAAGT”。如果我想创建一个包含所有可能的字符串的列表,这些字符串可以按照给定长度的顺序(例如4)顺序地发生,那么在R中该怎么做?R中的字符串操作
在这种情况下,第一个字符串将是“AGAA”。第二个是“GAAC”,第三个是“AACC”,等等。
x = "AGAACCTTATTGGGTCAAGT"
sapply(1:(nchar(x)-3), function(i) substr(x, i, i+3))
#[1] "AGAA" "GAAC" "AACC" "ACCT" "CCTT" "CTTA" "TTAT" "TATT" "ATTG" "TTGG" "TGGG" "GGGT" "GGTC" "GTCA" "TCAA" "CAAG" "AAGT"
谢谢!如果序列在一个大列表中,首先取消列表然后使用sapply或通过每个列表元素使用for语句会更有效吗? – user1294476
查找生成排列。 – Carcigenicate