starskyzheng / panpop

Application of pan-genome for population
MIT License
94 stars 8 forks source link

How to handle incompletely resolved insertion sequences in short-read sequencing for compatibility with PART #67

Closed jxcao98 closed 2 months ago

jxcao98 commented 2 months ago

郑博士您好,

感谢您开发的好工具!

因为PAnpop Realign and Thin工具对输入的VCF格式有要求,即必须在REF和ALT字段提供具体序列。对于二代测序,DEL/DUP应该不是问题,但是INS往往难以完全解析。以常见的Manta工具为例,它可能只能解决断点周围的插入序列,导致我们无法为INS填充正确的ALT字段。

请问您对此有何建议?是否对于二代测序的结果合并,我们必须忽略大多数难以解析的INS?

谢谢!

starskyzheng commented 2 months ago

这其实没啥办法,没有序列的话没法合并整合。或许您可以问问Manta,看能不能补全序列信息。

jxcao98 commented 2 months ago

感谢您的答复!

我还有几个问题:

  1. 如果我只提取DEL/DUP(Tandem INS)这种能够完全解析序列的变异,用bcftools merge + PART_run.pl 进行群体上的合并;而对于INS,只考虑距离并把位置相近的变异简单合并。这样做会不会影响PART模块的精度?毕竟我没有将所有变异包括在内,我担心这样是否可行?
  2. 我注意到Fill_DP.pl是根据变异起始位点(VCF POS字段)+序列长度定义变异区域(如vcf2pos_range.pl所示),但新发INS在参考基因组实际没有跨度,我想知道Fill_DP.pl是如何考虑INS的变异范围以计算Coverage的?这也是基于我第1点的考虑,我希望调整您的代码,从而可以为无法解析序列的INS进行填充深度。
  3. 在多数情况下,我们是否可以简单地将pVCF中的./.变异置为0/0,即认为此处没有突变,尽管这是不严谨的,毕竟忽略了这个位置可能存在测序失败的情况。在这里,Fill_DP.pl应该类似于regenotype的过程,同时您在NC论文中也讨论了不同合并工具的缺失率的问题。请问您是否有做过评估,使用Fill_DP.pl过滤,与直接将./.置为0/0相比,结果有何异同?
  4. 在您NC论文Fig. 2流程图中,您运行了两次 PART_run.pl,中间穿插了Fill_DP.pl,请问第二次运行PART_run.pl(即根据Depth过滤之后重新运行PART)的目的是什么?

提前致谢!

starskyzheng commented 2 months ago
  1. 分类跑应该的影响应该不大。只是这样可能也无法合并INS。这步建议可以试试survivor之类的只使用位置而不使用序列的合并软件。
  2. PanPop就是只统计了插入发生位置的单个碱基的深度。这个范围理论上就是1个碱基,因为是相对于参考基因组的。
  3. 我没有对比过差异,但是并不建议这样做。补全gt信息可以用beagle之类的软件。
  4. 补全深度后得到的仍是单个体VCF,需要再完整跑一遍前面的流程。
jxcao98 commented 2 months ago

非常感谢您的详细回复!