ubiome類似數據dada2處理探索1

還是接着之前的事說,首先,在researchgte網站上發現了一個小“新大陸”,說可以把不能很好拼接的數據直接N連接處理。這裏就先按軟件默認的加幾個N了,雖然拼接率有3%。。。然後,找到了直接加N的軟件,不重複造輪子,自己寫拼接腳本還是要費半天時間的,不如用工具,既好又準。這篇文章裏的第一個軟件死活找不到,於是放棄,還好有第二個選擇,使用vsearch,依然是不能運行32程序的MacOS 10.15 Catalina,還是老樣子,docker運行linux版本,至於爲什麼用32位,64位收費嘛。下面是我的操作過程:

1.“盲拼”序列

首先把usearch申請下載到工作目錄,然後docker掛載到home,當然如果linux就直接省了這一步了,可以下載(安裝)好直接使用。

docker run -it -v ~/Biodata/16S/process-ubiome-16S/primer-cutted:/home ubuntu
#開始拼接
./usearch -fastq_join sIL10-2-S-4_1.fastq -reverse sIL10-2-S-4_2.fastq -join_padgap NNNNNNNN   -join_padgapq IIIIIIII  -fastqout join.fq
tree #看下結果
.
├── join.fq
├── merged.fastq
├── sIL10-2-S-4_1.fastq
├── sIL10-2-S-4_1.fastq.gz
├── sIL10-2-S-4_2.fastq
├── sIL10-2-S-4_2.fastq.gz
└── usearch
ls -lh
total 277M
-rw-r--r-- 1 root root 115M Dec 30 02:47 join.fq
-rw-r--r-- 1 root root 2.7M Dec 30 02:38 merged.fastq
-rw-r--r-- 1 root root  63M Dec 30 02:26 sIL10-2-S-4_1.fastq
-rw-r--r-- 1 root root 9.0M Dec 30 02:24 sIL10-2-S-4_1.fastq.gz
-rw-r--r-- 1 root root  63M Dec 30 02:47 sIL10-2-S-4_2.fastq
-rw-r--r-- 1 root root 7.8M Dec 30 02:24 sIL10-2-S-4_2.fastq.gz
-rwxr-xr-x 1 root root 2.3M Nov 25 06:07 usearch

2.進入dada2流程

dada2流程,有嵌入到qiime2中的dada2插件,和單獨的R包,實現效果應該是一樣的,那就兩種方法都試一下吧,反正,我對R語言不怎麼熟悉,順便熟悉下。

1)qiime2-dada2流程

爲了簡單,直接把序列重名爲下機的標準文件名,這樣序列導入就不需要製作文件名列表了。運行過程中出現了報錯,估計不可行,看大部分序列長度是268,估計插件對於N的處理很嚴格,所以不能通過。

#激活conda
source /Volumes/MacOS/Miniconda3/bin/activate
#激活工作qiime2環境
conda activate qiime2-2019.10
#重命名文件
gzip join.fq #或者 pigz join.fa 如果裝了多線程gzip pigz
mkdir data && mv join.fq.gz data/join_S67_L001_R2_001.fastq.gz
#導入數據
qiime tools import \
--type 'SampleData[SequencesWithQuality]' \
--input-path data \
--input-format CasavaOneEightSingleLanePerSampleDirFmt \
--output-path demux-single-end.qza
### quality control #visualization 
qiime demux summarize \
 --i-data demux-single-end.qza\
 --o-visualization microbiome.qzv
 ##filter 聚類
qiime dada2 denoise-single \
  --i-demultiplexed-seqs demux-single-end.qza \
  --p-trim-left 0 \
  --p-trunc-len 268 \
  --o-representative-sequences rep-seqs-dada2.qza \
  --o-table table-dada2.qza \
  --o-denoising-stats stats-dada2.qza \
  --p-n-threads 4
  報錯Plugin error from dada2:

  No reads passed the filter. trunc_len (250) may be longer than read lengths, or other arguments (such as max_ee or trunc_q) may be preventing reads from passing the filter.

Debug info has been saved to /var/folders/05/zk0fr2h91h7_qsnr1kn0r72m0000gn/T/qiime2-q2cli-err-f8b4l_mr.log

2)R包dada2流程

Yes, although we strongly recommend using primers that allow your paired-end reads to overlap significantly. The mergePairs(..., justConcatenate=TRUE) option allows the paired reads to be joined without any overlap, but with 10Ns inserted in between the forward and reverse reads. The chimera removal and assignTaxonomy functions will handle such merged reads, although some other functions may fail (eg. addSpecies).

參考自官方文檔FAQ,應該說比較權威了。這個就不需要其他軟件了,這個包直接以10個N完成連接序列,然後修改下默認參數就好了。那麼走一遍官方步驟,雖然說物種註釋可能會失敗,試試啦。很幸運,基本上完成了分析,看來這個方法還是可行的,不失爲一個方法,雖然官方不推薦,畢竟,變異區中間缺失了大概10bp的樣子。以下內容基本上來自官方文檔,更改了部分,適合跑一個樣本和以10個N拼接序列。

Ps。基本上寫到最後了才發現宏基因組公衆號劉永鑫大哥已經把文檔在今年二月份翻譯過了,如果直接看他的翻譯應該節約不少時間,應該事前搜索下防止多廢功夫呀,當然,看看英語練習下也不錯。特別是我的序列是那種不能拼接的情況,和官方示例數據還有一些不同的。

準備工作–安裝包

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("dada2", version = "3.10")
報錯提示需要升級,於是運行下面代碼升級後繼續
options(BioC_mirror="https://mirrors.tuna.tsinghua.edu.cn/bioconductor") #清華鏡像速度槓槓的
BiocManager::install(version = '3.10') #完成後重新運行上面代碼
library(dada2); packageVersion("dada2")
#[1] ‘1.14.0’
path <- "/Users/zd200572/Biodata/16S/process-ubiome-16S/primer-cutted"

不希望一篇太長了,於是在這裏分開下,後面繼續,省得翻起來煩,就這樣。
歡迎交流,我的微信:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章