Nanopore:使用albacore進(jìn)行basecalling

使用 Nanopore MinION 進(jìn)行單分子DNA測序,產(chǎn)出的結(jié)果是 fast5 文件,我拿到的結(jié)果中有400多個(gè)數(shù)字編號(hào)的件夾,每個(gè)文件夾里面4000個(gè) fast5 文件,即一共160萬條 reads,現(xiàn)在要做 basecalling。

目前,做basecalling的軟件有ONT官方提供的Albacore,Nanonet,Guppy和Scrappie,以及非官方的Nanocall(已淘汰,僅在早期的文章中看到),DeepNano和Chiron。有研究人員在人類基因組Nanopore測序文章中也特別比較了Albacore和Scrappie。這些basecalling大多在不斷升級(jí)中,各軟件間存在一些差異,特別是對(duì)poly結(jié)構(gòu)的basecalling。?

? ? ? ?Albacore集成在MinKNOW,因此測序時(shí)可作實(shí)時(shí)的basecalling,它在文章中出現(xiàn)次數(shù)最多,也是目前主要的開發(fā)熱點(diǎn)??稍趎anopore官網(wǎng)下載最新版的Albacore。

Albacore程序安裝:

先要確保有Python,我之前安裝了Python3.6(用Anaconda3安裝的Python3.6),所以直接下載對(duì)應(yīng)版本的albacore,下面下載鏈接里有cp36字樣(如果是Python3.5,則下載cp35字樣的文件),運(yùn)行下述命令:

wget https://apac.oxfordnanoportal.com/software/analysis/ont_albacore-2.3.1-cp36-cp36m-manylinux1_x86_64.whl

再用以下代碼進(jìn)行安裝:

pip3 install?ont_albacore-xx.whl

測試是否安裝成功:

結(jié)果說明

基本運(yùn)行代碼如下:

read_fast5_basecaller.py --input?/path/to/fast5/dir?--recursive --worker_threads 10 --flowcell?FLO-MIN106?--kit?SQK-LSK108?--save_path?/path/to/output

注意:FLO-MIN106這個(gè)是flowcell的型號(hào),類似FAH57248這個(gè)是flowcell唯一的id,這里--flowcell是FLO-MIN106

另外,如果是混合測序,可添加--barcoding選項(xiàng),程序會(huì)自動(dòng)搜索barcode;如果想個(gè)性化的指定參數(shù),可以提供config文件,再通過--config指定。

# --input指定輸入的文件夾,配合--recursive選項(xiàng),可以只指定最上層目錄,程序會(huì)自動(dòng)遞歸尋找其中的fast5文件

# --worker_threads指定線程數(shù)

# --kit的只能在https://nanopore.yilimart.com/Group/Kits1/這里選擇現(xiàn)有的試劑盒

# --save_path指定輸出的目錄


運(yùn)行完后生成configuration.cfg,pipeline.log,sequencing_summary.txt和workspace文件夾,在workspace文件夾中存放有pass和fail文件夾,里邊放的是fastq文件,通常用pass目錄下的文件作后續(xù)分析。

configuration.cfg記錄運(yùn)行參數(shù),默認(rèn)min_qscore_1d值為7.0,這個(gè)值非常重要,因?yàn)樗蛂eads過濾為pass/fail有關(guān),后續(xù)有詳解;另外還記錄有fastq相關(guān)文件(夾)命令規(guī)則:

[fastq]

identifier = {read_id}

header = {identifier} runid={run_id} read={read_number} ch={channel_id} start_time={start_time_utc}

header_with_barcoding = {identifier} runid={run_id} read={read_number} ch={channel_id} start_time={start_time_utc} barcode={barcode_id}

batch_file_name = fastq_runid_{run_id}_{batch_counter}.{extension}

single_file_name = {read_id}.{extension}

all_file_name = fastq_runid_{run_id}.{extension}


sequencing_summary.txt記錄的信息最為全面,這也是目前Nanopore QC軟件玩花樣的競技場! 其中的19列內(nèi)容如下:

filenamefast5文件名

read_id每個(gè)fast5文件對(duì)應(yīng)一條read

run_id這次run的id號(hào),一個(gè)flowcell通常為一個(gè)run,所以sequencing_summary中run_id都一致。如果一個(gè)flowcell中途停掉再跑,每跑一次會(huì)記錄新的run id

channel測序有512個(gè)channel,這個(gè)記錄read在哪個(gè)channel測的

start_time這條read測序起始時(shí)間

duration這條read測序經(jīng)過時(shí)間

num_eventsevent的概念為歷史遺存,目前已棄用

passes_filteringread的mean_qscore_template大于7(即min_qscore_1d的默認(rèn)值)時(shí)為True,否則為False

template_starttemplate不詳,如有知情者歡迎補(bǔ)上!

num_events_template

template_duration

num_called_template

sequence_length_template記錄的read的長度

mean_qscore_templatepass和fail通過這一項(xiàng)進(jìn)行劃分,注意默認(rèn)是從0-7(不包括0和7!)等于0的劃分為skip,不過通常skip目錄不會(huì)保留

strand_score_template這幾個(gè)值不詳

calibration_strand_genome_template

calibration_strand_identity_template

calibration_strand_accuracy_template

calibration_strand_speed_bps_template

注:其中最重要的是mean_qscore_template值?

后續(xù)分析建議用pass目錄下的read進(jìn)行。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容