NextDenovo是武漢未來(lái)組胡江博士團(tuán)隊(duì)開(kāi)發(fā)的一個(gè)三代組裝工具,能夠用于PacBio和Nanopore數(shù)據(jù)的組裝芭碍。但是從官方的介紹而言,此工具在組裝Nanopore上優(yōu)勢(shì)更大一些。
NextDenovo包括兩個(gè)模塊,NextCorrect用于原始數(shù)據(jù)糾錯(cuò)茁瘦,NextGraph能夠基于糾錯(cuò)后的進(jìn)行組裝。使用修改版的minimap2進(jìn)行序列間相互比對(duì)储笑。v2.0-beta.1版中在處理高度重復(fù)序列上可能存在錯(cuò)誤組裝甜熔,可以通過(guò)HiC和BioNano進(jìn)行糾錯(cuò)。
軟件安裝
NextDenovo的軟件安裝非常簡(jiǎn)單, 下載解壓縮即可使用突倍∏幌。考慮到NextDenovo需要用Python2.7,我們可以用conda新建一個(gè)環(huán)境
conda create -n python2 python=2.7
conda activate python2
然后下載解壓縮(我習(xí)慣把軟件放在~/opt/bisofot
下)
mkdir -p ~/opt/biosoft/
cd ~/opt/biosoft/
wget https://github.com/Nextomics/NextDenovo/releases/download/v2.0-beta.1/NextDenovo.tgz
tar -zxvf NextDenovo.tgz
測(cè)試下軟件是否可以使用
~/opt/biosoft/NextDenovo/nextDenovo -h
實(shí)戰(zhàn)
以發(fā)表在NC上的擬南芥數(shù)據(jù)為例, 簡(jiǎn)單介紹下軟件的使用
第一步: 新建一個(gè)分析項(xiàng)目
mkdir NEXT && cd NEXT
然后從EBI上下載該數(shù)據(jù)羽历,在run.fofn
中記錄文件的實(shí)際位置焊虏。
# 三代測(cè)序
wget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR217/003/ERR2173373/ERR2173373.fastq.gz
realpath ERR2173373.fastq.gz > run.fofn
第二步: 復(fù)制和修改配置文件
cp ~/opt/biosoft/NextDenovo/doc/run.cfg .
我的配置文件修改如下,參數(shù)說(shuō)明參考官方文檔
[General]
job_type = local
job_prefix = nextDenovo
task = all # 'all', 'correct', 'assemble'
rewrite = yes # yes/no
deltmp = yes
rerun = 3
parallel_jobs = 5
input_type = raw
input_fofn = input.fofn
workdir = 01_rundir
# cluster_options = -l vf={vf} -q all.q -pe smp {cpu} -S {bash} -w n
[correct_option]
read_cutoff = 1k
seed_cutoff = 3k
blocksize = 3g
pa_correction = 20
seed_cutfiles = 20
sort_options = -m 20g -t 8 -k 40
minimap2_options_raw = -x ava-ont -t 8
correction_options = -p 8
[assemble_option]
random_round = 20
minimap2_options_cns = -x ava-ont -t 8 -k17 -w17
nextgraph_options = -a 1
配置文件的幾個(gè)重要參數(shù)說(shuō)明(v2.0-beta.1)
- job_type 設(shè)置運(yùn)行環(huán)境秕磷,可以使用(local诵闭, sge, pbs等)
- 運(yùn)行線程數(shù)設(shè)置澎嚣,線程數(shù)計(jì)算為
parallel_jobs
分別與sort_option
,minimap_options_*
的-t
數(shù)乘積疏尿,和correction_options
的-p
的乘積,量力而行易桃。 - seed_cutfiles 如果在集群上運(yùn)行褥琐,建議設(shè)置為可用的節(jié)點(diǎn)數(shù),同時(shí)設(shè)置
correction_options
的-p
為各個(gè)節(jié)點(diǎn)可用的核數(shù)晤郑,保證每個(gè)節(jié)點(diǎn)只有一個(gè)correction任務(wù)敌呈,減少運(yùn)行時(shí)的內(nèi)存和IO。 如果local上運(yùn)行造寝, 建議設(shè)置為總可用的核除以correction_options
的-p
值. - parallel_jobs建議設(shè)置至少要大于
pa_correction
磕洪。 - blocksize 是將小于seed_cutfiles的數(shù)據(jù)拆分成的多個(gè)文件時(shí)單個(gè)文件的大小, 總的比對(duì)任務(wù)數(shù)等于基于該參數(shù)切分的文件數(shù)乘以
seed_cutfiles + seed_cutfiles * (seed_cutfiles - 1)/2
匹舞, 因此對(duì)于10g以內(nèi)的數(shù)據(jù)量褐鸥, 建議設(shè)置小于1g, 避免總的任務(wù)數(shù)小于parallel_jobs的值赐稽。 - 測(cè)序數(shù)據(jù)類(lèi)型相關(guān): 對(duì)于PacBio而言叫榕,要修改
minimap2_options_*
中的-x ava-ont
為-x ava-pb
- 數(shù)據(jù)量相關(guān)參數(shù):
read_cutoff = 1k
過(guò)濾原始數(shù)據(jù)中低于1k的read,seed_cutoff = 30k
則是選擇大于30k以上的數(shù)據(jù)來(lái)矯正姊舵。關(guān)于seed_cutoff
的設(shè)置晰绎,可以通過(guò)~/opt/biosoft/NextDenovo/bin/seq_stat
來(lái)獲取參考值,不建議直接使用默認(rèn)值括丁,因?yàn)楦闹禃?huì)受到測(cè)序深度和測(cè)序長(zhǎng)度影響荞下,而且一個(gè)不合適的值會(huì)顯著降低組裝質(zhì)量。對(duì)于基因組大于200m以上的物種,-d建議默認(rèn)尖昏。 - correction_options中的-dbuf可以顯著降低矯正時(shí)的內(nèi)存仰税,但會(huì)顯著降低矯正速度。
- random_round參數(shù)抽诉,建議設(shè)置20-100. 該參數(shù)是設(shè)置隨機(jī)組裝參數(shù)的數(shù)量陨簇,nextGraph會(huì)基于每一套隨機(jī)參數(shù)做一次組裝, 避免默認(rèn)參數(shù)效果不好迹淌。
seq_stat
能夠根據(jù)物種大小和預(yù)期用于組裝的深度確定seed_cutoff
~/opt/biosoft/NextDenovo/bin/seq_stat -g 110Mb -d 30 input.fofn
第三步: 運(yùn)行NextDenovo
~/opt/biosoft/NextDenovo/nextDenovo run.cfg &
運(yùn)行時(shí)間如下
real 64m5.356s
user 1827m37.890s
sys 264m48.246s
默認(rèn)參數(shù)結(jié)果是存放在01_rundir/03.ctg_graph/01.ctg_graph.sh.work/ctg_graph00
, 可以將其復(fù)制到當(dāng)前目錄河绽,用于后續(xù)的分析。
cat 01_rundir/03.ctg_graph/01.ctg_graph.sh.work/ctg_graph00/nextgraph.assembly.contig.fasta > nextgraph.assembly.contig.fasta
但是在01.ctg_graph.sh.work
目錄下除了ctg_graph00
以外,還有其他隨機(jī)參數(shù)的在組裝結(jié)果。隨機(jī)參數(shù)結(jié)果只輸出了統(tǒng)計(jì)結(jié)果篮绿,用戶如需要輸出組裝序列,可以修改01_rundir/03.ctg_graph/01.ctg_graph.sh
苟跪,將里面的-a 0
替換成-a 1
。
每個(gè)目錄下都有shell輸出矮嫉,可以挑選基于nextDenovo.sh.e這里面的結(jié)果挑選組裝指標(biāo)較好的削咆,再輸出序列,比如說(shuō)比較下N50
grep N50 01_rundir/03.ctg_graph/01.ctg_graph.sh.work/ctg_graph*/*.e
默認(rèn)情況下蠢笋,最終組裝出20條contig拨齐,總大小116M,N50 12M.
使用minimap2將組裝結(jié)果和比對(duì)到TAIR10上昨寞,用dotplotly進(jìn)行可視化
minimap2 -t 100 -x asm5 Athaliana.fa nextgraph.assembly.contig.fasta > next.paf
dotPlotly/pafCoordsDotPlotly.R -i next.paf -o next -l -p 6 -k 5
不難發(fā)現(xiàn)瞻惋,兩者存在高度的共線性。大部分TAIR10的染色體對(duì)應(yīng)的都是2條或者3條contig援岩。
此外這篇NC的擬南芥提供了BioNano光學(xué)圖譜歼狼,我使用BioNano Hyrbrid Scaffold 流程進(jìn)行了混合組裝
cp /opt/biosoft/Solve3.3_10252018/HybridScaffold/10252018/hybridScaffold_config.xml .
# 修改xml中fasta2cmap的enzyme為BSPQI
perl /opt/biosoft/Solve3.3_10252018/HybridScaffold/10252018/hybridScaffold.pl \
-n nextgraph.assembly.contig.fasta \
-b kbs-mac-74_bng_contigs2017.cmap \
-c hybridScaffold_config.xml \
-r /opt/biosoft/Solve3.3_10252018/RefAligner/7915.7989rel/RefAligner \
-o nextgraph \
-B 2 -N 2 \
-f
組裝結(jié)果如下,從原來(lái)的20的contig下降到了16個(gè)contig享怀。
Count = 16
Min length (Mbp) = 0.026
Median length (Mbp) = 7.224
Mean length (Mbp) = 7.301
N50 length (Mbp) = 13.013
Max length (Mbp) = 14.965
Total length (Mbp) = 116.811
此外還通過(guò)BioNano Access進(jìn)行可視化羽峰,以其中一個(gè)結(jié)果為例。光學(xué)圖譜和NextDenovo的組裝結(jié)果存在很高的一致性添瓷。
綜上梅屉,在Nanopore上組裝上,我們又多了一個(gè)比較好用的工具鳞贷。
最后非常感謝胡江博士對(duì)于本文的指導(dǎo)坯汤!