smoove
简化并加速了短读长的 SV 调用和基因分型。它还通过消除许多表示低水平噪声并经常导致虚假调用的虚假对齐信号来提高特异性。
这里有一篇博客文章更详细地描述了smoove
它既支持单个命令中的小队列,也支持总共 4 个步骤的总体级别调用,其中 2 个步骤是按样本并行的。
这里有一个关于smoove和duphold(smoove使用的)的精确率和召回率的表格
它需要:
以及可选(但强烈推荐):
运行不带任何参数的smoove
将显示找到了哪些,以便可以根据需要将它们添加到 PATH 中。
smoove
将:
lumpy_filter
以提取lumpy所需的分割和不一致的读取lumpy_filter
调用以删除高覆盖率、虚假区域和用户指定的色度,例如“hs37d5”;它还会删除我们发现的可能是虚假信号的读数。之后,它将从不一致的 bam 中删除单例读取(其中配对已被先前的过滤器之一删除)。这使得lumpy
变得更快并且更少占用内存。你可以通过(一个大的)docker 镜像获取smoove
和所有依赖项:
docker pull brentp/smoove
docker run -it brentp/smoove smoove -h
或者,您可以从此处下载smoove
二进制文件:https://github.com/brentp/smoove/releases 当不带任何参数运行时, smoove
将向您显示它可以找到哪些依赖项,以便您可以调整 $PATH 并安装因此。
对于小群体,可以通过单个命令获得联合调用的基因分型 VCF。
smoove call -x --name my-cohort --exclude $bed --fasta $reference_fasta -p $threads --genotype /path/to/*.bam
输出将转到./my-cohort-smoove.genotyped.vcf.gz
强烈建议--exclude $bed
,因为它可用于忽略与有问题区域重叠的读取。
这里有一组很好的 GRCh37 区域。
对于 hg38 这里
对于人群级别的呼叫(大群体),步骤是:
smoove call --outdir results-smoove/ --exclude $bed --name $sample --fasta $reference_fasta -p 1 --genotype /path/to/$sample.bam
对于大型队列,最好跨样本并行化,而不是每个样本使用大量线程。 smoove
只能在单个样本上并行化最多 2 或 3 个线程,并且使用 1 个线程的效率最高。
输出将转到“results-smoove/$sample-smoove.genotyped.vcf.gz”
# this will create ./merged.sites.vcf.gz
smoove merge --name merged -f $reference_fasta --outdir ./ results-smoove/*.genotyped.vcf.gz
smoove genotype -d -x -p 1 --name $sample-joint --outdir results-genotped/ --fasta $reference_fasta --vcf merged.sites.vcf.gz /path/to/$sample.$bam
smoove paste --name $cohort results-genotyped/*.vcf.gz
smoove annotate --gff Homo_sapiens.GRCh37.82.gff3.gz $cohort.smoove.square.vcf.gz | bgzip -c > $cohort.smoove.square.anno.vcf.gz
这会向每个样本格式添加SHQ
(Smoove Het Quality)标签),值4 表示高质量呼叫,值 1 表示低质量。 -1 是非het。它还将平均 SHQ 的MSHQ
添加到 INFO 字段,这是该变体的所有杂合样本的平均 SHQ 分数。
作为第一遍,用户可以查找 MSHQ > 3 的变体。如果您添加了 duphold 注释,则检查DHFFC < 0.7
的删除和DHFFC > 1.25
的重复也很有用。
出现诸如Segmentation fault (core dumped) | bcftools view -O z -c 1 -o
可能意味着您拥有旧版本的 bcftools。见#10
smoove
将写入系统 TMPDIR。对于大型群组,请确保将其设置为具有大量空间的值。例如export TMPDIR=/path/to/big
smoove
需要最新版本的lumpy
和lumpy_filter
因此从源代码构建它们或获取最新的bioconda 版本。
sv工具