反向互补DNA序列列

时间:2017-12-11 17:35:43

标签: r regex

假设我在R中有1列和n行的DNA序列。我需要用每个元素替换列中的每个元素'反向补充。最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

使用Biostrings::reverseComplement

# Sample data
set.seed(2017);
df <- cbind.data.frame(
    DNA = sapply(sample(5:25), function(x)
        paste(sample(c("A", "C", "T", "G"), x, replace = TRUE), collapse = ""))
);

require(Biostrings);
df$revComp <- sapply(df$DNA, function(x) as.character(reverseComplement(DNAString(x))));
head(df);
#                       DNA                  revComp
#1 CGGAGTCACGACAGTAAATTTAAG CTTAAATTTACTGTCGTGACTCCG
#2          TATGGTGCTTCAGTG          CACTGAAGCACCATA
#3            ACTGTCAATTGTA            TACAATTGACAGT
#4               GGCCTCGAGT               ACTCGAGGCC
#5       GAAAACAGTTTGAGAGAG       CTCTCTCAAACTGTTTTC
#6        GAATACTAAAAGAGTCA        TGACTCTTTTAGTATTC