分享

纯文本可视化FASTQ质量数据

 微笑如酒 2018-08-29

去年曾老师发来一个github repo,虽然有意思,但在我看来就是乱用emoji,用一个人类不可读(你怎么能够记住表情如何与数值对应上?!)来表示另一个人类不友好(质量编码)的数据,这绝对不是个好主意。


这只是代码中对应关系中的一部分,你看表情能看出FASTQ数据质量如何?你做得到,我算是服了!

可视化我们有很多方法,但这其实不是可视化,而是一长串字符,这本身是好想法,我们可以在console里直接看一下,大概了解下数据质量,而不需要真正去画图。

现在终端上能显示的字体已经非常多样化了,比如我的终端及桌面底部的状态栏:

所以我们完完全全可以用文本的形式画个柱状图出来,甚至于加上颜色!测序质量怎么样?用柱状图有高低可以看,用emoji根本就不适合, 和#$&@!~这些有甚区别么!

做为回应,我写点简单的代码,你给个fastq文件,就可以画出来柱状图:

这图就可以看到,前面质量很好,尾部差一点。

▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆

这篇文章本发表于2017年6月,但由于里面用到了colformat包已经不存在,代码更新了一下,所以重新推送,如果你有兴趣玩一下,请使用下面的代码。

qbar <>function(x, verbose=TRUE) {
  enc = encoding(quality(x))

  qual <>function(i) enc[to_char_vector(x[i])])
  mq <>
  if (verbose) {
    names(mq) <>
    print(mq)
  }
  pillar:::spark_bar(mq/max(enc))
}

to_char_vector <>function(x) {
  toString(x@quality@quality) %>% strsplit(split='') %>% unlist
}


质量不好的时候,可能就是凹凹凸凸的:

▇▇▇▇▂▇▇▇▇▂▁▂▂▁▁▂▁▁▁▂▇▂▇▇▇▅▇▇▇▇▇▇▇▇▇▇▃▃▇▇▇▇▇▇▇▇▇▇▇▂▆▆▆▆▆▆▆▆▆▆▆▆▂▆▆▂▆▃▆▆▆▆


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多