微生物

qiime2踩雷手记

2019-04-04  本文已影响0人  栽生物坑里的信息汪

前言

之前一直使用qiime1+usearch或者qiime1+vsearch,因为一直很诟病qiime2里封闭的系统。但最近还是因为某些需求需要里里外外的看一堆qiime2的文档,所以这里记录一下一些我highlight的地方。不能作为学习笔记但是可以作为一下踩雷的纪要吧

踩雷正文

  1. q2-dada2会自动对pairend的序列进行joind
  2. dual-indexed 和mix-orientation reads暂时无官方解决方案
  3. deblur需要基于质量分数的筛选,而dada2不需要。
  4. deblur和dada2都有内在的chimera检查基于丰度的筛选,所以不需要额外的filtering
  5. classifier作为assign taxonomy的分类器, vsearch和blast都基于consensus的比对和排名,剩下一个基于sklearn的机器学习的方法.
  6. q2-classifier并不好多少...甚至比用0.7置信区间的rdp的还差一点.灌水文.Optimizing taxonomic classification of marker-gene amplicon sequences with QIIME 2’s q2-feature-classifier plugin
  7. Mockrobiota测试集
  8. 如果没有EMP或者Casava格式的fastq的话,需要自己写一个manifest格式的文件才能导入数据.Fastq manifest PS: Casava格式就是形如@HWI-ST279:211:C0BFTACXX:3:1101:3469:2181 1:N:0:ACTTGA格式的fastq. @<instrument>:<run number>:<flowcell ID>:<lane>:<tile>:<x- pos>:<y-pos> <read>:<isfiltered>:<control number>:<index sequence> 文件名形如L2S357_15_L001_R1_001.fastq.gz
  1. the sample identifier,
  2. the barcode sequence or a barcode identifier,
  3. the lane number,
  4. the direction of the read (i.e. only R1, because these are single-end reads), and
  5. the set number.
  1. qiime2中筛选(filtering)提供的模式十分的多. filtering
  1. 筛选feature tables
    1. 完全基于频率的筛选
    2. 基于conntigency的筛选(筛选只在少数样本中出现的feature)
    3. 基于id的筛选
    4. 基于metadata的筛选(可以基于metadata写sql语句https://en.wikipedia.org/wiki/Where_(SQL).......高级)
    5. 基于taxonomy的筛选(可以只保留/去除某些genus/phylum的样本)
  2. 筛选序列
  3. 筛选距离矩阵
  1. qiime2提供的Artifact API十分的粗糙,而且由于qiime2希望建立成一个方便扩展的工具平台,所以它以一种十分奇怪的方式对plugin进行import,所以也导致在python的IDE中去索引相关的模块变得十分的艰难。
  2. qiime2中部分的数据,其实是临时地储存在临时文件中的,例如序列文件(这里用rep,代表序列为例)。如果在python的环境中的话,可以通过rep._archiver.data_dir找到其临时储存的地方。
  3. qiime2-2019.1中看起来已经完全抛弃了原来的OTU的流程了,因为在文档和源代码中都很难找到相应的部分,即使其中含有vsearch的denovo clustering的函数,但是其实也只是为了sOTU服务。

踩雷总结

为了更好和更灵活的使用qiime2,我写了一个整合性的python流程脚本,储存在我的github仓库中,之后随着qiime2的使用,以及更多的与原来OTU的比较,应该也会进行不定时的更新,使用文档暂时没有。。。但主入口就是main.py

上一篇 下一篇

猜你喜欢

热点阅读