最近打算測一些干燥材料和標本材料的淺層基因組,有些材料降解嚴重,拼接的過程可能會比較困難。由于我們的目標主要是轉錄組的數據,所以試試看能不能在拼接之前將與轉錄組無關的序列直接在原始測序數據中刪除。
minimap2和samtools安裝都比較簡單,這里就不行詳細介紹了。
1.參考數據建庫
首先我們選擇一個轉錄組數據進行建庫作為參考的比對序列
minimap2 -d 007.min 007_trinity.fasta
# 007.min為建立的索引庫的名稱, 007_trinity.fasta為準備的參考fasta序列文件
這樣就建立了一個參考庫
2.比對
minimap2 -ax map-ont 007.min 128_1.fq.gz -o 128_1.sam
# 007.min 是參考庫, 128_1.fq.gz是需要篩選的基因組原始數據,128_1.sam 是輸出的文件
minmap2 的常用參數
主要分成五大類,索引(Indexing),回帖(Mapping),比對(Alignment),輸入/輸出(Input/Output),預設值(Preset)。
-x :非常中要的一個選項,軟件預測的一些值,針對不同的數據選擇不同的值
map-pb/map-ont: pb或者ont數據與參考序列比對;
ava-pb/ava-ont: 尋找pd數據或者ont數據之間的overlap關系;
asm5/asm10/asm20: 拼接結果與參考序列進行比對,適合~0.1/1/5% 序列分歧度;
splice: 長reads的切割比對
sr: 短reads比對
-d :創建索引文件名
-a :指定輸出格式為sa格式,默認為PAF
-Q :sam文件中不輸出堿基質量
-R :reads Group信息,與bwa比對中的-R一致
-t:線程數,默認為3
-o: 輸出文件
3使用samtools處理sam文件
sam文件(上一步得到的那種文件)是一種列表格式,用來記錄reads比對到參考基因組上的信息,包括哪一條reads,比對到哪條基因組上的哪個位置,是一對一比對還是一對多比對,有無錯配,錯配是怎樣的。因此就需要包含很多列的信息,下面具體展示sam格式。
第一列:是reads ID
第二列:是flag標記的總和
第三列:比對到參考序列上的染色體號。
第四列:為在參考序列上的位置
第五列:比對的質量值,MAPQ
第六列:代表比對結果的CIGAR字符串
第七列:mate比對到的染色體號,若是沒有mate,則是*
第八列:比對到參考序列上的第一個堿基位置
第九列:Template的長度,
第十列:為read的序列
第十一列:為ASCII碼格式的序列質量;
比對得到的sam或者bam不能直接用于下游的數據處理,需要進行很多處理。主要包括轉換為bam,排序,合并不同lane的數據,對bam文件加頭部信息等操作。而這些工作都可以使用samtools工具來進行操作。samtools顧名思義,是處理sam格式的工具合集。samtools主要包含以下幾大功能:Indexing 建立索引,Editing 編輯文件,File operations,Statistics,統計相關功能;Viewing,查看,等
常用參數:
samtools選項參數:
-o:輸出結果文件
-O:輸出文件格式
-@:線程數目
--reference:參考序列
詳細操作不講了,直接提取需要的目標序列
samtools fasta -F 4 128_1.sam > 128_1.minimap2.fasta
# -F 4 參數表示提取出比對上的序列, -f 4 則是提取未比對上的序列。
最后得到一個fasta文件,使用這個fasta文件就可以進行下一步的序列拼接了。
之后使用Trinity進行拼接測試,但是總是運行一段時間就莫名其妙的斷掉了,也沒有任何報錯信息,后來將輸出的fasta文件改成fastq文件之后可以正常拼接,輸出fastq的命令問
samtools fastq -F 4128_1.sam > 128_1.minimap2.fastq