R DNA序列的反向互补柱

R DNA序列的反向互补柱,r,regex,R,Regex,假设R中有1列和n行的DNA序列,我需要用每个元素的反向补码替换列中的每个元素。最好的方法是什么?使用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), coll

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

使用
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
#示例数据
种子集(2017);

df尝试使用
chartr
chartr('ACGT','TGCA','AAAGGGCTAAG')