【问题标题】:Convert FASTQ ASCII to decimal and hexadecimal in R [closed]在 R 中将 FASTQ ASCII 转换为十进制和十六进制 [关闭]
【发布时间】:2011-02-17 05:03:20
【问题描述】:

我有一个 FASTQ 质量分数,它显示为一系列 ASCII 字符。在这种情况下(可能)ASCII 字符 64 到 126 代表 0 到 62 的分数(假设它是 Illumina)。这产生了潜在的序列:

feffefdfbefdfffcfdeTddaYddffbfcI``S_KKX_]]MR[D_TY[VTVXQ]`Q_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

如何提取 ASCII 字符的个数?

谢谢 圣

编辑: 该序列表示由碱基组成的生物序列的质量(来自核酸中的碱基对,即字符(ATGC))。碱基质量是 phred 尺度的碱基错误概率,等于 -10 log10 Pr{碱基错误}。

【问题讨论】:

  • ASCII 分数是什么意思?
  • 需要更多信息 - 这些字母是什么?你真的认为这对任何人都有意义吗?再试一次。
  • 请稍候,我正在重启我的水晶球。
  • 在我看来像 FASTQ format。如果是,则尝试搜索BioConductor
  • 我不了解你们,但我看到的都是金发和黑发!

标签: r ascii fastq


【解决方案1】:

好吧,正如 Marek 所说:您可能会在 Bioconductor 中找到转换 Illumina 质量分数的函数。可以在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"

请注意,您必须避开反斜杠,否则您会遇到麻烦。这取决于您如何读取数据等。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-30
  • 2017-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-04
相关资源
最近更新 更多