seq1 <- "ACGTATGCTAGTCTTTACG"
seq2 <- "TTATATGCTAGAATTAAGG"
mat <- matrix(0L, nchar(seq1), nchar(seq2))
x_dots <- c()
y_dots <- c()
k <- 1
for(i in seq(0, nchar(seq1))){
for(j in seq(0, nchar(seq2))){
if(substr(seq1, start = i, stop = i)==substr(seq2, start = j, stop = j)){
mat[i,j] <- 1
x_dots[[k]] <- i
y_dots[[k]] <- j
k <- k+1
}
}
}
mat
fonk <- function(x_dots,y_dots){
x<-0
y<-0
line <- list(list(),list())
for(i in seq(0, nchar(seq1))){
for(j in seq(0, nchar(seq2))){
if(substr(seq1, start = i, stop = i)==substr(seq2, start = j, stop = j)){
mat[i,j] <- 1
x_dots[[k]] <- i
y_dots[[k]] <- j
k <- k+1
}
}
}
}
x_dots
y_dots
plot(x_dots,y_dots)
lines(x_dots,y_dots)
Это код, который я написал. Я хочу рисовать линии между каждыми последовательными генами. Я имею в виду, если
x_dots [i] x_dots [i + 1]
и
y_dots [i] y_dots [i + 1 ]
- это те же гены, что и др aws линия. Другими словами, если у seq1 есть «AT», а у seq2 есть «AT» в том же месте, то это dr aws строка. Как я могу это сделать?
Изображение
Изображение 2