Julia速度极慢

我也写了个,从性能上看,比你的还好一点,虽然只用了一行来做测试

function uniq2(file::String)
    for line in eachline(file)
        if startswith(line,"##") #注释
            continue
        end
        cols=split(line, "\t")
        for col in cols[10:end]
            if col[1:3]!="./." && col[1:3]!="0/0"
                println(line)
                break
            end
        end
    end
end

另外,我用 julia 的很大一个原因就是因为 Julia 的 for 性能足够好,一般不需要自己做向量化。

去测试看看,你给我的文件我用
@btime uniq("test.vcf")
花了30s

你们就不能试试高阶函数吗 :yum:

说实话,我没用过map, 要么直接用 for, 要么直接用 . 语法把函数向量化
话说,你把数据也发我一下呗
数据收到了,邮箱隐去

大神,我换了个号,我的意思是,只要有符合条件的,就把最开始的整行输出,大神现在的代码好像没起到过滤的作用,非、满足条件的结果应该是1800万行,您的代码输出了2000多万,我刚从python 过来,所以不知道怎么改,最开始是看了语法,想着比较一下julia和python速度

我写的应该符合你的要求,就是不知道性能咋样

我来试一下,多谢您

我测试了一下,速度大概是你原始代码的4倍(两者的结果一致)。隐去了 prinrln 改为用 cnt 计数,实际中应该是在 println 那里写入文件吧。

我的代码

function uniq2(file::String)
    cnt=0
    for line in eachline(file)
        if startswith(line,"##") #注释
            continue
        end
        cols=split(line, "\t")
        for col in cols[10:end]
            if col[1:3]!="./." && col[1:3]!="0/0"
                cnt+=1
#                 println(line)
                break
            end
        end
    end
    cnt
end

性能评估

julia> using BenchmarkTools
julia> @benchmark uniq2("test.vcf")
BenchmarkTools.Trial: 
  memory estimate:  60.61 MiB
  allocs estimate:  894321
  --------------
  minimum time:     34.431 ms (0.00% GC)
  median time:      44.756 ms (0.00% GC)
  mean time:        46.046 ms (9.56% GC)
  maximum time:     84.316 ms (27.26% GC)
  --------------
  samples:          109
  evals/sample:     1

你的原始代码

function uniq(a::String):String
    cnt=0
    for l::String in eachline(a::String)
        if startswith(l::String,"##")
            continue
        else
            d=split(l,"\t")::Array{SubString{String},1}
            dd=d[10:end]
            for i::Int in 1:33
                if split(dd[i],":")[1]!="./." && split(dd[i],":")[1]!="0/0"
                   cnt+=1
                    break
                end
            end
        end
    end
    cnt
end

性能评估

julia> @benchmark uniq("test.vcf")
BenchmarkTools.Trial: 
  memory estimate:  254.25 MiB
  allocs estimate:  6756309
  --------------
  minimum time:     175.146 ms (6.69% GC)
  median time:      188.476 ms (12.44% GC)
  mean time:        188.458 ms (9.68% GC)
  maximum time:     203.563 ms (11.78% GC)
  --------------
  samples:          27
  evals/sample:     1

我现在有点搞不清楚怎么用高阶函数还更慢了
这是你的

julia> @btime uniq2("test.vcf")
  36.504 ms (894321 allocations: 60.61 MiB)
10000

这是我的

julia> @btime uniq("test.vcf")
  334.940 ms (14034725 allocations: 494.90 MiB)
10000

这是他的

julia> @btime uniq("test.vcf")
  168.504 ms (6756309 allocations: 254.25 MiB)
10000

脸好疼 :rofl: :rofl:

代码

function uniq(path::String)
    count = 0
    fn1 = x->split(x,":")
    fn2 = strs -> strs[1] != "0/0" && strs[1] != "./."
    for line in eachline(path)
        if startswith(line,"##") == false
            datas = split(line,"\t")
            split_words = map(fn1,datas[10:end])
            
            # fn2 = strs-> begin 
            #     if strs[1] != "0/0" && strs[1] != "./."
            #         println(strs)
            #     end
            # end

            if any(fn2,split_words)
                count += 1
            end
        end

    end
    count
end

@an.123123 过滤可以在一些高阶函数调用函数时体现,没有必要刻意用if

感谢,确实快,只用了6分多,多谢两位大神,受益匪浅

我的代码只用了一次 split,你们的都用了两次。不得不承认,你的代码性能还是更强一些

function uniq(path::String)
    count = 0
    fn2 = strs -> strs[1:3] != "0/0" && strs[1:3] != "./."
    for line in eachline(path)
        if startswith(line,"##") == false
            datas = split(line,"\t")
            if any(fn2,datas)
                count += 1
            end
        end

    end
    count
end
julia> @benchmark uniq("test.vcf")
BenchmarkTools.Trial: 
  memory estimate:  43.00 MiB
  allocs estimate:  530273
  --------------
  minimum time:     29.441 ms (0.00% GC)
  median time:      35.775 ms (0.00% GC)
  mean time:        38.088 ms (8.00% GC)
  maximum time:     65.979 ms (42.08% GC)
  --------------
  samples:          132
  evals/sample:     1

吓死我了,我还以为我以后都要用for

julia> function uniq(path::String)
           count = 0
           fn1 = x->split(x,":")
           fn2 = strs -> strs[1:3] != "0/0" && strs[1:3] != "./."
           for line in eachline(path)
               if startswith(line,"##") == false
                   datas = split(line,"\t")
                   split_words = datas[10:end]
                   

                   if any(fn2,split_words)
                       count += 1
                   end
               end

           end
           count
       end
uniq (generic function with 1 method)

julia> @btime uniq("test.vcf")
  40.636 ms (744981 allocations: 54.54 MiB)
10000

其实直接用 if any(fn2,datas) 性能还要更好一些,因为减少了内存分配。我测试了一下也确实如此。 :joy:
if any(fn2,split_words) 的性能如下

BenchmarkTools.Trial: 
  memory estimate:  54.54 MiB
  allocs estimate:  744981
  --------------
  minimum time:     32.445 ms (0.00% GC)
  median time:      40.585 ms (0.00% GC)
  mean time:        44.043 ms (8.98% GC)
  maximum time:     88.102 ms (50.75% GC)
  --------------
  samples:          114
  evals/sample:     1

这个和我的我觉得没有显著差异,也就是说,尽量减少不必要的内存分配才是重点

是出在split 这里,您用一次split 确实很快,我加上后立马就变慢了

如果是不规则的,必须用到两次split,if any(fn2,datas)确实是要好,在、最后请教,if any 和if all 是什么用法,我在书里怎么没看到过。。。。。。。。小白,勿笑

不是 if any, ifany 是分开的,any all这两个函数其实我也是第一次见。我可能会用 maximumminimum.(不要试,更慢)

help?> any
search: any Any any! code_warntype ReadOnlyMemoryError @code_warntype isreadonly

  any(itr) -> Bool

  Test whether any elements of a boolean collection are true, returning true as soon as the first true value in itr is encountered (short-circuiting).

  If the input contains missing values, return missing if all non-missing values are false (or equivalently, if the input contains no true value), following three-valued logic (https://en.wikipedia.org/wiki/Three-valued_logic).

  Examples
  ≡≡≡≡≡≡≡≡≡≡

  julia> a = [true,false,false,true]
  4-element Array{Bool,1}:
   1
   0
   0
   1
  
  julia> any(a)
  true

同理可知 if all.
遇到不知道的函数,如 any,请用在 repl里面用 ?any 查询

受教了两位大神,我一定努力学习,本来我都想放弃Julia了,原来它真的快

不用谢,有可能我学历比你还低几年
ps: 去接触下函数式语言吧,这样不用写太多for,完全不知道再写什么


另外,你在我的代码中很少看到continuebreakfor,都是写函数式写惯了的结果,都习惯用高阶函数来代替了

在这里附一部分数据(字数所限,仅附20行,测试用有10000行),免得后来者看的一头雾水。

Chr1	1441	Chr1__1441	TA	TAA,T	2048.89	PASS	AC=14,10;AF=0.093,0.067;AN=150;BaseQRankSum=0.731;ClippingRankSum=0.731;DP=711;ExcessHet=13.7436;FS=0.000;InbreedingCoeff=-0.1815;MLEAC=14,10;MLEAF=0.093,0.067;MQ=50.00;MQRankSum=-5.730e-01;QD=10.40;ReadPosRankSum=0.747;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=0.687;ANN=T|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.1442delA||||||,TAA|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.1442_1443insA||||||	GT:AD:DP:GQ:PGT:PID:PL	0/1:7,1,0:8:21:0|1:1441_T_TA:21,0,320,42,323,365	0/1:8,1,0:9:18:0|1:1441_T_TA:18,0,354,42,357,399	0/0:19,0,0:19:48:.:.:0,48,720,48,720,720	0/0:15,1,0:16:3:0|1:1441_T_TA:0,3,610,45,613,655	0/0:15,0,0:15:33:.:.:0,33,495,33,495,495	0/2:5,0,6:11:99:.:.:129,144,281,0,137,120	0/0:16,0,0:16:33:.:.:0,33,495,33,495,495	0/2:11,5,8:24:84:.:.:154,84,418,0,166,317	0/2:13,0,3:16:44:.:.:44,83,507,0,424,415	0/0:16,0,0:16:27:.:.:0,27,405,27,405,405	0/0:8,0,0:8:18:.:.:0,18,270,18,270,270	0/0:5,0,0:5:15:.:.:0,15,197,15,197,197	0/1:3,2,0:5:75:0|1:1441_T_TA:75,0,105,84,111,195	0/0:12,0,0:12:21:.:.:0,21,315,21,315,315	0/0:12,0,0:12:18:.:.:0,18,270,18,270,270	0/1:3,5,0:8:66:.:.:121,0,66,130,81,211	0/0:8,0,0:8:15:.:.:0,15,225,15,225,225	./.:0,0,0:0:.:.:.:.	./.:0,0,0:0:.:.:.:.	0/0:4,0,0:4:6:.:.:0,6,90,6,90,90	0/0:8,0,0:8:12:.:.:0,12,180,12,180,180	0/0:6,0,0:6:12:.:.:0,12,180,12,180,180	./.:0,0,0:2:.:0|1:1431_A_G:.	0/2:13,0,4:17:71:.:.:71,110,467,0,357,345	0/0:4,0,0:4:6:.:.:0,6,90,6,90,90	0/2:6,0,3:9:65:.:.:65,83,248,0,165,156	0/0:7,0,0:8:21:0|1:1431_A_G:0,21,302,21,302,302	0/0:14,0,0:14:21:.:.:0,21,315,21,315,315	0/0:6,0,0:6:15:.:.:0,15,225,15,225,225	0/1:4,1,0:5:14:.:.:14,0,105,26,108,134
Chr1	1659	Chr1__1659	GA	GAA,G	4210.01	PASS	AC=7,37;AF=0.073,0.385;AN=96;BaseQRankSum=0.727;ClippingRankSum=-7.200e-02;DP=403;ExcessHet=9.0070;FS=2.459;InbreedingCoeff=0.0295;MLEAC=5,38;MLEAF=0.052,0.396;MQ=48.40;MQRankSum=0.103;QD=17.76;ReadPosRankSum=0.101;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=0.510;ANN=G|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.1660delA||||||,GAA|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.1660_1661insA||||||	GT:AD:DP:GQ:PL	1/2:2,6,2:10:5:133,5,46,108,0,193	0/1:5,1,0:6:9:9,0,92,23,95,118	0/2:2,0,4:6:35:88,94,141,0,47,35	0/0:10,0,0:10:15:0,15,225,15,225,225	0/2:2,0,3:5:38:64,70,117,0,47,38	2/2:0,0,6:6:18:159,159,159,18,18,0	2/2:0,0,4:4:12:106,106,106,12,12,0	0/2:3,0,15:18:25:327,336,406,0,70,25	2/2:0,0,9:9:27:239,239,239,27,27,0	0/2:9,0,3:12:27:27,54,265,0,211,203	0/2:2,0,5:7:32:95,101,148,0,46,32	./.:0,0,0:1:.:.	0/0:4,0,0:4:0:0,0,84,0,84,84	0/2:5,0,5:10:99:102,117,290,0,173,158	0/2:3,2,5:10:19:103,79,179,0,19,70	0/0:6,0,0:6:0:0,0,26,0,26,26	0/2:2,0,4:6:19:88,94,125,0,31,19	2/2:0,0,3:3:9:63,63,63,9,9,0	./.:0,0,0:0:.:.	./.:0,0,0:0:.:.	./.:0,0,0:2:.:.	./.:0,0,0:0:.:.	./.:0,0,0:0:.:.	0/2:1,0,3:4:14:68,71,94,0,23,14	2/2:0,0,4:4:12:106,106,106,12,12,0	2/2:0,0,6:6:18:159,159,159,18,18,0	./.:5,0,0:5:.:.	./.:1,0,0:1:.:.	0/2:3,0,7:10:86:155,164,272,0,107,86	./.:1,0,0:1:.:.
Chr1	1704	Chr1__1704	T	TGG	5545.22	PASS	AC=53;AF=0.552;AN=96;BaseQRankSum=-2.630e-01;ClippingRankSum=0.988;DP=376;ExcessHet=0.0003;FS=0.000;InbreedingCoeff=0.3698;MLEAC=57;MLEAF=0.594;MQ=48.68;MQRankSum=-1.920e+00;QD=30.98;ReadPosRankSum=0.296;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=0.716;ANN=TGG|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.1704_1705insGG||||||	GT:AD:DP:GQ:PGT:PID:PL	0/1:4,7:11:99:.:.:282,0,147	0/1:5,3:8:80:.:.:80,0,201	1/1:0,5:5:15:.:.:225,15,0	0/1:5,2:7:69:0|1:1704_T_TGG:69,0,204	1/1:0,6:6:18:.:.:270,18,0	0/0:8,0:8:9:.:.:0,9,135	1/1:0,4:4:12:.:.:180,12,0	0/0:19,0:19:21:.:.:0,21,315	0/0:19,0:19:18:.:.:0,18,270	1/1:0,8:8:24:.:.:350,24,0	0/0:7,0:7:6:.:.:0,6,90	./.:0,0:0:.:.:.:.	0/0:2,0:2:3:.:.:0,3,45	1/1:0,6:6:18:.:.:266,18,0	0/0:10,0:10:15:.:.:0,15,225	./.:3,0:3:.:.:.:.	1/1:0,5:5:15:.:.:212,15,0	0/0:6,0:6:2:.:.:0,2,133	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	0/0:9,0:9:0:.:.:0,0,113	0/0:5,0:5:9:.:.:0,9,135	0/0:5,0:5:15:.:.:0,15,225	./.:2,0:2:.:.:.:.	./.:1,0:1:.:.:.:.	0/1:10,1:11:12:.:.:12,0,402	./.:1,0:1:.:.:.:.
Chr1	1745	Chr1__1745	CA	C,CAA	8169.11	PASS	AC=75,8;AF=0.815,0.087;AN=92;BaseQRankSum=-2.240e-01;ClippingRankSum=0.727;DP=323;ExcessHet=0.0336;FS=0.000;InbreedingCoeff=0.3762;MLEAC=77,5;MLEAF=0.837,0.054;MQ=56.10;MQRankSum=0.224;QD=30.60;ReadPosRankSum=0.727;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=0.947;ANN=C|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.1746delA||||||,CAA|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.1746_1747insA||||||	GT:AD:DP:GQ:PGT:PID:PL	1/1:0,10,0:10:30:.:.:304,30,0,304,30,304	1/1:0,9,0:9:27:.:.:324,27,0,324,27,324	1/1:0,3,0:3:9:.:.:86,9,0,86,9,86	1/1:0,3,0:3:9:.:.:86,9,0,86,9,86	1/2:0,1,4:5:24:.:.:194,168,165,28,0,24	1/1:0,6,0:6:18:.:.:172,18,0,172,18,172	2/2:0,0,3:3:9:1|1:1745_C_CA:103,103,103,9,9,0	1/1:0,14,0:14:42:.:.:409,42,0,409,42,409	0/1:2,15,0:17:6:.:.:381,0,6,387,52,439	1/1:0,2,0:2:6:.:.:58,6,0,58,6,58	1/1:0,6,0:6:18:.:.:167,18,0,167,18,167	./.:0,0,0:0:.:.:.:.	1/1:0,2,0:2:6:.:.:58,6,0,58,6,58	2/2:0,0,3:3:9:1|1:1745_C_CA:135,135,135,9,9,0	1/1:0,14,0:14:42:.:.:392,42,0,392,42,392	./.:0,0,0:0:.:.:.:.	2/2:0,0,2:2:6:1|1:1745_C_CA:90,90,90,6,6,0	1/1:0,5,0:5:15:.:.:144,15,0,144,15,144	./.:0,0,0:0:.:.:.:.	./.:0,0,0:0:.:.:.:.	./.:0,0,0:0:.:.:.:.	./.:0,0,0:0:.:.:.:.	./.:0,0,0:0:.:.:.:.	1/1:0,9,0:9:27:.:.:259,27,0,259,27,259	1/1:0,4,0:4:12:.:.:115,12,0,115,12,115	1/1:0,2,0:2:6:.:.:58,6,0,58,6,58	./.:0,0,0:0:.:.:.:.	./.:0,0,0:0:.:.:.:.	1/1:0,8,0:8:24:.:.:230,24,0,230,24,230	./.:0,0,0:0:.:.:.:.
Chr1	1822	Chr1__1822	A	AT	906.71	PASS	AC=12;AF=0.133;AN=90;BaseQRankSum=0.546;ClippingRankSum=-7.270e-01;DP=352;ExcessHet=0.0050;FS=0.000;InbreedingCoeff=0.3570;MLEAC=12;MLEAF=0.133;MQ=56.09;MQRankSum=0.194;QD=16.19;ReadPosRankSum=0.720;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=0.598;ANN=AT|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.1822_1823insT||||||	GT:AD:DP:GQ:PL	0/0:15,0:15:30:0,30,450	0/0:11,0:11:15:0,15,225	0/0:8,0:8:21:0,21,315	0/0:4,0:4:9:0,9,135	1/1:0,4:4:12:122,12,0	0/0:6,0:6:15:0,15,225	1/1:0,2:2:6:61,6,0	0/0:13,0:13:27:0,27,405	0/0:19,0:19:39:0,39,585	0/0:3,0:3:9:0,9,113	0/0:8,0:8:18:0,18,270	./.:0,0:0:.:.	0/0:3,0:3:9:0,9,125	1/1:0,7:7:21:214,21,0	0/0:17,0:17:30:0,30,450	0/0:2,0:2:6:0,6,72	0/1:1,3:4:33:80,0,33	0/0:2,0:2:3:0,3,45	./.:0,0:0:.:.	./.:0,0:0:.:.	./.:0,0:0:.:.	./.:0,0:0:.:.	./.:0,0:0:.:.	0/0:10,0:10:21:0,21,315	0/0:2,0:2:6:0,6,84	./.:0,0:0:.:.	./.:0,0:0:.:.	./.:0,0:0:.:.	0/0:10,0:10:15:0,15,225	./.:0,0:0:.:.
Chr1	1882	Chr1__1882	C	CT	908.32	PASS	AC=7;AF=0.083;AN=84;BaseQRankSum=0.727;ClippingRankSum=0.720;DP=361;ExcessHet=0.0336;FS=0.000;InbreedingCoeff=0.2428;MLEAC=6;MLEAF=0.071;MQ=48.62;MQRankSum=-6.940e-01;QD=25.23;ReadPosRankSum=-7.700e-02;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=0.631;ANN=CT|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.1882_1883insT||||||	GT:AD:DP:GQ:PGT:PID:PL	0/0:19,0:19:39:.:.:0,39,585	0/0:6,0:6:12:.:.:0,12,180	0/0:11,0:11:33:.:.:0,33,379	0/0:7,0:7:15:.:.:0,15,225	0/1:2,4:6:72:0|1:1869_A_G:162,0,72	0/0:7,0:7:12:.:.:0,12,180	1/1:0,1:1:3:1|1:1869_A_G:45,3,0	0/0:14,0:14:30:.:.:0,30,450	0/0:15,0:15:18:.:.:0,18,270	0/0:3,0:3:6:.:.:0,6,90	0/0:7,0:7:9:.:.:0,9,135	./.:0,0:0:.:.:.:.	0/0:3,0:3:9:.:.:0,9,113	1/1:0,13:13:39:1|1:1869_A_G:542,39,0	0/0:14,0:14:21:.:.:0,21,315	0/0:2,0:2:6:.:.:0,6,72	0/1:1,3:4:33:0|1:1869_A_G:123,0,33	0/0:1,0:1:3:.:.:0,3,30	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	0/0:7,0:7:21:.:.:0,21,280	0/0:3,0:3:6:.:.:0,6,90	0/0:2,0:2:6:.:.:0,6,72	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	0/0:7,0:7:15:.:.:0,15,225	./.:0,0:0:.:.:.:.
Chr1	1898	Chr1__1898	AT	A	1484.93	PASS	AC=11;AF=0.120;AN=92;BaseQRankSum=0.727;ClippingRankSum=-3.610e-01;DP=361;ExcessHet=2.3098;FS=6.740;InbreedingCoeff=-0.0445;MLEAC=12;MLEAF=0.130;MQ=57.73;MQRankSum=0.00;QD=17.89;ReadPosRankSum=0.198;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=0.802;ANN=A|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.1899delT||||||	GT:AD:DP:GQ:PGT:PID:PL	0/0:19,0:19:39:.:.:0,39,585	0/0:8,0:8:0:.:.:0,0,197	0/0:11,0:11:27:.:.:0,27,405	0/0:6,0:6:15:.:.:0,15,225	0/0:4,0:6:12:.:.:0,12,180	0/0:4,0:4:9:.:.:0,9,135	./.:0,0:0:.:.:.:.	0/0:15,0:15:24:.:.:0,24,360	0/0:10,0:10:15:.:.:0,15,225	0/0:3,0:3:6:.:.:0,6,90	0/0:9,0:9:15:.:.:0,15,225	./.:0,0:0:.:.:.:.	0/0:3,0:3:9:.:.:0,9,113	0/0:10,0:10:21:.:.:0,21,315	0/0:11,0:11:24:.:.:0,24,360	0/0:3,0:3:9:.:.:0,9,91	0/1:3,1:4:33:0|1:1792_A_G:33,0,123	0/0:1,0:1:3:.:.:0,3,30	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	0/0:8,0:8:18:.:.:0,18,270	0/0:4,0:4:9:.:.:0,9,135	0/0:2,0:2:6:.:.:0,6,72	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	0/0:8,0:8:18:.:.:0,18,270	./.:0,0:0:.:.:.:.
Chr1	2621	Chr1__2621	G	GA	1473.12	PASS	AC=8;AF=0.070;AN=114;BaseQRankSum=0.248;ClippingRankSum=-6.270e-01;DP=435;ExcessHet=4.1749;FS=0.000;InbreedingCoeff=-0.1615;MLEAC=10;MLEAF=0.088;MQ=47.45;MQRankSum=0.00;QD=15.84;ReadPosRankSum=0.573;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=0.659;ANN=GA|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.2621_2622insA||||||	GT:AD:DP:GQ:PGT:PID:PL	0/0:4,0:4:6:.:.:0,6,90	0/0:9,0:9:15:.:.:0,15,225	0/1:1,7:8:21:0|1:2621_G_GA:278,0,21	0/1:13,3:16:49:.:.:49,0,413	0/1:3,6:9:99:0|1:2621_G_GA:231,0,108	0/0:2,0:2:6:.:.:0,6,84	./.:0,0:0:.:.:.:.	0/0:30,0:30:60:.:.:0,60,900	0/0:16,0:16:30:.:.:0,30,450	0/1:6,8:14:99:0|1:2621_G_GA:293,0,228	0/0:6,0:6:12:.:.:0,12,180	./.:0,0:0:.:.:.:.	0/0:6,0:6:12:.:.:0,12,180	0/0:2,0:2:6:.:.:0,6,72	0/0:16,0:16:30:.:.:0,30,450	0/1:6,6:12:99:.:.:159,0,234	0/0:1,0:1:3:.:.:0,3,42	0/0:6,0:6:6:.:.:0,6,90	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	0/0:2,0:2:6:.:.:0,6,84	0/0:8,0:8:9:.:.:0,9,135	0/0:3,0:3:3:.:.:0,3,45	0/0:3,0:3:3:.:.:0,3,45	0/0:5,0:5:9:.:.:0,9,135	0/0:3,0:3:3:.:.:0,3,45	0/0:4,0:4:3:.:.:0,3,45	0/0:2,0:2:3:.:.:0,3,45	0/0:12,0:12:24:.:.:0,24,360	./.:0,0:0:.:.:.:.
Chr1	2758	Chr1__2758	C	CT	482.86	PASS	AC=7;AF=0.052;AN=134;BaseQRankSum=0.671;ClippingRankSum=-5.600e-02;DP=600;ExcessHet=4.5325;FS=9.248;InbreedingCoeff=-0.1089;MLEAC=8;MLEAF=0.060;MQ=42.08;MQRankSum=-1.067e+00;QD=5.31;ReadPosRankSum=0.322;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=1.818;ANN=CT|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.2758_2759insT||||||	GT:AD:DP:GQ:PGT:PID:PL	0/0:15,0:15:39:.:.:0,39,585	0/0:16,0:16:0:.:.:0,0,314	0/0:10,0:10:24:.:.:0,24,360	0/0:17,0:17:36:.:.:0,36,540	0/0:4,0:4:12:.:.:0,12,167	0/0:9,0:9:24:.:.:0,24,360	0/0:1,0:1:3:.:.:0,3,30	0/1:16,3:19:75:0|1:2758_C_CT:75,0,663	0/0:17,0:17:9:.:.:0,9,588	0/0:16,0:16:36:.:.:0,36,540	0/0:7,0:7:18:.:.:0,18,270	0/0:4,0:4:12:.:.:0,12,133	0/1:6,2:8:66:0|1:2758_C_CT:66,0,311	0/0:7,0:7:15:.:.:0,15,225	0/0:16,0:16:30:.:.:0,30,450	0/0:12,0:12:15:.:.:0,15,225	0/0:5,0:5:0:.:.:0,0,42	0/0:5,0:5:15:.:.:0,15,129	./.:0,0:0:.:.:.:.	0/0:4,0:4:12:.:.:0,12,155	./.:2,0:2:.:.:.:.	0/0:3,0:3:9:.:.:0,9,125	0/0:8,0:8:24:.:.:0,24,206	0/0:6,0:6:9:.:.:0,9,135	0/0:1,0:1:3:.:.:0,3,42	0/0:5,0:5:15:.:.:0,15,175	0/0:2,0:2:6:.:.:0,6,72	0/0:7,0:7:21:.:.:0,21,178	0/0:6,0:6:18:.:.:0,18,205	0/0:1,0:1:3:.:.:0,3,30
Chr1	3545	Chr1__3545	T	TTAGA	1502.6	PASS	AC=12;AF=0.078;AN=154;BaseQRankSum=0.731;ClippingRankSum=-2.890e-01;DP=1168;ExcessHet=0.0025;FS=1.648;InbreedingCoeff=0.4177;MLEAC=9;MLEAF=0.058;MQ=49.22;MQRankSum=-7.310e-01;QD=25.47;ReadPosRankSum=0.731;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=0.535;ANN=TTAGA|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.3545_3546insTAGA||||||	GT:AD:DP:GQ:PGT:PID:PL	0/0:20,0:20:42:.:.:0,42,630	0/0:30,0:30:60:.:.:0,60,900	0/0:17,0:17:30:.:.:0,30,450	0/0:27,0:27:51:.:.:0,51,765	0/0:13,0:13:24:.:.:0,24,360	0/0:11,0:11:30:.:.:0,30,450	0/0:13,0:13:21:.:.:0,21,315	0/0:25,0:25:48:.:.:0,48,720	0/0:29,0:29:57:.:.:0,57,855	0/0:25,0:25:45:.:.:0,45,675	0/0:17,0:17:36:.:.:0,36,540	0/0:11,0:11:33:0|1:3538_C_T:0,33,495	0/0:15,0:15:27:.:.:0,27,405	0/0:19,0:19:39:.:.:0,39,585	0/0:12,0:12:27:.:.:0,27,405	0/0:23,0:23:33:.:.:0,33,495	0/0:12,0:12:24:.:.:0,24,360	0/0:14,0:14:15:.:.:0,15,225	./.:0,0:0:.:.:.:.	0/0:17,0:17:27:.:.:0,27,405	0/0:13,0:13:21:.:.:0,21,315	0/0:12,0:12:30:.:.:0,30,450	1/1:0,3:3:9:1|1:3545_T_TTAGA:135,9,0	0/0:16,0:16:39:.:.:0,39,585	0/0:11,0:11:18:.:.:0,18,270	./.:5,0:5:.:.:.:.	0/1:4,8:12:99:0|1:3545_T_TTAGA:366,0,141	0/0:8,0:8:9:.:.:0,9,135	0/1:2,4:6:72:.:.:162,0,72	0/0:8,0:9:24:0|1:3545_T_G:0,24,360
Chr1	3873	Chr1__3873	A	AT	305.88	PASS	AC=4;AF=0.032;AN=126;BaseQRankSum=0.720;ClippingRankSum=0.925;DP=532;ExcessHet=5.3536;FS=7.395;InbreedingCoeff=-0.1491;MLEAC=4;MLEAF=0.032;MQ=53.51;MQRankSum=-7.200e-01;QD=7.46;ReadPosRankSum=0.736;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=1.749;ANN=AT|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.3873_3874insT||||||	GT:AD:DP:GQ:PGT:PID:PL	0/0:13,0:13:24:.:.:0,24,360	0/0:5,0:6:15:0|1:3792_G_A:0,15,225	0/0:11,0:11:27:.:.:0,27,405	0/0:16,0:16:30:.:.:0,30,450	0/0:12,0:12:21:.:.:0,21,315	0/0:4,0:4:0:.:.:0,0,72	0/0:9,0:9:21:.:.:0,21,315	0/0:15,0:15:45:0|1:3873_A_AT:0,45,655	0/1:9,3:12:99:0|1:3873_A_AT:99,0,394	0/0:20,0:20:18:.:.:0,18,569	0/0:11,0:11:9:.:.:0,9,135	0/0:3,0:3:6:.:.:0,6,90	0/0:9,0:9:0:.:.:0,0,209	0/0:10,0:10:0:.:.:0,0,322	0/0:15,0:15:18:.:.:0,18,270	0/1:4,2:6:72:.:.:72,0,162	0/0:1,0:1:3:.:.:0,3,30	0/0:5,0:5:12:.:.:0,12,180	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	./.:0,0:0:.:.:.:.	0/0:1,0:1:3:.:.:0,3,25	0/0:11,0:11:0:.:.:0,0,321	0/0:6,0:6:15:.:.:0,15,225	0/0:3,0:3:3:.:.:0,3,45	0/0:5,0:5:6:.:.:0,6,90	./.:0,0:0:.:.:.:.	0/0:4,0:4:3:.:.:0,3,45	0/0:2,0:2:6:.:.:0,6,72
Chr1	4100	Chr1__4100	TAA	TA,T	5421.72	PASS	AC=39,11;AF=0.415,0.117;AN=94;BaseQRankSum=0.404;ClippingRankSum=-7.100e-02;DP=378;ExcessHet=0.0189;FS=3.177;InbreedingCoeff=0.3683;MLEAC=38,9;MLEAF=0.404,0.096;MQ=50.04;MQRankSum=-4.230e-01;QD=20.69;ReadPosRankSum=0.592;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=0.993;ANN=T|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.4101_4102delAA||||||,TA|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.4102delA||||||	GT:AD:DP:GQ:PL	1/1:0,14,0:14:42:395,42,0,395,42,395	0/0:9,0,0:9:15:0,15,225,15,225,225	1/1:0,7,0:7:21:198,21,0,198,21,198	0/1:2,7,0:9:29:170,0,29,176,50,227	1/2:1,3,4:8:48:187,85,91,48,0,72	0/0:4,0,0:4:12:0,12,155,12,155,155	2/2:0,0,5:5:15:192,192,192,15,15,0	0/1:3,10,0:13:45:243,0,45,252,75,327	0/0:18,0,0:18:12:0,12,596,12,596,596	0/1:3,13,0:16:18:320,0,18,328,57,386	0/0:4,0,0:4:9:0,9,135,9,135,135	./.:0,0,0:0:.:.	0/0:5,0,0:5:0:0,0,125,0,125,125	2/2:0,0,6:6:18:232,232,232,18,18,0	0/1:13,6,0:19:99:112,0,308,151,326,478	1/1:0,3,0:3:9:135,9,0,135,9,135	2/2:0,0,4:4:12:154,154,154,12,12,0	0/0:1,0,0:1:3:0,3,30,3,30,30	./.:0,0,0:0:.:.	./.:0,0,0:0:.:.	./.:0,0,0:0:.:.	./.:0,0,0:0:.:.	./.:0,0,0:0:.:.	0/0:5,0,0:5:15:0,15,197,15,197,197	0/0:7,0,0:7:15:0,15,225,15,225,225	0/0:4,0,0:4:12:0,12,121,12,121,121	./.:0,0,0:0:.:.	./.:0,0,0:0:.:.	1/1:0,7,0:7:21:198,21,0,198,21,198	./.:0,0,0:0:.:.
Chr1	4221	Chr1__4221	AT	A	1235.1	PASS	AC=13;AF=0.151;AN=86;BaseQRankSum=0.466;ClippingRankSum=0.825;DP=337;ExcessHet=0.0135;FS=0.000;InbreedingCoeff=0.3382;MLEAC=14;MLEAF=0.163;MQ=48.14;MQRankSum=-2.637e+00;QD=16.25;ReadPosRankSum=1.35;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=0.617;ANN=A|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.4222delT||||||	GT:AD:DP:GQ:PL	0/0:11,0:11:17:0,17,291	0/0:6,0:6:6:0,6,90	0/0:4,0:4:12:0,12,155	0/0:6,0:6:9:0,9,135	./.:2,0:2:.:.	0/0:5,0:5:12:0,12,180	1/1:0,5:5:15:172,15,0	0/0:15,0:15:30:0,30,450	0/0:11,0:11:18:0,18,270	0/0:13,0:13:33:0,33,495	0/0:9,0:9:24:0,24,360	./.:0,0:0:.:.	0/0:6,0:6:9:0,9,135	1/1:0,7:7:21:225,21,0	0/0:17,0:17:30:0,30,450	0/0:4,0:4:12:0,12,143	1/1:0,4:4:12:138,12,0	0/0:2,0:2:6:0,6,40	./.:0,0:0:.:.	./.:0,0:0:.:.	./.:0,0:0:.:.	./.:0,0:0:.:.	./.:0,0:0:.:.	0/0:8,0:8:12:0,12,180	0/0:5,0:5:9:0,9,135	0/0:4,0:4:12:0,12,155	./.:0,0:0:.:.	./.:0,0:0:.:.	0/0:11,0:11:18:0,18,270	./.:0,0:0:.:.
Chr1	4454	Chr1__4454	C	CAAAAAAAAAAAAT,CAAAAAAAAAAAAAT,CAAAAAAAATTTT	1952.88	PASS	AC=9,1,2;AF=0.092,0.010,0.020;AN=98;BaseQRankSum=0.591;ClippingRankSum=0.955;DP=502;ExcessHet=2.6589;FS=0.000;InbreedingCoeff=0.0815;MLEAC=9,1,1;MLEAF=0.092,0.010,0.010;MQ=44.73;MQRankSum=-1.741e+00;QD=15.50;ReadPosRankSum=0.348;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=0.676;ANN=CAAAAAAAAAAAAAT|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.4454_4455insAAAAAAAAAAAAAT||||||,CAAAAAAAAAAAAT|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.4454_4455insAAAAAAAAAAAAT||||||,CAAAAAAAATTTT|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.4454_4455insAAAAAAAATTTT||||||	GT:AD:DP:GQ:PGT:PID:PL	0/0:11,0,0,0:11:27:.:.:0,27,405,27,405,405,27,405,405,405	0/1:7,4,0,0:11:99:.:.:147,0,311,168,323,491,168,323,491,491	0/0:5,0,0,0:5:9:.:.:0,9,135,9,135,135,9,135,135,135	0/1:15,6,0,0:21:99:.:.:184,0,637,230,655,885,230,655,885,885	0/0:12,0,0,0:12:21:.:.:0,21,315,21,315,315,21,315,315,315	0/0:2,0,0,0:2:6:.:.:0,6,84,6,84,84,6,84,84,84	0/0:8,0,0,0:8:0:.:.:0,0,82,0,82,82,0,82,82,82	0/0:16,0,0,0:16:36:.:.:0,36,540,36,540,540,36,540,540,540	0/0:15,0,0,0:15:3:.:.:0,3,390,3,390,390,3,390,390,390	0/0:9,0,0,0:9:21:.:.:0,21,315,21,315,315,21,315,315,315	0/0:12,0,0,0:12:0:.:.:0,0,345,0,345,345,0,345,345,345	./.:2,0,0,0:2:.:.:.:.	0/1:3,2,0,0:5:75:.:.:75,0,154,84,160,244,84,160,244,244	0/0:4,0,0,0:4:6:.:.:0,6,90,6,90,90,6,90,90,90	0/1:13,5,0,0:18:99:.:.:171,0,818,210,833,1043,210,833,1043,1043	0/1:4,5,2,0:11:64:.:.:272,0,144,64,113,208,116,159,214,260	0/0:5,0,0,0:5:15:0|1:4453_G_C:0,15,225,15,225,225,15,225,225,225	./.:4,0,0,0:4:.:.:.:.	./.:0,0,0,0:3:.:.:.:.	./.:1,0,0,0:1:.:.:.:.	./.:5,0,0,0:5:.:.:.:.	./.:5,0,0,0:5:.:.:.:.	./.:0,0,0,0:0:.:.:.:.	0/0:3,0,0,0:3:3:.:.:0,3,45,3,45,45,3,45,45,45	0/0:5,0,0,0:5:12:.:.:0,12,180,12,180,180,12,180,180,180	0/0:5,0,0,0:5:15:.:.:0,15,416,15,416,416,15,416,416,416	./.:0,0,0,0:0:.:.:.:.	./.:9,0,0,0:9:.:.:.:.	0/0:6,0,0,0:8:18:.:.:0,18,270,18,270,270,18,270,270,270	./.:0,0,0,0:2:.:.:.:.
Chr1	4534	Chr1__4534	AT	A	3530.3	PASS	AC=34;AF=0.288;AN=118;BaseQRankSum=0.406;ClippingRankSum=0.00;DP=525;ExcessHet=1.0010;FS=8.888;InbreedingCoeff=-0.0172;MLEAC=34;MLEAF=0.288;MQ=41.21;MQRankSum=0.736;QD=17.83;ReadPosRankSum=0.386;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=1.215;ANN=A|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.4535delT||||||	GT:AD:DP:GQ:PGT:PID:PL	1/1:1,12:13:10:.:.:406,10,0	0/0:11,1:12:6:.:.:0,6,289	0/0:8,0:8:0:.:.:0,0,81	0/1:8,8:16:99:.:.:192,0,175	0/1:6,3:9:63:.:.:63,0,147	0/0:7,0:7:9:.:.:0,9,135	0/1:1,5:6:11:.:.:132,0,11	0/1:5,6:11:99:.:.:147,0,112	0/0:21,0:21:21:.:.:0,21,631	1/1:0,10:10:30:.:.:289,30,0	0/0:14,0:14:15:.:.:0,15,225	./.:2,0:2:.:.:.:.	0/0:9,0:9:0:.:.:0,0,246	1/1:0,2:2:6:.:.:60,6,0	0/0:10,0:10:0:.:.:0,0,239	0/1:3,2:5:45:.:.:45,0,72	0/1:1,2:3:20:.:.:51,0,20	0/1:1,2:3:36:0|1:4534_AT_A:81,0,36	./.:5,0:5:.:.:.:.	./.:3,0:3:.:.:.:.	0/0:3,0:3:9:.:.:0,9,88	./.:3,0:3:.:.:.:.	./.:0,0:0:.:.:.:.	0/0:3,0:3:6:.:.:0,6,90	0/0:7,0:7:0:.:.:0,0,56	0/0:10,0:10:0:.:.:0,0,227	./.:0,0:0:.:.:.:.	0/0:4,0:4:12:.:.:0,12,116	0/1:1,4:5:14:.:.:105,0,14	./.:1,0:1:.:.:.:.
Chr1	5410	Chr1__5410	A	AG	243.24	PASS	AC=4;AF=0.027;AN=148;BaseQRankSum=1.91;ClippingRankSum=2.44;DP=632;ExcessHet=0.0895;FS=3.528;InbreedingCoeff=0.0696;MLEAC=4;MLEAF=0.027;MQ=43.61;MQRankSum=-1.376e+00;QD=6.40;ReadPosRankSum=1.06;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=1.639;ANN=AG|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.5410_5411insG||||||	GT:AD:DP:GQ:PL	0/1:10,3:13:79:79,0,330	0/0:13,0:13:21:0,21,315	0/0:23,0:23:39:0,39,585	0/0:11,0:11:12:0,12,180	0/0:8,0:8:12:0,12,180	0/0:9,0:9:15:0,15,225	0/0:11,0:11:18:0,18,270	0/1:17,3:20:58:58,0,569	0/0:25,0:25:60:0,60,900	0/0:26,0:26:45:0,45,675	0/0:9,0:9:18:0,18,270	./.:0,0:0:.:.	0/0:6,0:6:12:0,12,180	0/0:10,0:10:9:0,9,135	0/0:20,0:20:39:0,39,585	0/0:8,0:8:9:0,9,135	0/0:1,0:1:3:0,3,42	0/0:5,0:5:6:0,6,90	./.:0,0:0:.:.	0/0:3,0:3:6:0,6,90	0/0:2,0:2:3:0,3,45	0/0:2,0:2:6:0,6,84	./.:0,0:0:.:.	0/0:11,0:11:18:0,18,270	0/0:15,0:15:18:0,18,270	0/0:6,0:6:12:0,12,180	0/0:2,0:2:6:0,6,84	./.:0,0:0:.:.	1/1:0,5:5:15:196,15,0	./.:0,0:0:.:.
Chr1	6197	Chr1__6197	AT	A	646.62	PASS	AC=12;AF=0.128;AN=94;BaseQRankSum=0.678;ClippingRankSum=0.566;DP=336;ExcessHet=0.0000;FS=9.495;InbreedingCoeff=0.4971;MLEAC=9;MLEAF=0.096;MQ=44.62;MQRankSum=-8.960e-01;QD=15.77;ReadPosRankSum=-3.820e-01;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=1.967;ANN=A|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.6198delT||||||	GT:AD:DP:GQ:PL	0/0:16,0:16:39:0,39,585	0/0:7,0:7:15:0,15,225	1/1:0,4:4:12:122,12,0	0/0:9,0:9:18:0,18,270	0/1:7,4:11:89:89,0,180	0/0:6,0:6:18:0,18,239	0/0:8,0:8:21:0,21,315	0/0:17,0:17:36:0,36,540	0/0:15,0:15:3:0,3,519	1/1:0,6:6:18:183,18,0	0/0:6,0:6:15:0,15,225	./.:0,0:0:.:.	0/0:2,0:2:6:0,6,84	0/0:6,0:6:12:0,12,180	0/0:11,0:11:24:0,24,360	0/0:5,0:5:12:0,12,180	0/0:8,0:8:18:0,18,270	0/0:6,0:6:12:0,12,180	./.:0,0:0:.:.	./.:0,0:0:.:.	./.:0,0:0:.:.	./.:0,0:0:.:.	./.:0,0:0:.:.	0/0:5,0:5:15:0,15,209	0/0:1,0:1:3:0,3,15	./.:4,0:4:.:.	./.:0,0:0:.:.	./.:0,0:0:.:.	./.:0,0:0:.:.	0/0:1,0:1:3:0,3,42
Chr1	6530	Chr1__6530	GT	G	274.81	PASS	AC=5;AF=0.033;AN=152;BaseQRankSum=0.751;ClippingRankSum=0.337;DP=593;ExcessHet=3.4491;FS=8.112;InbreedingCoeff=-0.0890;MLEAC=4;MLEAF=0.026;MQ=52.37;MQRankSum=0.322;QD=4.29;ReadPosRankSum=0.851;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=0.625;ANN=G|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.6531delT||||||	GT:AD:DP:GQ:PGT:PID:PL	0/0:17,0:17:33:.:.:0,33,495	0/0:10,0:10:21:.:.:0,21,315	0/0:12,0:12:12:.:.:0,12,180	0/0:25,0:25:42:.:.:0,42,630	0/0:17,0:17:9:.:.:0,9,554	0/0:12,0:12:24:.:.:0,24,360	0/1:12,4:16:99:0|1:6524_C_A:132,0,492	0/0:14,0:14:36:.:.:0,36,540	0/0:18,0:18:51:.:.:0,51,765	0/0:13,0:13:30:.:.:0,30,450	0/0:8,0:8:21:.:.:0,21,315	0/0:5,0:5:12:.:.:0,12,180	0/0:6,0:6:15:.:.:0,15,225	0/0:9,0:9:0:.:.:0,0,258	0/0:13,0:13:36:.:.:0,36,540	0/0:8,0:8:21:.:.:0,21,315	0/1:8,1:9:12:0|1:6524_C_A:12,0,376	0/0:14,0:14:27:.:.:0,27,405	0/0:7,0:7:18:.:.:0,18,270	0/0:1,0:1:3:.:.:0,3,42	0/0:6,0:6:15:.:.:0,15,225	./.:5,0:5:.:.:.:.	0/0:1,0:1:3:.:.:0,3,42	0/0:10,0:10:21:.:.:0,21,315	0/0:12,0:12:30:.:.:0,30,450	0/0:23,0:23:54:.:.:0,54,810	0/0:3,0:3:9:.:.:0,9,125	0/0:3,0:3:6:.:.:0,6,90	0/0:9,0:9:21:.:.:0,21,315	./.:0,0:0:.:.:.:.
Chr1	8901	Chr1__8901	CAG	C	247.26	PASS	AC=6;AF=0.038;AN=160;BaseQRankSum=0.118;ClippingRankSum=0.00;DP=1046;ExcessHet=4.0428;FS=8.326;InbreedingCoeff=-0.0721;MLEAC=6;MLEAF=0.038;MQ=42.53;MQRankSum=-1.917e+00;QD=2.75;ReadPosRankSum=0.354;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=1.332;ANN=C|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.8902_8903delAG||||||	GT:AD:DP:GQ:PGT:PID:PL	0/1:7,1:8:18:0|1:8901_CAG_C:18,0,305	0/0:17,0:17:36:.:.:0,36,540	0/1:23,2:25:15:.:.:15,0,960	0/0:33,0:33:72:.:.:0,72,1080	0/0:12,0:15:35:.:.:0,35,403	0/0:11,0:11:18:.:.:0,18,270	0/0:12,0:12:20:.:.:0,20,328	0/0:39,0:39:87:.:.:0,87,1305	0/0:17,0:17:35:.:.:0,35,541	0/1:9,2:11:57:.:.:57,0,364	0/0:11,0:11:27:.:.:0,27,405	0/0:4,0:4:6:.:.:0,6,90	0/0:7,0:7:18:.:.:0,18,270	0/0:23,0:23:51:.:.:0,51,765	0/0:17,0:17:36:.:.:0,36,540	0/0:22,0:22:48:.:.:0,48,720	0/0:15,0:15:33:.:.:0,33,495	0/0:9,0:9:18:.:.:0,18,270	0/0:13,0:13:27:.:.:0,27,405	0/0:4,0:4:0:.:.:0,0,110	0/0:9,0:9:12:.:.:0,12,180	0/0:15,0:15:29:.:.:0,29,412	0/0:3,0:3:3:.:.:0,3,45	0/0:22,0:22:51:.:.:0,51,765	0/0:14,0:14:30:.:.:0,30,450	0/0:12,0:14:36:.:.:0,36,419	0/0:5,0:5:0:.:.:0,0,91	0/0:14,0:14:30:.:.:0,30,450	0/0:13,0:13:23:.:.:0,23,340	0/0:14,0:14:33:.:.:0,33,495
Chr1	8960	Chr1__8960	T	TG	2833.68	PASS	AC=26;AF=0.167;AN=156;BaseQRankSum=0.480;ClippingRankSum=-2.960e-01;DP=1085;ExcessHet=3.2526;FS=3.775;InbreedingCoeff=-0.0035;MLEAC=27;MLEAF=0.173;MQ=42.20;MQRankSum=-7.270e-01;QD=10.77;ReadPosRankSum=0.727;SNPEFF_EFFECT=INTERGENIC;SNPEFF_IMPACT=MODIFIER;SNPEFF_FUNCTIONAL_CLASS=NONE;SOR=0.942;ANN=TG|intergenic_region|MODIFIER|CHR_START-CSS0005497|CHR_START-CSS0005497|intergenic_region|CHR_START-CSS0005497|||n.8960_8961insG||||||	GT:AD:DP:GQ:PGT:PID:PL	0/0:7,0:7:12:.:.:0,12,180	0/0:16,0:16:36:.:.:0,36,540	0/0:28,0:28:57:.:.:0,57,855	0/0:31,0:31:57:.:.:0,57,855	0/0:22,0:22:36:.:.:0,36,540	0/1:8,2:10:37:.:.:37,0,243	0/0:11,0:11:21:.:.:0,21,315	0/0:39,0:39:69:.:.:0,69,1035	0/0:14,0:14:0:.:.:0,0,455	0/0:15,0:15:21:.:.:0,21,315	0/0:9,0:9:27:.:.:0,27,308	1/1:0,3:3:9:.:.:100,9,0	0/0:11,0:11:21:.:.:0,21,315	0/0:27,0:27:48:.:.:0,48,720	0/0:16,0:16:24:.:.:0,24,360	0/0:19,0:19:42:.:.:0,42,630	0/0:14,0:14:36:.:.:0,36,540	0/1:3,8:11:69:.:.:232,0,69	0/1:5,7:12:99:.:.:198,0,135	1/1:0,6:6:18:.:.:200,18,0	0/1:3,4:7:87:.:.:92,0,87	0/1:6,7:13:99:.:.:186,0,158	0/0:3,0:3:0:.:.:0,0,42	0/1:11,6:17:99:.:.:127,0,325	0/1:8,2:10:37:.:.:37,0,243	0/1:6,7:13:99:.:.:190,0,188	0/1:1,3:4:22:0|1:8942_GTTGTT_G:99,0,22	1/1:0,10:10:30:.:.:333,30,0	0/0:13,0:13:12:.:.:0,12,180	0/1:5,11:16:99:.:.:312,0,155

startswith返回的是布尔值。

if startswith(line,"##") == false

if !tartswith(line,"##")

可以简洁地写成下面那种形式