免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5093 | 回复: 13

vcf文件需要用perl处理取出DP>3的点 [复制链接]

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-06-29 06:20:00
发表于 2016-12-06 14:07 |显示全部楼层
全基因組數據,經過SNP calling產生了很大的vcf文件,但是很多點實際上質量很差沒有計算的意義,所以想把DP>1的數據篩出來進行後續計算,請教大家,不知道如何處理比較好,因爲是全基因組數據,文件過大利用excel根本打不開,所以excel的方法暫時不考慮了。文件格式如下:
#CHROM        POS        ID        REF        ALT        QUAL        FILTER        INFO        FORMAT        M69B.q30.srt.rmp.bam
chr1        824423        .        G        A        7.8        .        DP=1;AF1=1;AC1=2;DP4=0,0,0,1;MQ=37;FQ=-30        GTL:GQ        1/1:37,3,0:4
chr1        824425        .        G        A        7.8        .        DP=1;AF1=1;AC1=2;DP4=0,0,0,1;MQ=37;FQ=-30        GTL:GQ        1/1:37,3,0:4
chr1        837554        .        G        A        42.8        .        DP=2;VDB=5.960000e-02;AF1=1;AC1=2;DP4=0,0,1,1;MQ=37;FQ=-33        GTL:GQ        1/1:74,6,0:10
chr1        838570        .        G        A        42.8        .        DP=2;VDB=5.960000e-02;AF1=1;AC1=2;DP4=0,0,1,1;MQ=37;FQ=-33        GTL:GQ        1/1:74,6,0:10
chr1        840821        .        G        A        42.8        .        DP=2;VDB=5.960000e-02;AF1=1;AC1=2;DP4=0,0,1,1;MQ=37;FQ=-33        GTL:GQ        1/1:74,6,0:10
chr1        846005        .        C        T        42.8        .        DP=2;VDB=5.960000e-02;AF1=1;AC1=2;DP4=0,0,1,1;MQ=37;FQ=-33        GTL:GQ        1/1:74,6,0:10
chr1        847156        .        C        T        42.8        .        DP=2;VDB=5.960000e-02;AF1=1;AC1=2;DP4=0,0,1,1;MQ=37;FQ=-33        GTL:GQ        1/1:74,6,0:10
chr1        847807        .        C        T        7.8        .        DP=1;AF1=1;AC1=2;DP4=0,0,0,1;MQ=37;FQ=-30        GTL:GQ        1/1:37,3,0:4
chr1        850705        .        G        A        42.8        .        DP=2;VDB=5.960000e-02;AF1=1;AC1=2;DP4=0,0,1,1;MQ=37;FQ=-33        GTL:GQ        1/1:74,6,0:10
chr1        854250        .        A        G        42.8        .        DP=2;VDB=5.960000e-02;AF1=1;AC1=2;DP4=0,0,1,1;MQ=37;FQ=-33        GTL:GQ        1/1:74,6,0:10
chr1        856420        .        G        A        4.77        .        DP=1;AF1=1;AC1=2;DP4=0,0,1,0;MQ=33;FQ=-30        GT:PL:GQ        0/1:33,3,0:3
chr1        856427        .        G        A        4.13        .        DP=1;AF1=1;AC1=2;DP4=0,0,1,0;MQ=33;FQ=-30        GT:PL:GQ        0/1:32,3,0:3
chr1        857025        .        G        T        42.8        .        DP=2;VDB=5.960000e-02;AF1=1;AC1=2;DP4=0,0,1,1;MQ=37;FQ=-33        GT:PL:GQ        1/1:74,6,0:10
chr1        860251        .        G        A        22.8        .        DP=2;VDB=5.960000e-02;AF1=1;AC1=2;DP4=0,0,1,1;MQ=32;FQ=-33        GT:PL:GQ        1/1:54,6,0:10
chr1        860252        .        G        A        33.8        .        DP=2;VDB=5.960000e-02;AF1=1;AC1=2;DP4=0,0,1,1;MQ=32;FQ=-33        GT:PL:GQ        1/1:65,6,0:10
chr1        860273        .        G        A        15.9        .        DP=2;VDB=5.960000e-02;AF1=1;AC1=2;DP4=0,0,1,1;MQ=32;FQ=-33        GT:PL:GQ        1/1:47,6,0:10
chr1        860288        .        CG        CGG        29.2        .        INDEL;IS=2,1.000000;DP=2;VDB=5.960000e-02;AF1=1;AC1=2;DP4=0,0,1,1;MQ=37;FQ=-40.5        GT:PL:GQ        1/1:68,6,0:10



DP是INFO列下的第一個參數;
因爲文件很大,所以無法上傳,(壓縮之後還是不行),所以只節選了文件中的一小部分,希望大家能幫個忙,謝謝了先!!!!!

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
发表于 2016-12-06 14:45 |显示全部楼层
文件有多大?

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
发表于 2016-12-06 14:49 |显示全部楼层
  1. perl -nle 'next if(/\A\s*#/);print if(/\bdp=(\d+)/i and $1>1)' f
复制代码

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-06-29 06:20:00
发表于 2016-12-06 14:50 |显示全部楼层
回复 2# sunzhiguolu 50G

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-06-29 06:20:00
发表于 2016-12-06 14:57 |显示全部楼层
回复 3# sunzhiguolu

額,不好意思,結果不對,顯示的是Can't find string terminator "'" anywhere before EOF at -e line 1.
我輸入的是perl -nle 'next if(/\A\s*#/);print if(/\bdp=(\d+)/i and $1>3)' f test.vcf > test2.vcf。

不知道哪出了一些問題。。

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
发表于 2016-12-06 15:01 |显示全部楼层
本帖最后由 sunzhiguolu 于 2016-12-06 15:03 编辑

回复 5# Tracy_Panda
50GB 的话, 用一般的工具软件的确打开就 over 了。

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
发表于 2016-12-06 15:01 |显示全部楼层
回复 5# Tracy_Panda
perl -nle 'next if(/\A\s*#/);print if(/\bdp=(\d+)/i and $1>3)' test.vcf > test2.vcf

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-06-29 06:20:00
发表于 2016-12-06 15:07 |显示全部楼层
回复 7# sunzhiguolu

D:\复旦\KC>perl -nle 'next if(/\A\s*#/);print if(/\bdp=(\d+)/i and $1>3)' test.vcf > test2.vcf
Can't find string terminator "'" anywhere before EOF at -e line 1.

不好意思,結果還是如此。。。因爲樣本特殊,所以很多沒用的信息會得到,但是也要過濾掉大部分數據,所以我也在想起其他辦法能不能實現。。。

哈哈,如果可以的話可以接着幫忙想一下哪出錯啦

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
发表于 2016-12-06 15:08 |显示全部楼层
本帖最后由 sunzhiguolu 于 2016-12-06 15:20 编辑

如果是在 Windows 端运行的话,
  1. perl -nle "next if(/\A\s*#/);print if(/\bdp=(\d+)/i and $1>3)" test.vcf > test2.vcf
复制代码

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
发表于 2016-12-06 15:15 |显示全部楼层
回复 8# Tracy_Panda
不好意思,結果還是如此。。。因爲樣本特殊,所以很多沒用的信息會得到,但是也要過濾掉大部分數據,所以我也在想起其他辦法能不能實現。。。
文件格式是否固定?  处理条件如何?  能否给出预期的结果?


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP