我试图在从两个原始文件中合并的一些BAM文件上运行GATK (相同的示例在两个通道上被排序,以最大限度地增加读取数量)。我意识到,合并后的文件具有不同的读取组(如每个读取的RG字段所反映的),并且我的两个原始文件的头在它们的@RG字段中有所不同。
我尝试运行samtools重新标头,在头中添加一个新的@RG字段,但是当我合并两个文件时,每个read组基于两个BAM文件的名称,而不是基于两个BAM文件头中的@RG的名称。
例如,我的两个起始示例是:
27163.pe.markdup.bam
27091.pe.markdup.bam但是当我使用samtools合并它们时
samtools merge merged.bam 27163.pe.markdup.bam 27091.pe.markdup.bam 结果的merged.bam在头中只有一个@RG字段,并且每个读取都有一个读取名称,它来自这样一个文件的名称:
读为1
RG:Z:27091.pe.markdup
读为2
RG:Z:27163.pe.markdup
等等,用于BAM中的其余读取。
我做错了什么吗?在合并之前,我应该重新处理每个原始文件吗?还是简单地在合并到与GATK兼容的东西之后重新开始呢?似乎无论合并前头中的@RG字段是什么,合并的文件都会根据两个输入文件的名称使用不同的RGs读取。
我也不确定GATK DepthOfCoverage想要什么作为阅读组的输入。它想要一个所有读取的单一RG吗?在这种情况下,我应该使用与samtools合并不同的东西吗?
谢谢你能帮我的忙。
发布于 2014-07-31 10:09:54
关于今后的参考,请参阅这里制定的解决方案:
https://www.biostars.org/p/105787/#107970
基本上,正确的过程是使用Picard而不是samtools进行合并,从而使输出在bam文件、读取组词汇表方面与GATK兼容。
https://stackoverflow.com/questions/24629420
复制相似问题