0

我正在尝试对我从两个原始文件合并的一些 BAM 文件运行 GATK DepthOfCoverage(相同的样本在两个通道上测序以最大化读取次数)。我意识到我的合并文件读取了不同的读取组(如每个读取的 RG 字段所反映的那样),并且我的两个原始文件的标题在它们的 @RG 字段中有所不同。

我尝试运行 samtools reheader 在标题中添加一个新的@RG 字段,但是当我合并两个文件时,每个读取组都基于两个 BAM 文件的名称,而不是标题中@RG 的名称两个 BAM 文件。

例如,我的两个起始样本是:

27163.pe.markdup.bam
27091.pe.markdup.bam

但是当我使用 samtools 合并它们时

samtools merge merged.bam 27163.pe.markdup.bam 27091.pe.markdup.bam 

生成的 merge.bam 在标头中具有与两者中的一个相同的 @RG 字段,并且每个读取都具有基于它来自的文件的名称的读取名称,如下所示:

阅读 1

RG:Z:27091.pe.markdup

阅读 2

RG:Z:27163.pe.markdup

等等。对于 BAM 中的其余读取

难道我做错了什么?在合并之前我应该​​重新检查每个原始文件吗?或者只是在合并到与 GATK 兼容的东西后重新开始?似乎无论标题中的 @RG 字段在合并之前是什么,合并后的文件将始终根据两个输入文件的名称具有不同 RG 的读取。

我也不确定 GATK DepthOfCoverage 想要作为读取组的输入。它是否需要一个 RG 用于所有读取?在那种情况下,我应该使用与 samtools merge 不同的东西吗?

提前感谢您能给我的任何帮助。

4

1 回答 1

1

供将来参考,请在此处查看已制定的解决方案:

https://www.biostars.org/p/105787/#107970

基本上正确的程序是使用 Picard 而不是 samtools 进行合并,这在 bam 文件读取组词汇方面提供与 GATK 兼容的输出。

于 2014-07-31T10:09:54.997 回答