查看原文
其他

生物信息百jia软件(27):三代数据拼接falcon

王通 基因学苑 2023-08-18

随着三代测序的普及,现在越来越多的序列拼接依赖三代测序长读长的特点,最开始的时候三代数据只作为二代测序的辅助材料,用来连接更长的scaffold与补洞,而现在,三代测序可以单独就行拼接,或者用二代测序来纠错,可以说,技术的发展,方法上已经发生了根本的变化。现在三代数据已经可以进行单独的拼接了,所以,赶快学习三代测序数据的拼接吧。

应用场景

1、手里有三代pacbio测序的数据,fastq格式或者fasta格式,需要连接成更长的基因组序列。

软件官网

https://github.com/PacificBiosciences/FALCON
falcon现在已经成为Pacbio的官方软件了。

官方文档页

https://pb-falcon.readthedocs.io/en/latest/tutorial.html

下载安装

话说这款软件安装使用比较变态,现在只支持pyhton2.7的版本,虽然提供了一个预编译的版本,但是还需要使用python的虚拟环境,也需要配置很多依赖软件,因此,依照通哥“珍爱生命,远离编译”的原则,还是使用bioconda来安装吧。不过即使是使用bioconda,依然需要首先创建个虚拟环境。话说软件名字叫做falcon,为什么又使用pb-assembly,主程序叫做 fc_run呢,实在是比较混乱,但是人家就这么人性,你也没办法,不喜欢就自己写一个。

1#利用bioconda创建一个虚拟环境,命名为pb-assembly
2conda create -n pb-assembly 
3#安装falcon
4conda install -y pb-assembly

软件使用

如果你觉得软件安装比较乱,但其实那并不算什么,因为软件运行起来更乱。falcon运行起来主要分三大步骤。
第一步,将测序数据写入到一个文件中,可以是fastq,也可以是fasta,如果有多条,就分成多行来写,例如这里面,我们将文件命名为input.fofn

1$ cat input.fofn
2/ifs1/Sequencing/Pacbio/subreads.fasta

第二步,也就是falcon最核心的地方,将刚才的配置文件路径写入到配置文件中,跟在input_fofn选项后面,并设置软件的选项参数。

1$ head -20 fc_run.cfg
2#### Input
3[General]
4input_fofn=~/input.fofn

第三步,打开虚拟环境,运行软件,软件结束后,退出虚拟环境。

1$ cat falcon.sh
2#Pacbio拼接
3source activate pb-assembly
4fc_run fc_run.cfg
5conda deactivate

配置文件

falcon软件选项参数并不在命令行写,而是都卸载配置文件中,因此,这个配置文件比较重要。也是这个软件最难的部分。根据注释信息,配置文件分为以下几大项:

  • input

  • Data partitioning

  • Repeat Masking

  • Pre-assembly

  • Pread overlapping

  • Final Assembly

其实绝大部分选项参数,根据英文简写基本上能看懂,详细信息可以查看软件帮助页面,有详细的介绍,绝大部分选项选择默认即可。

1#### Input
2[General]
3input_fofn=~/input.fofn
4input_type=raw
5pa_DBdust_option=
6pa_fasta_filter_option=pass
7target=assembly
8skip_checks=False
9LA4Falcon_preload=false
10
11#### Data Partitioning
12pa_DBsplit_option=-x500 -s50
13ovlp_DBsplit_option=-x500 -s50
14
15#### Repeat Masking
16pa_HPCTANmask_option=
17pa_REPmask_code=1,100;2,80;3,60
18
19####Pre-assembly
20genome_size=0
21seed_coverage=20
22length_cutoff=3000
23pa_HPCdaligner_option=-v -B128 -M24
24pa_daligner_option=-e.7 -l1000 -k18 -h80 -w8 -s100
25falcon_sense_option=--output-multi --min-idt 0.70 --min-cov 2 --max-n-read 800
26falcon_sense_greedy=False
27
28####Pread overlapping
29ovlp_daligner_option=-e.96 -l2000 -k24 -h1024 -w6 -s100
30ovlp_HPCdaligner_option=-v -B128 -M24
31
32####Final Assembly
33overlap_filtering_setting=--max-diff 100 --max-cov 300 --min-cov 2
34fc_ovlp_to_graph_option=
35length_cutoff_pr=2000
36
37[job.defaults]

38job_type=local
39pwatcher_type=blocking
40JOB_QUEUE=default
41MB=32768
42NPROC=2
43njobs=2
44submit = /bin/bash -c "${JOB_SCRIPT}" > "${JOB_STDOUT}" 2"${JOB_STDERR}"
45
46[job.step.da]

47NPROC=1
48MB=32768
49njobs=2
50[job.step.la]
51NPROC=1
52MB=32768
53njobs=2
54[job.step.cns]
55NPROC=1
56MB=65536
57njobs=2
58[job.step.pla]
59NPROC=1
60MB=32768
61njobs=2
62[job.step.asm]
63NPROC=1
64MB=196608
65njobs=2

案例介绍

这里我们拼接一个细菌的基因组,基因组大小大概5.4M左右,采用pacbio测序。

1#激活falcon虚拟环境
2source activate pb-assembly
3#运行软件
4fc_run fc_run.cfg
5#退出虚拟环境
6conda deactivate

结果解读

falcon默认会生成3个中间文件,都是固定命名,因此,当有多个样品的时候,最好每个样品单独创建一个文件夹。最终结果在2-asm-falcon文件中的p_ctg.fa,即是最终需要的文件。

1 0-rawreads/
2 1-preads_ovl/
3 2-asm-falcon/

统计结果

1$ fa 2-asm-falcon/p_ctg.fa
2Statistics:        Scaffold    Contig
3
4    Total Number (#):   99      99
5    Total length (bp):  5441422     5441422
6    Gap(N)(bp):     0       0
7    Average Length (bp):    54963.86        54963.86
8    N50 Length (bp):    398330      398330
9    N90 Length (bp):    21097       21097
10    Maximum Length (bp):    623154      623154
11    Minimum Length (bp):    3161        3161
12    GC content :        44.05%      44.05%

---------- END ----------

(添加作者微信,请注明单位姓名)



您可能还会感兴趣的

基因学苑2018年文章目录
生物信息零基础班(上海站)开课啦
手把手教你生信分析平台搭建专栏合集
生物信息重要资源站点合集
不会编程,如何进行批量操作
一个人全基因组完整数据分析脚本
一个细菌基因组完整分析脚本
如何在Linux下优雅的装X
2019,送给大家一份新年礼物
生物学才是终极学科



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存