Paragraph对SV进行基因分型

基于重测序数据用于对sv进行genotype.

githup: https://github.com/Illumina/paragraph
相关文章:Chen, S. et al. Paragraph: a graph-based structural variant genotyper for short-read
sequence data. Genome Biol. 20, 291 (2019).

可以对DEL,INS,DUP,INV进行genotype;DEL,INS效果更好些,INV的vcf输入使用symbolic

1、安装

可以参考 doc/installation.md
下载编译好的就可以 Paragraph v2.4a

2、测试数据

安装完成后,bin目录下有运行脚本。

python3 bin/multigrmpy.py -i share/test-data/round-trip-genotyping/candidates.vcf \
                          -m share/test-data/round-trip-genotyping/samples.txt \
                          -r share/test-data/round-trip-genotyping/dummy.fa \
                          -o test \

其中:

  • candidates.vcf:候选的SV,vcf格式
  • samples.txt::BAM文件;Tab或者comma分割
  • dummy.fa:ref

输出结果如下所示:


输出结果

如果运行成功,genotype.vcf.gz的结果类似expected file

3、 输入文件需求

VCF格式

对于vcf中的SV格式可以使用全部序列,或者symbolic,只要满足VCF 4.0就可以。

样本展示manifest

利用tab分割,包括以下列
必须列:

  • id:每个样本的名称必须是唯一
  • path:bam文件路径
  • depth:整个基因组的平均深度,利用bin/idxdepth计算(比samtools更快)。
  • read length: 整个基因组平均reads长度 (bp)
    可选列:
  • depth sd:
  • depth variance
  • sex:M or F,or unknow;影响ChrX和ChrY分型。

运行时间

为了提高效率,建议设置-M参数(针对于一个SV最大的reads 深度),可以跳过这些高深度的区域。建议 -M 参数为自己数据平均样本depth的20倍

群体 genotype

为了高效的对群体进行genotype,建议首先对单个样本进行genotype,然后在合并;

  • 对每一个样本进行操作
  • 运行 mulitgram.py,针对于不同的样本的深度,设置不同的 -M 参数
  • 多线程(-t 参数),非常建议加上
  • 对所有的genomes.vcf.gz进行合并,得到一个包含所有样本的VCF;可以使用 bcftools merge进行合并。

其他信息

bin目录下的脚本

Bam文件深度统计


  • 可以快速对bam文件进行全基因组depth计算
bin/idxdepth -b \ -r \ -o \

其输出结果为一个json文件

{
    "autosome": {
        "contigs": [
            "chr1"
        ],
        "depth": 1
    },
    "bam_path": "fake_path.bam",
    "contigs": [
        // ...
    ],
    "read_length": 50,
    "reference": "fake_reference.fa",
    "unaligned_reads": 0
}

图形化序列的read 数量


  • grmpy中的核心程序,用于统计图形化序列的read数量。
    输入文件为 JSON文件和一个bam文件+reference。
    输入文件为
    a. 每一个节点和边的read数量
    b. 每一个变异的位置和read数量

Genotyper


  • 上面以及提过,其基本用法
python3 bin/multigrmpy.py -i \ \
  -m \ \
  -r \ \
  -o \

a. input: 变异的VCF活着JSON文件
b. manifest: BAM文件的一个列表
e.g.

id      path         depth read length
sample1 sample1.bam   50          150
sample2 sample2.bam   50         150

c. ref.
d. 输出文件


output

other tools


  • 将多序列比对的fasta结果,转变为vcf格式。

  • 将图形化的JSON文件变为点图进行可视化。

20221014

manifest,利用“,” 进行分割;查阅脚本发现“\t”和“,”都可以,但是我用"\t"分割,总是识别不了。

参考

  • https://github.com/Illumina/paragraph
  • https://github.com/Illumina/paragraph/blob/master/doc/graph-tools.md

你可能感兴趣的:(Paragraph对SV进行基因分型)