前面已经完成了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
本篇文章来源于微信公众号: 微因