我有一个vcf文件,其中包含一个包含Indels和SNP的列(df$INFO
),我这样做是为了使用包library(stringr)
获取每行的行数:
对于INDEL:
s <- str_which(df$INFO, "INDEL")
然后length(s)
。
对于INFO列的行总数:
s1 <- str_which(df$INFO, "DP")
所有行都包含DP value
,因此我得到总行数。
对于SNP:s2 <- length(s1) - length(s)
,我得到的是SNP行数。
INFO列看起来像每个染色体的大量行,并包含如下字符串:
SNP线看起来像:
DP=17;VDB=2.590081e-02;RPB=-6.851602e-01;SGB=-1.000416e+01;MQ0=0;AF1=0.3381;AC1=2;DP4=12,0,5,0;MQ=34;FQ=6.69;PV4=1,1,0.0017,0.22
INDEL线看起来像:
INDEL;IDV=73;IMF=0.768421;DP=246;VDB=1.803553e-02;RPB=0.000000e+00;SGB=-6.120835e+00;MQ0=0;AF1=1;AC1=6;DP4=0,0,0,5;MQ=29;FQ=-39.4
有了这些信息,我想要一个更好的方法来获得INDEL和SNP的所有行数(我认为我这样做的方式并不是最好的),然后生成一个包含这两个值的条形图像:
而是xlab的1
和2
,放置INDEL和SNP
任何帮助都将不胜感激。