目前检测结构变异的方法众多,长 reads 序列的比对有 NGMLR、Minimap2、Nucmer 等;基于序列比对结构检测结构变异的软件有 SVIM、Sniffles、SyRI 等。
但不同方法的检测效力可能存在差异,Zhou et al. 2023, Nat Commun 发表了一篇倒位变异的泛基因组文章,测试了不同方法的检测效力。

由上表可知,结合 Nucmer 和 SyRI 软件对于倒位变异的识别数目和准确性都高于其它软件。
这里对 work flow 4 的计算流程做简要记录。
nucmer 是 MUMmer 软件中核苷酸序列比对的一个程序,关于 MUMmer 软件的计算可选参数以及结果文件的解读,见之前的分享:
本文主要介绍一下结构变异检测软件 SYRI 的使用。
SYRI(Synteny and Rearrangement Identifier)是一种用于识别基因组中的结构同源和重排事件的软件工具。它的主要功能包括识别基因组中的结构同源、转座、倒位等重排事件,以及识别基因组中的结构变异(SV)和单核苷酸多态性(SNP)等。
结构同源识别:SYRI能够识别基因组中的结构同源,即同一物种中不同染色体上的基因之间的保守性关系。通过识别结构同源,可以帮助研究人员理解基因组的结构和演化。
重排事件识别:SYRI可以识别基因组中的多种重排事件,包括转座、倒位等。这些重排事件在基因组演化和遗传变异中起着重要作用,因此对它们的识别和分析具有重要意义。
结构变异和单核苷酸多态性识别:除了识别结构同源和重排事件外,SYRI还可以识别基因组中的结构变异(SV)和单核苷酸多态性(SNP)等其他变异类型。这些变异是基因组遗传变异的重要组成部分,对疾病研究和品种改良等方面具有重要意义。
参数可调性:SYRI提供了多种参数和选项,可以根据用户的需求进行调整。用户可以根据自己的研究目的和数据特点,调整参数以获得最佳的分析结果。
高效性和准确性:SYRI具有高效的算法和准确的分析结果。它能够处理大规模的基因组数据,并且具有良好的准确性和可靠性。
快速开始
## 基因组比对
nucmer --maxmatch -c 100 -b 500 -l 50 refgenome qrygenome
## 比对结果过滤
delta-filter -m -i 90 -l 100 out.delta > out.filtered.delta
## 获得每个 alignment 的位置
show-coords -THrd out.filtered.delta > out.filtered.coords
## 结构变异检测
python3 $PATH_TO_SYRI -c out.filtered.coords -d out.filtered.delta -r refgenome -q qrygenome
## 结果绘图
python3 $PATH_TO_PLOTSR syri.out refgenome qrygenome -H 8 -W 5
可选参数:
输入文件:
-c INFILE:包含比对坐标的文件。这个文件可能是从一个比对软件(比如MUMmer)生成的,其中包含了两个基因组之间的比对信息,包括每个比对的起始位置、终止位置等信息。
-r REF:作为比对参考的基因组A的文件。
-q QRY:作为比对查询的基因组B的文件。
-d DELTA:MUMmer生成的.delta文件。
可选参数:
-F {T,S,B}:指定输入文件的类型。可以是表格文件(T),SAM文件(S)或BAM文件(B)。默认为表格文件。
-k:保留中间输出文件。默认为False。
--log {DEBUG,INFO,WARN}:设置日志级别。可以选择DEBUG(调试)、INFO(信息)、WARN(警告)等级别。默认为INFO。
--lf LOG_FIN:指定日志文件的名称。默认为"syri.log"。
--dir DIR:指定工作目录的路径。默认为当前目录。
--prefix PREFIX:指定输出文件名前缀。默认为空。
--seed SEED:用于生成随机数的种子。默认为1。
--nc NCORES:指定并行计算时使用的核心数量。最大值是染色体的数量。默认为1。
--novcf:不将所有文件合并为一个输出文件。默认为False。
-f:过滤掉低质量的比对。默认为True。
结构变异检测:
--nosv:设置为True以跳过结构变异的识别。默认为False。
--nosnp:设置为True以跳过在比对中识别SNP/Indel。默认为False。
--all:设置为True以使用重复区域(duplications)进行变异识别。默认为False。
--allow-offset OFFSET:允许碱基对(base pairs)重叠的数量。默认为5,表示如果两个变异区域之间的重叠小于等于5个碱基对,则允许识别为同一变异。
--cigar:设置为True以使用CIGAR字符串来查找SNP/Indel。默认为False,表示不使用CIGAR字符串。通常在使用除了nucmers之外的比对器生成的比对结果时,需要设置为True。
-s SSPATH:指定show-snps工具的路径,show-snps是MUMmer软件包中的一个工具,用于从.delta文件中提取SNP信息。默认为show-snps。
结构重排识别:
--nosr:设置为True以跳过结构重排事件的识别。默认为False,表示执行结构重排事件的识别。
--tdgaplen TDGL:多重比对转座或重复(TD)的两个比对之间允许的最大间隙长度。较大的值会增加TD识别的灵敏度,但也会增加运行时间。默认为500000。
-b BRUTERUNTIME:限制Brute Force方法运行时间的阈值(以秒为单位)。较小的值会使算法运行更快,但可能会对准确性产生边际影响。在一般情况下,可能不需要设置这个参数。默认为60。
--unic TRANSUNICOUNT:选择转座时所需的唯一碱基对数。较小的值会更好地选择较小的转座,但可能会增加时间并降低准确性。默认为1000。
--unip TRANSUNIPERCENT:选择转座时所需的唯一区域百分比。值应在(0,1]范围内。较小的值会选择与其他区域更重叠的转座。默认为0.5。
--inc INCREASEBY:添加另一个比对到转座簇解决方案所需的最小分数增加。默认为1000。
--no-chrmatch:如果两个基因组的染色体ID不相等,则设置为True,不允许SyRI自动匹配染色体ID。默认为False。
相对来说,使用 mummer 的比对和结构变异检测过程稍复杂,使用 minimap2 比对结果计算会快很多,这里同样附上相关过程:
## 全基因组序列比对
minimap2 -ax asm5 --eqx refgenome qrygenome > out.sam
## 基于比对结果检测结构变异
python3 $PATH_TO_SYRI -c out.sam -r refgenome -q qrygenome -k -F S
## 结构变异检测结果绘图
python3 $PATH_TO_PLOTSR syri.out refgenome qrygenome -H 8 -W 5
就是,如果觉得有用的话,登录一下账号点个赞支持一下!
网友评论