SMURF流程之q2-sidle(三)——数据库准备

前面已经完成了qiime2-sidle插件的安装,测试方法就是输入qiime:

  sidle               Plugin for kmer-based marker gene reconstruction.

出现了上面的选项,应该就说明已经安装成功了。

数据库准备

数据库准备是一劳永逸的,前面我们已经完成了数据库过滤的步骤

准备一个区域数据库

这一步是提取一个区域的数据库,基于K-mer,为了提升内存效率,把简并碱基和重复kmer作为一条序列。

# 首先,使用feature-classifier插件的extract-reads提取,那么对于6V区的SMURF应该是:
# 2.2 序列提取
# 74f 315R V1-V2
qiime feature-classifier extract-reads 
 --i-sequences sidle-db-full-degen-filtered-phylum-def-sequences.qza 
 --p-f-primer TGGCGGACGGGTGAGTAA 
 --p-r-primer CTGCTGCCTCCCGTAGGA 
 --o-reads sidle-db-filt-j1.qza
 # 316F 484R V3部分
 qiime feature-classifier extract-reads 
 --i-sequences sidle-db-full-degen-filtered-phylum-def-sequences.qza 
 --p-f-primer TCCTACGGGAGGCAGCAG 
 --p-r-primer  TATTACCGCGGCTGCTGG 
 --o-reads sidle-db-filt-j2.qza
 # 486F 650R V3部分-v4部分
  qiime feature-classifier extract-reads 
 --i-sequences sidle-db-full-degen-filtered-phylum-def-sequences.qza 
 --p-f-primer CAGCAGCCGCGGTAATAC 
 --p-r-primer  CGCATTTCACCGCTACAC 
 --o-reads sidle-db-filt-j3.qza
 # 752F 911 R V5
  qiime feature-classifier extract-reads 
 --i-sequences sidle-db-full-degen-filtered-phylum-def-sequences.qza 
 --p-f-primer AGGATTAGATACCCTGGT 
 --p-r-primer  GAATTAAACCACATGCTC 
 --o-reads sidle-db-filt-j4.qza
 # 901F 1057R V6
  qiime feature-classifier extract-reads 
 --i-sequences sidle-db-full-degen-filtered-phylum-def-sequences.qza 
 --p-f-primer GCACAAGCGGTGGAGCAT 
 --p-r-primer  CGCTCGTTGCGGGACTTA 
 --o-reads sidle-db-filt-j5.qza
 # 1143F 1336R V7 V8
  qiime feature-classifier extract-reads 
 --i-sequences sidle-db-full-degen-filtered-phylum-def-sequences.qza 
 --p-f-primer AGGAAGGTGGGGATGACG 
 --p-r-primer  CCCGGGAACGTATTCACC 
 --o-reads sidle-db-filt-j6.qza

上sidle插件,文档介绍这里和原方法略有区别,原算法是允许2个碱基不一致,而这里用的80%,作者说可以用–p-identity 参数,但是没找到。。。

 # 可以给region起个别名,看喜好起即可
 # P1
 qiime sidle prepare-extracted-region 
 --i-sequences sidle-db-filt-j1.qza 
 --p-region "P1" 
 --p-fwd-primer TGGCGGACGGGTGAGTAA 
 --p-rev-primer CTGCTGCCTCCCGTAGGA 
 --p-trim-length 100 
 --o-collapsed-kmers sidle-db-P1-100nt-kmers.qza 
 --o-kmer-map sidle-db-P1-100nt-map.qza 
 # P2
  qiime sidle prepare-extracted-region 
 --i-sequences sidle-db-filt-j2.qza 
 --p-region "P2" 
 --p-fwd-primer TCCTACGGGAGGCAGCAG 
 --p-rev-primer  TATTACCGCGGCTGCTGG 
 --p-trim-length 100 
 --o-collapsed-kmers sidle-db-P2-100nt-kmers.qza 
 --o-kmer-map sidle-db-P2-100nt-map.qza 
 # P3
  qiime sidle prepare-extracted-region 
 --i-sequences sidle-db-filt-j3.qza 
 --p-region "P3" 
 --p-fwd-primer CAGCAGCCGCGGTAATAC 
 --p-rev-primer  CGCATTTCACCGCTACAC 
 --p-trim-length 100 
 --o-collapsed-kmers sidle-db-P3-100nt-kmers.qza 
 --o-kmer-map sidle-db-P3-100nt-map.qza 
 # P4
  qiime sidle prepare-extracted-region 
 --i-sequences sidle-db-filt-j4.qza 
 --p-region "P4" 
 --p-fwd-primer AGGATTAGATACCCTGGT 
 --p-rev-primer  GAATTAAACCACATGCTC 
 --p-trim-length 100 
 --o-collapsed-kmers sidle-db-P4-100nt-kmers.qza 
 --o-kmer-map sidle-db-P4-100nt-map.qza 
 # P5
  qiime sidle prepare-extracted-region 
 --i-sequences sidle-db-filt-j5.qza 
 --p-region "P5" 
 --p-fwd-primer GCACAAGCGGTGGAGCAT 
 --p-rev-primer  CGCTCGTTGCGGGACTTA 
 --p-trim-length 100 
 --o-collapsed-kmers sidle-db-P5-100nt-kmers.qza 
 --o-kmer-map sidle-db-P5-100nt-map.qza 
 # P6
  qiime sidle prepare-extracted-region 
 --i-sequences sidle-db-filt-j6.qza 
 --p-region "P6" 
 --p-fwd-primer AGGAAGGTGGGGATGACG 
 --p-rev-primer  CCCGGGAACGTATTCACC 
 --p-trim-length 100 
 --o-collapsed-kmers sidle-db-P6-100nt-kmers.qza 
 --o-kmer-map sidle-db-P6-100nt-map.qza 

这步会输出含简并的序列,移除重复序列和一个kmer映射文件,可以qiime可视化,给出原始数据库序列名称(db-seq)、序列名称(seq-name)、区域标识(Kmer)、引物(fwd-primer和rev-primer)、区域(Region)和序列长度(Trim-Length)之间的关系。

# 如果参考序列不能覆盖正反向引物,可以把--p-trim-length设置为负值,增加个参数--p-reverse-complement-result 
 --i-sequences sidle-db-filt-jl.qza 
 --p-region "Batman" 
 --p-fwd-primer TATTACCGCGGCTGCTGG 
 --p-rev-primer TCCTACGGGAGGCAGCAG 
 --p-trim-length -100 
 --p-reverse-complement-result 
 --o-collapsed-kmers sidle-db-batman-100nt-kmers.qza 
 --o-kmer-map sidle-db-batman-100nt-map.qza

本篇文章来源于微信公众号: 微因

发表评论