У меня есть эта матрица
`$seq.mat <- matrix(NA, nrow=20, ncol=2)
colnames(seq.mat) <- c("SampleID","Sequence")
set.seed(123)
for (i in 1:nrow(seq.mat)) {
seq.mat[i,1] <- paste0("Sample_", i)
seq.mat[i,2] <- paste(sample(c("C","G","A","T"), size=1000, replace =
TRUE), collapse="")
}
seq.mat <- cbind(seq.mat, RNASeq=NA, Seq.Count=NA)`
Мне нужно написать функцию, которая будет определять, является ли данная последовательность ДНК (есть только буквы «C», «G», «A» и «T») или РНК (имеет только «C», «G», A "и" U ").
Если это последовательность ДНК, функция должна:
1. Напечатать «Seq - ДНК, преобразование в РНК ..»;
2. Привести его в РНК, заменив букву «Т» в «U» и сохранить результат в Секвенирование РНК столбец seq.mat объекта.
Если это последовательность РНК, функция должна:
1. Печатать «Seq is RNA»;
2. Сохранить значение последовательности в Секвенирование РНК столбца seq.mat объекта.
Я знаю, что это неряшливо, но я думал о чем-то подобном ...
`$DNA.RNA = function(x){
grep = as.list(grepl("[^ACGT]",seq.mat[1:20,2]))
DNAorRNA = ifelse(grep == "FALSE", print("Seq is DNA, converting to
RNA.."), print("Seq is RNA"))
DNAorRNA = as.list(DNAorRNA)
DNAorRNA
seq.mat[,3] = gsub("T","U",seq.mat[,2])
}`
У меня было много проблем с этой функцией, хотя ... а затем, возможно, примените или примените функцию к seq.mat.