csq
命令可以分析SNP位点在基因组上的位置,同时还会预测基因突变对编码蛋白的影响。
和其他预测基因突变对蛋白质影响的软件不同,bcftools 将基因组划分为不同的独立区域(和单倍型区域概念类似),在分析蛋白质变化时,会综合考虑该区域内的所有突变位点,示意图如下
在A
图中,该区域包含两个SNP位点,如果单独考虑每个位点,只能预测到氨基酸替换,由精氨酸替换为色氨酸或者谷氨酰胺, 综合考虑两个SNP位点时,对应的DNA序列变成了一个终止密码子,蛋白质长度都发生了变化。
在B
图中,该区域包含了2个indel 位点,单独考虑每个indel位点时,都是发生了移码突变,氨基酸长度发生了变化,综合考虑两个SNP位点时,氨基酸变化和单独分析一个位点时,又大不一样。
在C
图中,两个SNP位点发生在剪切位点两侧,单独考虑每个SNP位点,氨基酸由天冬氨酸替换为天冬酰胺或者谷氨酸,综合考虑两个突变位点时,氨基酸由天冬酰胺替换成赖氨酸。
从示意图可以发现,单独考虑每个SNP位点对于蛋白质的影响,其结果是有偏差的,只有综合考虑邻近范围内所有的突变位点,预测到的蛋白质变化结果才更加可靠。
csq 运行命令如下
代码语言:javascript复制bcftools csq -f csq.fa -g csq.gff3 csq.vcf > csq.out
-f
参数指定参考基因组的fasta文件,-g
参数指定参考基因组的gff3文件,csq.vcf
为输入的VCF文件,csq.out
为输出文件。
输出文件的格式也是VCF格式,会在INFO
列中新增一个BCSQ
字段,用来描述突变位点在基因组上的位置和蛋白质序列的变化,示例如下
BCSQ=synonymous|XYZ|ENST00000000001|protein_coding| |1Y|102C>T
BCSQ的信息由多个字段构成,中间用|
连接,包含以下字段
- consequence type
基因突变对蛋白影响的类型,包括
synonymous
,missense
,inframe_deletion
等类型 - gene 基因名称
- transcript 转录本名称
- biotype 基因类型
- strand 正负链信息
- amino acid positon 氨基酸的位置
- variants list 预测氨基酸变化时,考虑的突变位点的集合
由于bcftools是综合考虑多个突变位点对蛋白质的共同作用,在实际分析时,应该尽可能的过滤掉假阳性的突变位点,然后再分析蛋白水平的影响,这样的分析结果,可信度会更高。