前面已經完成了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
複制