изменение матрицы и печать изменений в R

У меня есть эта матрица

`$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.

r,

-1

Ответов: 1


2 принят

Есть несколько проблем с вашей функцией. Я считаю, что решил их, и теперь он делает то, что вы описываете в вопросе.

DNA.RNA = function(x) {
    gr <- grepl("[^ACGT]", x[, 2])
    sapply(gr, function(y){
        if(y) print("Seq is RNA") else print("Seq is DNA, converting to RNA..")
    })
    x[, 3] = gsub("T", "U", x[, 2])
    x
}

seq.mat.result <- DNA.RNA(seq.mat)
р,
Похожие вопросы
Яндекс.Метрика