我是序列分析的新手,我正在做一些练习,以帮助我学习使用pysam和samtools进行WGS数据分析。我想做的一件事是从2D牛津纳米孔数据(大读数)中检测(相当大)缺失。为此,我从大肠杆菌基因组中提取了第一个10kb,以及覆盖该区域的测序读数。调用原始基因组A.然后通过在A的中间插入1kb的序列来创建基因组A',并使用A'作为参考来对齐A的读数,以模仿序列中的缺失。我现在想编写一个程序来检测我的“删除”的位置。我的问题是我的读取的CIGAR字符串不符合我的期望,我认为这一定是错的。我发现山姆文档中的信息相当不完整,并希望对以下内容进行解释。
假设我有一个序列.... GTTGCA --- 1kb删除--- GAACGT ...并且读取与该序列对齐。我做了以下假设:
案例1.在删除的左侧读取并且与删除不重叠可以以aHbS(a和b为常数,a,b> = 0)开始,后跟一系列Ms,Is,Ds和之前以cSdH结尾。我不希望在这些读取中找到大部分的Is和Ds。
情况2.与左侧删除部分重叠的读取应该与(1)中的读取开始相同,但应以rS结束,常数r的大小由读取与删除重叠的程度决定。
案例3.完全读取重叠删除(记住,我有很长的读取,所以这样的读取存在)应该与(1)中的读取相同但后来我希望在我的CIGAR中看到1000D或类似的东西字符串然后读取应该与(1)中的读取结束相同。这是我在我的数据中没有观察到的。我的“删除”从5kb开始,但读取的数据为4500 < POS&lt; 5000和超过2kb实际上似乎包含相同的Ms,Is和Ds序列,就像它们已经与参考对齐一样。
我的问题,我希望不是主题,因为我更倾向于询问数据格式而不是实际编程 一世)。我上面的哪些假设是错误的 ⅱ)。读取的雪茄串与删除部分重叠的样子应该是什么样的? III)。读取的雪茄串应该完全重叠(也就是说,其末端映射在删除的任一侧),删除看起来像什么?
我附上了一个有希望有助于说明我的三个案例的人物。
答案 0 :(得分:0)
我并不是这个主题的专家,但是我敢打赌,情况1和2就是您所说的。情况3可能因所使用的对准器而异。 表示这种对齐方式的一种方法是您所期望的:xHxSxM1000DxMxSxH,但拆分映射器可以为您提供另一种方式:xHxSxM1000SxH加xH1000SxMxSxH在两个不同的条目中,其中一个标记为主要对齐,另一个标记为补充对齐(一些旧的对齐器可以将其标记为辅助对齐,因为补充对齐在标准中稍后出现)。对齐器在如何表示中起着至关重要的作用。
您是否检查过完全重叠的读取在sam / bam文件中仅代表一次?
答案 1 :(得分:0)
如果我正确理解了您的问题,我认为您的假设听起来不错。您所描述的内容(删除未在CIGAR字符串中表示)使我认为,尽管您更改了参考基因组(大概是* .fasta文件?),但是您可能没有将读段重新运行为该参考。
您的BAM / SAM文件(可能是从中获取CIGAR字符串)是对齐的结果,当您仅更改参考基因组时,自身不会更改。更改参考基因组后,您现在需要重新进行比对以获得新的BAM / SAM文件,然后再查看其中的CIGAR字符串,该字符串现在应反映模拟的删除。请让我知道这是否是正确的评估。
(我知道这本来应该是一篇值得评论的帖子,但我还没有写评论的特权。)