تحويل FASTQ ASCII إلى النظام العشري والنظام الست عشري في R [مغلق]
سؤال
لدي نقاط جودة FASTQ والتي يتم تقديمها كسلسلة من أحرف ASCII.في هذه الحالة (محتمل) حرف ASCII من 64 إلى 126 يمثل النتيجة من 0 إلى 62 (على افتراض أنها Illumina).وهذا يؤدي إلى التسلسل الأساسي:
feffefdfbefdfffcfdeTddaYddffbfcI``S_KKX_]]MR[D_TY[VTVXQ]`Q_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
كيف يمكنني استخراج عدد أحرف ASCII؟
شكرا لك سان
يحرر:يدل هذا التسلسل على نوعية التسلسل البيولوجي الذي يتكون من قواعد (من أزواج قاعدية في الأحماض النووية، أي صفة (ATGC)).الجودة الأساسية هي احتمالية الخطأ الأساسي بمقياس phred والتي تساوي -10 log10 Pr{base is error}.
المحلول
حسنًا، كما قال ماريك:قد تجد وظيفة لتحويل درجات جودة Illumina في Bioconductor.يمكنك أن تسأل في biostar.stackexchange.com.
باستخدام الوظائف الأساسية، يمكنك استخدام 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"
ضع في اعتبارك أنه سيتعين عليك الهروب من الخط المائل العكسي، وإلا ستقع في مشكلة.يعتمد ذلك على كيفية قراءتك لبياناتك وما إلى ذلك.