Elsy Aislinn Gil Orozco A01666225
José Eduardo Pérez Abundiz A01666860
Aron Cortez Villafuerte A01666725
Armando Atanasio Navarrete Yépez A01658529
library(seqinr)
# Leer el archivo FASTA
zika <- read.fasta("sequencezika.fasta")
# Extraer la primera secuencia
seq.zika <- zika[[1]]
# Contar la cantidad de cada nucleótido
count.nt.zika <- count(seq.zika, 1)
tamaño <- length(seq.zika)
print(paste("Tamaño de la secuencia: ", tamaño))
## [1] "Tamaño de la secuencia: 10808"
# Calcular el porcentaje de cada nucleótido
porcentaje.A <- count.nt.zika[[1]] / tamaño * 100
porcentaje.T <- count.nt.zika[[4]] / tamaño * 100
porcentaje.C <- count.nt.zika[[2]] / tamaño * 100
porcentaje.G <- count.nt.zika[[3]] / tamaño * 100
print(paste("Porcentaje de A: ", porcentaje.A))
## [1] "Porcentaje de A: 27.3501110288675"
print(paste("Porcentaje de T: ", porcentaje.T))
## [1] "Porcentaje de T: 21.3915618060696"
print(paste("Porcentaje de C: ", porcentaje.C))
## [1] "Porcentaje de C: 22.0484826054774"
print(paste("Porcentaje de G: ", porcentaje.G))
## [1] "Porcentaje de G: 29.2098445595855"
# Función para calcular el contenido de GC
GC <- function (count.nt.zika, seq.zika){
contenidoGC <- (count.nt.zika[[3]]) + (count.nt.zika[[2]])
contenidoGC <- contenidoGC / length(seq.zika) * 100
return(contenidoGC)
}
# Calcular el contenido de GC
resultado = GC(count.nt.zika, seq.zika)
print(paste("Contenido de GC: ", resultado))
## [1] "Contenido de GC: 51.2583271650629"
#Secuencia complementario
complementaria <- function(seq.zika) {
# Crear un vector con los nucleótidos de la secuencia original
nucleotidos <- unlist(strsplit(seq.zika, ""))
# Crear un vector con los nucleótidos complementarios
complementarios <- c("a" = "t", "t" = "a", "g" = "c", "c" = "g")
# Obtener la secuencia complementaria
secuencia_complementaria <- complementarios[nucleotidos]
# Imprimir los primeros 50 y los últimos 50 caracteres de la secuencia complementaria
print(paste("Primeros 50 caracteres: ", paste(secuencia_complementaria[1:50], collapse = "")))
print(paste("Últimos 50 caracteres: ", paste(secuencia_complementaria[(length(secuencia_complementaria)-49):length(secuencia_complementaria)], collapse = "")))
}
# Prueba la función con la secuencia del virus original
complementaria(seq.zika)
## [1] "Primeros 50 caracteres: tcaacaactagacacacttagtctgacgctgtcaagctcaaacttcgctt"
## [1] "Últimos 50 caracteres: cgtgtctagcggcttatcgccgccggccacacccctttaggtacccagaa"
sars_cov2 <- read.fasta("sequenceSARS-CoV-2.fasta")
# Extraer la primera secuencia
seq.cov2 <- sars_cov2[[1]]
# Contar la cantidad de cada nucleótido
count.nt.cov2 <- count(seq.cov2, 1)
tamaño <- length(seq.cov)
print(paste("Tamaño de la secuencia: ", tamaño))
## [1] "Tamaño de la secuencia: 29751"
# Calcular el porcentaje de cada nucleótido
porcentaje.A <- count.nt.cov2[[1]] / tamaño * 100
porcentaje.T <- count.nt.cov2[[4]] / tamaño * 100
porcentaje.C <- count.nt.cov2[[2]] / tamaño * 100
porcentaje.G <- count.nt.cov2[[3]] / tamaño * 100
print(paste("Porcentaje de A: ", porcentaje.A))
## [1] "Porcentaje de A: 30.0964673456354"
print(paste("Porcentaje de T: ", porcentaje.T))
## [1] "Porcentaje de T: 32.2476555409902"
print(paste("Porcentaje de C: ", porcentaje.C))
## [1] "Porcentaje de C: 18.4598837013882"
print(paste("Porcentaje de G: ", porcentaje.G))
## [1] "Porcentaje de G: 19.7069006083829"
# Calcular el contenido de GC
resultado = GC(count.nt.cov2, seq.cov2)
print(paste("Contenido de GC: ", resultado)
)
## [1] "Contenido de GC: 37.9727786509715"
#Secuencia complementario
complementaria(seq.cov2)
## [1] "Primeros 50 caracteres: taatttccaaatatggaagggtccattgtttggttggttgaaagctagag"
## [1] "Últimos 50 caracteres: gaagaatcctcttactgttttttttttttttttttttttttttttttttt"
# Leer el archivo FASTA
dengue <- read.fasta("denguet1.fna")
# Extraer la primera secuencia
seq.dengue <- dengue[[1]]
# Contar la cantidad de cada nucleótido
count.nt.dengue <- count(seq.dengue, 1)
tamaño <- length(seq.dengue)
print(paste("Tamaño de la secuencia: ", tamaño))
## [1] "Tamaño de la secuencia: 10735"
# Calcular el porcentaje de cada nucleótido
porcentaje.A <- count.nt.dengue[[1]] / tamaño * 100
porcentaje.T <- count.nt.dengue[[4]] / tamaño * 100
porcentaje.C <- count.nt.dengue[[2]] / tamaño * 100
porcentaje.G <- count.nt.dengue[[3]] / tamaño * 100
print(paste("Porcentaje de A: ", porcentaje.A))
## [1] "Porcentaje de A: 31.914299021891"
print(paste("Porcentaje de T: ", porcentaje.T))
## [1] "Porcentaje de T: 21.4159292035398"
print(paste("Porcentaje de C: ", porcentaje.C))
## [1] "Porcentaje de C: 20.8663251047974"
print(paste("Porcentaje de G: ", porcentaje.G))
## [1] "Porcentaje de G: 25.8034466697718"
# Función para calcular el contenido de GC
# Calcular el contenido de GC
resultado = GC(count.nt.dengue, seq.dengue)
print(paste("Contenido de GC: ", resultado))
## [1] "Contenido de GC: 46.6697717745692"
#Secuencia complementario
complementaria(seq.dengue)
## [1] "Primeros 50 caracteres: tcaacaatcagatgcacctggctgttcttgtcaaagcttagccttcgaac"
## [1] "Últimos 50 caracteres: tccgtgtcttgcggttttttaccttaccacgacaacttagttgtccaaga"
compara <- function(seq.zika, seq.cov, seq.cov2, seq.dengue) {
# Contar la cantidad de cada nucleótido para cada virus
count.nt.zika <- count(seq.zika, 1)
count.nt.cov <- count(seq.cov, 1)
count.nt.cov2 <- count(seq.cov2, 1)
count.nt.dengue <- count(seq.dengue, 1)
par(mfrow=c(1, 4)) # Ajusta esto según el número de barplots que quieres mostrar
# Crear cada barplot
barplot(count.nt.zika, col=1:4, main="ZIKA")
barplot(count.nt.cov, col=1:4, main="SARS-COV")
barplot(count.nt.cov2, col=1:4, main="Wuhan-Hu-1 (SARS-COV2)")
barplot(count.nt.dengue, col=1:4, main="DENGUE")
# Restaurar la configuración original de par
par(mfrow=c(1, 1))
}
# Crear cada barplot
barplot(count.nt.zika, col=1:4, main="ZIKA")
barplot(count.nt.cov, col=1:4, main="SARS-COV")
barplot(count.nt.cov2, col=1:4, main="Wuhan-Hu-1 (SARS-COV2)")
barplot(count.nt.dengue, col=1:4, main="DENGUE")