Me sale una erro tipo; Error en fls[[i]]: this S4 class is not subsettable
- intento hacer una Tabla de abundancias con un archivo fastaq pero no sale la matriz de errores entonces primero quiero hacer eso, no se mucho de programación en R y me sale ese error mi código es.
# Cargar las librerías necesarias
library(dada2)
# Ruta al archivo filtrado
archivo_filtrado <- "C:/Users/jerem/Desktop/Nueva carpeta/filtered/Initial.fastq"
num_lecturas <- length(sread(readFastq(archivo_filtrado)))
print(num_lecturas)
library(ShortRead)
# Cargar el archivo FASTQ
qfile <- readFastq("C:/Users/jerem/Desktop/Nueva carpeta/filtered/Initial.fastq")
# Obtener las calidades
qual_matrix <- quality(qfile)
# Convertir el objeto 'FastqQuality' a una matriz numérica
qual_matrix_numeric <- as(qual_matrix, "matrix")
# Calcular el promedio de calidad por base
mean_quality <- rowMeans(qual_matrix_numeric)
# Visualizar las primeras 10 calidades promedio
print(mean_quality[1:10])
# Visualizar el gráfico de calidad promedio por base
plot(mean_quality, type = "l", col = "blue", main = "Promedio de calidad por base", xlab = "Posición de la base", ylab = "Calidad promedio")
# Filtrar y truncar las lecturas a la posición deseada (ajustar según tu gráfico de calidad)
resultado_filtrado <- filterAndTrim(
archivos_fastq, # Ruta a los archivos de entrada
archivos_filtrados, # Ruta a los archivos de salida
truncLen = 130, # Truncar las lecturas a la posición 130 (ajustar según la calidad)
maxN = 1, # No se permiten Ns en las secuencias
maxEE = 5, # Umbral de errores esperados
truncQ = 0, # Umbral de calidad para truncado
rm.phix = FALSE, # Eliminar contaminantes PhiX
compress = TRUE, # Comprimir los archivos filtrados
multithread = FALSE # Cambiado a FALSE para compatibilidad con Windows
)
# Definir la ruta del archivo FASTQ
archivo_fastq <- "C:/Users/jerem/Desktop/Nueva carpeta/filtered/Initial.fastq"
# Leer el archivo FASTQ (limitar a 1000 lecturas para evitar problemas)
qfile <- readFastq(archivo_fastq, n = 1000)
# Ver las primeras lecturas para asegurarnos de que se cargaron correctamente
head(qfile)
# Calcular la matriz de errores con las lecturas leídas
err <- learnErrors(qfile, multithread = FALSE)
# Ver la matriz de errores para comprobar que se calculó correctamente
print(err)
# Inferir las secuencias con la matriz de errores calculada
dada_obj <- dada(qfile, err = err, multithread = FALSE)
# Ver el resultado de las secuencias inferidas
print(dada_obj)
quería ver si podía conseguir la matriz de errores
New contributor
Jeremy Quimbita is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
1