基于重测序数据用于对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. 输出文件
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