to_rna <- function(dna) { dna_to_rna <- list(G="C", C="G", T="A", A="U") func <- function(x) { if (!(x %in% c("G","C","T","A"))) { stop("invalid dna strand") } dna_to_rna[[x]] } paste(lapply(strsplit(dna, "")[[1]], FUN=func), collapse = "") }