1. 程式人生 > >三代測序組拼接組裝工具Falcon

三代測序組拼接組裝工具Falcon

最大 reads raw 指定 版本 http 效率 identity 識別

基因組裝配工具Falcon工作流程

1 Falcon簡介
Falcon (Fast Alignment and CONsensus),是由PacBio(太平洋生物科技公司)新開發的二倍體基因組從頭拼接組裝工具,由HGAP(Hierarchical Genome Assembly Process)擴展而來,但擁有更快的拼接組裝效率。
Falcon的正常運行,需要DAZZ_DB模塊用來構建序列的數據庫,DALIGNER模塊進行序列比對尋找序列之間的重疊和pypeFLOW模塊記錄和追蹤流程進度。

技術分享

2 Falcon工作步驟

運行:fc_run.py fc_run.cfg
fc_run.cfg為配置文件,包含falcon運行所需要的各項參數。

1)構建用於錯誤修正的原始序列重疊信息
fc_run.py生成prepare.rd腳本,調用Daligner中的fasta2DB生成Dazzler Data Base;調用DB split分割數據塊,最終的任務數取決於對序列數據庫的分割(-s參數);調用HPCDaligner生成一系列局部比對的命令。具體由生成以rj開頭的腳本調用Daligner進行局部比對,生成一系列包含序列之間比對信息的”.las”文件。0-rawreads文件夾中的所有.las格式的文件會被以rp開頭的腳本調用sort和merge命令合並成一個.las格式的文件。

2)錯誤修正和預組裝
錯誤修正和預組裝的目的在於將原始序列轉化為高質量的預組裝序列。在以c開頭的腳本中,調用LA4Falcon讀取las格式文件轉換成falcon所能識別的格式,以管道的方式流入fc_consensus.py進行錯誤修正和預組裝,生成consensus序列,放在fasta格式文件中,以用於後續基因組裝配。生成的fasta文件個數與以m開頭的文件夾個數一致。Fasta文件的頭信息可以被Daligner解析。

3)構建錯誤修正後的序列重疊信息
與第一步相似。參數設置與第一也類似,主要不同在於-e,可以設置較高的兩個預組裝的序列的關聯度,比如-e.96,因為此時序列的錯誤率已經很低了。

4)過濾重疊
過濾重疊的原因:1),如果一條序列完全包含另外一條序列,這種重疊信息是沒價值的;2)序列兩端的重疊關系並不需要過多的重疊信息,一定量的重疊信息變可以推算出;3)序列某段的覆蓋度較高,可能是由重復區域造成,覆蓋度較低,存在較高的錯誤率等。
確定重疊關系的最大重疊數目,序列兩端的最大和最小覆蓋度等設置可以在配置文件中的overlap_filtering_setting設置。

5)基於重疊信息構建串圖
fc_ovlp_to_graph.py會生成一些用於構建重疊群contig的串圖文件。
根據重疊信息,構建圖的邊,邊的信息儲存在sg_edges_list文件中,這些邊進一步連接成unitigs的信息儲存在utg_data文件中。ctg_path則存儲根據unitigs構建每個contig的圖。fc_ovlp_to_graph.py涉及的參數有:
–min_len MIN_LEN:用於裝配拼接的序列最低長度
–min_idt MIN_IDT:用於裝配拼接的序列之間的最低比對相似度
–lfc:解決串圖中的節點時,使用local flow constraint方法而不是最佳重疊策略。

6)基於圖構建重疊群(contig)
fc_graph_to_contig.py根據圖路徑和序列,構建contig。

3 Falcon安裝
目前PacBio提供了整個falcon依賴模塊的integrate版本,詳見https://github.com/PacificBiosciences/FALCON-integrate
只需按照步驟執行
git clone git://github.com/PacificBiosciences/FALCON-integrate.git
cd FALCON-integrate
make init
make virtualenv
make check
make -j install
make test # to run a simple one

但前提是您的電腦必須聯網,如果您的電腦沒有聯網,可以下載Falcon20150728,執行install-offline.sh。

4 Falcon 配置文件fc_run.cfg

[General]
# list of files of the initial bas.h5 files
input_fofn = input.fofn 指出所有輸入數據
#input_fofn = preads.fofn

input_type = raw 標明序列類型,即是否已經完成了錯誤修正
#input_type = preads

# The length cutoff used for seed reads used for initial mapping
length_cutoff = 10000 用於錯誤修正的種子序列的最低長度

# The length cutoff used for seed reads usef for pre-assembly
length_cutoff_pr = 10000用於構建重疊的預組裝種子序列的最低長度

# target = pre-assembly
# target = mapping
target = assembly
用於控制Daligner任務隊列,-pe指定並行環境,-q指定要提交到的隊列,8表示線程。
sge_option_da = -pe smp 8 -q bigmem
sge_option_la = -pe smp 2 -q bigmem
sge_option_pda = -pe smp 8 -q bigmem
sge_option_pla = -pe smp 2 -q bigmem
sge_option_fc = -pe smp 24 -q bigmem
sge_option_cns = -pe smp 8 -q bigmem

pa_concurrent_jobs = 32 fc_run.py提交並發任務的數目
cns_concurrent_jobs = 32
ovlp_concurrent_jobs = 32
-dal決定單個任務中相互比對的數據塊的數目(影響生成的任務數),-e序列之間的關聯程度,-s trace points sparse ,-l 低於-l的序列將被忽略,-t Tuple suppression frequency?????,-h Hit threshold (in bp.s)
pa_HPCdaligner_option = -v -dal128 -t16 -e.70 -l1000 -s1000
ovlp_HPCdaligner_option = -v -dal128 -t32 -h60 -e.96 -l500 -s1000
-s序列數據庫分割後,每個數據塊的Mb大小,低於-x閾值長度的序列將被忽略
pa_DBsplit_option = -x500 -s400
ovlp_DBsplit_option = -x500 -s400
--min_cov種子序列的最低覆蓋度;--max_n_read用於錯誤修正的最大序列數目,防止重復區域中序列的影響,--output_multi output multi correct regions,--min-idt minimum identity of the alignments used for correction,--max_n_read 用於生成consensus的最低序列數目,--n_core生成consensus的線程數
falcon_sense_option = --output_multi --min_idt 0.70 --min_cov 4 --local_match_count_threshold 2 --max_n_read 200 --n_core 6
--max_diff序列兩端的最大覆蓋度差異,max_cov序列兩端的最大覆蓋度--min_cov最低覆蓋度,bestn如有輸出指定數目的最好的重疊
overlap_filtering_setting = --max_diff 100 --max_cov 100 --min_cov 1 --bestn 10

參考:https://github.com/PacificBiosciences/FALCON/wiki/Manual
https://github.com/PacificBiosciences/FALCON-integrate

#####################################################################
#版權所有 轉載請告知 版權歸作者所有 如有侵權 一經發現 必將追究其法律責任
#Author: Jason
#####################################################################

轉自:http://wp.zxzyl.com/?p=95

三代測序組拼接組裝工具Falcon