PGGB构建泛基因组
1. 前言
老规矩,正式开始之前还是说一下为什么选择用PGGB构建图形泛基因组。其实在用PGGB之前我尝试过很多个构建图泛的软件,比如说Minigraph或者minimap+syri以及一些其他的衍生流程,但是效果都不太好。前几天偶然使用PGGB试了一下还不错,可以推荐一下!
2. 软件安装
# 下载PGGB
mamba create -n pggb
mamba activate pggb
mamba install -c bioconda -c conda-forge pggb
3. 准备数据
3.1 基因组按染色体水平拆分
PGGB官方文档推荐把整个基因组按照染色体划分,随后以染色体为单位构建图泛,每个人对序列的命名方式都不同,因此这里就不上代码了。
3.2 染色体ID重命名
PGGB建议染色体的ID严格遵循PanSN-spec规定的格式,具体规则为,[sample_name][delim][haplotype_id][delim][contig_or_scaffold_name]。说人话版本,其实就是物种名+单倍型id+染色体id,然后中间用#连接。例如,拟南芥的一号染色体就可以命名为:Arabidopsis_thaliana#1#Chr1,Arabidopsis_thaliana对应[sample_name],1对应[haplotype_id],Chr1对应[contig_or_scaffold_name]。
4. 运行PGGB
pggb -i in.fa \ # input file in FASTA format
-o output \ # output directory
-t 16 \ # number of threads
-p 90 \ # minimum average nucleotide identity for segments
-s 5k \ # segment length for scaffolding the graph
-V ‘ref:1000’ # make a VCF against “ref” decomposing variants <= 1000bp
# -o 输出文件夹
# -p 这个参数可以理解为两个比对上的片段的相似度的阈值
# -s 图形泛基因组的片段长度
# -V 这一步是调用vg从gfa文件拆分出来vcf文件,指定参考基因组和最大的变异长度
# 输出文件
*seqwish.gfa 原始的gfa格式的图泛
*smooth.final.gfa 压缩后的gfa格式的图泛,一般作为后续分析使用
这里需要强调一些比较重要的参数:-p 虽然这个是两个片段相似度的阈值,但是本质上是不同物种之间的变异程度,变异程度越大阈值就应该设置的越小,如果变异程度很高,并且设置了较高的阈值会导致最后构建出来的图泛中的SV很少;-s 图泛中片段的大小,同上也是越小SV越多