Elsy Aislinn Gil Orozco A01666225

José Eduardo Pérez Abundiz A01666860

Aron Cortez Villafuerte A01666725

Armando Atanasio Navarrete Yépez A01658529

Zika Virus complete genome

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 coronavirus, complete genome

sars_cov <- read.fasta("sequenceSARS_COV.fasta")
# Extraer la primera secuencia
seq.cov <- sars_cov[[1]]
# Contar la cantidad de cada nucleótido
count.nt.cov <- count(seq.cov, 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.cov[[1]] / tamaño * 100
porcentaje.T <- count.nt.cov[[4]] / tamaño * 100
porcentaje.C <- count.nt.cov[[2]] / tamaño * 100
porcentaje.G <- count.nt.cov[[3]] / tamaño * 100

print(paste("Porcentaje de A: ", porcentaje.A))
## [1] "Porcentaje de A:  28.506604820006"
print(paste("Porcentaje de T: ", porcentaje.T))
## [1] "Porcentaje de T:  30.7317401095762"
print(paste("Porcentaje de C: ", porcentaje.C))
## [1] "Porcentaje de C:  19.9657154381365"
print(paste("Porcentaje de G: ", porcentaje.G))
## [1] "Porcentaje de G:  20.7959396322813"
# Calcular el contenido de GC
resultado = GC(count.nt.cov, seq.cov)
print(paste("Contenido de GC: ", resultado)
      )
## [1] "Contenido de GC:  40.7616550704178"
# Prueba la función con la secuencia del virus original
complementaria(seq.cov)
## [1] "Primeros 50 caracteres:  tataatccaaaaatggatgggtccttttcggttggttggagctagagaac"
## [1] "Últimos 50 caracteres:  aaaattatcgaagaatcctcttactgtttttttttttttttttttttttt"

Wuhan seafood market pneumonia virus isolate Wuhan-Hu-1, complete genome

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"

Middle East respiratory syndrome coronavirus, complete genome

mers <- read.fasta("sequenceMERS.fasta")
# Extraer la primera secuencia
seq.mers <- mers[[1]]
# Contar la cantidad de cada nucleótido
count.nt.mers <- count(seq.mers, 1)
tamaño <- length(seq.mers)
print(paste("Tamaño de la secuencia: ", tamaño))
## [1] "Tamaño de la secuencia:  30119"
# Calcular el porcentaje de cada nucleótido
porcentaje.A <- count.nt.mers[[1]] / tamaño * 100
porcentaje.T <- count.nt.mers[[4]] / tamaño * 100
porcentaje.C <- count.nt.mers[[2]] / tamaño * 100
porcentaje.G <- count.nt.mers[[3]] / tamaño * 100

print(paste("Porcentaje de A: ", porcentaje.A))
## [1] "Porcentaje de A:  26.2292904810917"
print(paste("Porcentaje de T: ", porcentaje.T))
## [1] "Porcentaje de T:  32.5342806866098"
print(paste("Porcentaje de C: ", porcentaje.C))
## [1] "Porcentaje de C:  20.3061190610578"
print(paste("Porcentaje de G: ", porcentaje.G))
## [1] "Porcentaje de G:  20.9303097712407"
# Calcular el contenido de GC
resultado = GC(count.nt.mers, seq.mers)
print(paste("Contenido de GC: ", resultado)
      )
## [1] "Contenido de GC:  41.2364288322986"
#Secuencia complementario

complementaria(seq.mers)
## [1] "Primeros 50 caracteres:  ctaaattcacttatcgaaccgatagagtgaaggggagcaagagaacgtct"
## [1] "Últimos 50 caracteres:  gataataagttaatctaatccgattaatctactaaacgtttttttttttt"

Dengue virus 1, complete genome

# 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")