出现破碎化的基因组组装(不成环,图1),通常是DNA提取、建库等上游实验流程的过失,在不影响(方便)下游分析的情况下,是可通过一些措施弥补的。并且在GetOrganelle组装的最初结果中,仅有较少的gap时,这种弥补措施更有效。
原理:基于参考基因组,使用N/?填充gap。这并不会对原有gap基于clean_data进行补充,而是使用N/?填充这些区域。
流程:
(1)使用join_spades_fastg_by_blast.py调整assembly_graph.fastg.extend- *.fastg文件。assembly_graph.fastg.extend-*.fastg是一个简化的组装结果,是GetOrganelle初步组装的文件之一(图2)。在上述不完美的基因组组装所得的该文件中,这个简化的组装结果包括了196个contigs。经join_spades_fastg_by_blast.py调整得到*.Ncontigs_added.fastg,该文件包含了674个contigs。我不太清楚这其中的原理,但这个调整后的*.fastg文件包含了每个contigs内部的gaps与overlap信息(如果存在),只是尚未填充N/?,这是流程的第二步。
(2)使用get_organelle_from_assembly.py填充N/?,并基于*.Ncontigs_added.fastg文件尝试组装环状基因组。输出的结果可能与GetOrganelle的初步组装看起来类似(图3)。但embplant_pt.scaffolds.graph1.1.path_sequence.fasta里头已经是没有gap的单一scaffolds了(在本案例中)。虽然仍旧没有成环,但与初步的结果相比,有了提升。如果打开embplant_pt.scaffolds.graph1.1.path_sequence.fasta可以发现原先的contigs之间被填充了N/?(图5)。
该案例的结果显示,在叶绿体的大单拷贝(LSC)区仍然存在一个无法填补的gap,也许只能通过实验弥补。比如利用gap两端的序列作探针,然后PCR扩增这些缺失的片段。
p.s. join_spades_fastg_by_blast.py与get_organelle_from_assembly.py脚本通过conda安装的GetOrganelle均有,可在环境中直接使用。
参考资料:
[1] What should I do with incomplete result/"broken assembly graph"?