Convierta FASTQ ASCII a decimal y hexadecimal en R [cerrado]
Pregunta
Tengo un puntaje de calidad FASTQ que se presenta como una serie de caracteres ASCII.En este caso (probable) Los caracteres ASCII 64 a 126 representan una puntuación de 0 a 62 (suponiendo que sea Illumina).Esto da lugar a la secuencia subyacente:
feffefdfbefdfffcfdeTddaYddffbfcI``S_KKX_]]MR[D_TY[VTVXQ]`Q_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
¿Cómo extraigo cuál es el número de caracteres ASCII?
Gracias San
EDITAR:Esta secuencia denota la calidad de una secuencia biológica que está formada por bases (de pares de bases en ácidos nucleicos, es decir, un carácter (ATGC)).Una calidad base es la probabilidad de error base escalada en phred que es igual a -10 log10 Pr{la base es incorrecta}.
Solución
Bueno, como dijo Marek:es posible que encuentre una función para convertir puntuaciones de calidad de Illumina en Bioconductor.Puedes preguntar en biostar.stackexchange.com.
Usando funciones básicas, puede usar charToRaw()
:
> x <- "feeffdbefc`\\KKX]_BBBB"
> charToRaw(x)
[1] 66 65 65 66 66 64 62 65 66 63 60 5c 4b 4b 58 5d 5f 42 42 42 42
> as.numeric(charToRaw(x))
[1] 102 101 101 102 102 100 98 101 102 99 96 92 75 75 88 93 95 66 66 66 66
> as.character(charToRaw(x))
[1] "66" "65" "65" "66" "66" "64" "62" "65" "66" "63" "60" "5c" "4b" "4b" "58" "5d" "5f" "42" "42" "42" "42"
Eso sí, tendrás que escapar de la barra invertida o te meterás en problemas.Eso depende de cómo leas tus datos y demás.