samtools / bcftools

This is the official development repository for BCFtools. See installation instructions and other documentation here http://samtools.github.io/bcftools/howtos/install.html
http://samtools.github.io/bcftools/
Other
640 stars 241 forks source link

bcftools filter -e bug #1095

Open fanshu1986 opened 4 years ago

fanshu1986 commented 4 years ago

first /lustre/work/shufan/RD/Software/bcftools/bcftools-1.9/bcftools filter -o /mnt/rorke/work/shufan/Test/NeoAntigen/DNA/19705CS/Nomatch/mid/591097_tumor.filter.vcf -m x -e 'INFO/EAS_AF>0.001 || INFO/non_cancer_AF_eas>0.0001' /mnt/rorke/work/shufan/Test/NeoAntigen/DNA/19705CS/Nomatch/mid/591097_tumor*multianno.vcf result file -rw-r----- 1 shufan bioinfo 10707702 Oct 23 14:03 591097_tumor.filter.vcf

second /lustre/work/shufan/RD/Software/bcftools/bcftools-1.9/bcftools filter -o /mnt/rorke/work/shufan/Test/NeoAntigen/DNA/19705CS/Nomatch/mid/591097_tumor.filter.vcf -m x -e 'INFO/EAS_AF>0.001 || INFO/non_cancer_AF_eas>0.0001 || INFO/CH_AF>0.001' /mnt/rorke/work/shufan/Test/NeoAntigen/DNA/19705CS/Nomatch/mid/591097_tumor*multianno.vcf result file -rw-r----- 1 shufan bioinfo 43984804 Oct 23 14:14 591097_tumor.filter.vcf

second commond use more condition for exclude ,but the result file is more larger. and the conditions don't work. it is stange!!

pd3 commented 4 years ago

Best if you could isolate one incorrectly filtered site and create a small test case to reproduce the error.

fanshu1986 commented 4 years ago

Thank you for your suggest。

I made a test file : chr1 732994 rs138476838 G A 1032.78 PASS DB;ECNT=1;FS=0;HCNT=1;MAX_ED=.;MIN_ED=.;NLOD=0;NLODF=0;SOR=0.616;TLOD=109.58;ANNOVAR_DATE=2016-02-01;EAS_AF=0.24;CHS_AF=0.28095;CDX_AF=0.23000;CHB_AF=0.29048;CH_AF=0.26774;non_cancer_AC_eas=.;non_cancer_AN_eas=.;non_cancer_AF_eas=.;ALLELE_END GT:AD:AF:AFDP:ALTHC:ALT_F1R2:ALT_F2R1:BaseQRankSumPS:ClippingRankSumPS:DPHC:FOXOG:MQRankSumPS:NBQPS:QSS:REF_F1R2:REF_F2R1:ReadPosEndDistPS:ReadPosRankSumPS
0/1:80,50:0.394:94:50:20:30:6.532:0:128:0.4:-6.858:34.473:2580,1739:32:48:35.3:0.484 chr1 962085 rs767043015 A C 136.39 PASS DB;ECNT=4;FS=74.538;HCNT=3;MAX_ED=17;MIN_ED=5;NLOD=0;NLODF=0;SOR=5.889;TLOD=19.94;ANNOVAR_DATE=2016-02-01;EAS_AF=.;CHS_AF=.;CDX_AF=.;CHB_AF=.;CH_AF=.;non_cancer_AC_eas=777;non_cancer_AN_eas=4578;non_cancer_AF_eas=0.169725;ALLELE_END GT:AD:AF:AFDP:ALTHC:ALT_F1R2:ALT_F2R1:BaseQRankSumPS:ClippingRankSumPS:DPHC:FOXOG:MQRankSumPS:NBQPS:PGT:PID:QSS:REF_F1R2:REF_F2R1:ReadPosEndDistPS:ReadPosRankSumPS 0/1:447,30:0.022:459:36:10:20:0.29:0:511:0.667:0:31.069:0|1:962073_G_GCCC:14146,974:194:253:31.597:-6.014

my command bcftools-1.9/bcftools filter -o filter.2 -m x -e 'INFO/EAS_AF>0.1' test.vcf

the result , it does't work grep -v "#" filter.2 chr1 732994 rs138476838 G A 1032.78 PASS DB;ECNT=1;FS=0;HCNT=1;MAX_ED=.;MIN_ED=.;NLOD=0;NLODF=0;SOR=0.616;TLOD=109.58;ANNOVAR_DATE=2016-02-01;EAS_AF=0.24;CHS_AF=0.28095;CDX_AF=0.23000;CHB_AF=0.29048;CH_AF=0.26774;non_cancer_AC_eas=.;non_cancer_AN_eas=.;non_cancer_AF_eas=.;ALLELE_END GT:AD:AF:AFDP:ALTHC:ALT_F1R2:ALT_F2R1:BaseQRankSumPS:ClippingRankSumPS:DPHC:FOXOG:MQRankSumPS:NBQPS:QSS:REF_F1R2:REF_F2R1:ReadPosEndDistPS:ReadPosRankSumPS 0/1:80,50:0.394:94:50:20:30:6.532:0:128:0.4:-6.858:34.473:2580,1739:32:48:35.3:0.484 chr1 962085 rs767043015 A C 136.39 PASS DB;ECNT=4;FS=74.538;HCNT=3;MAX_ED=17;MIN_ED=5;NLOD=0;NLODF=0;SOR=5.889;TLOD=19.94;ANNOVAR_DATE=2016-02-01;EAS_AF=.;CHS_AF=.;CDX_AF=.;CHB_AF=.;CH_AF=.;non_cancer_AC_eas=777;non_cancer_AN_eas=4578;non_cancer_AF_eas=0.169725;ALLELE_END GT:AD:AF:AFDP:ALTHC:ALT_F1R2:ALT_F2R1:BaseQRankSumPS:ClippingRankSumPS:DPHC:FOXOG:MQRankSumPS:NBQPS:PGT:PID:QSS:REF_F1R2:REF_F2R1:ReadPosEndDistPS:ReadPosRankSumPS 0/1:447,30:0.022:459:36:10:20:0.29:0:511:0.667:0:31.069:0|1:962073_G_GCCC:14146,974:194:253:31.597:-6.014

when the command is bcftools-1.9/bcftools filter -o filter.2 -m x -e 'INFO/non_cancer_AF_eas>0.1' test.vcf

the result , this time it does work, it is strange !!! grep -v "#" filter.2 chr1 732994 rs138476838 G A 1032.78 PASS DB;ECNT=1;FS=0;HCNT=1;MAX_ED=.;MIN_ED=.;NLOD=0;NLODF=0;SOR=0.616;TLOD=109.58;ANNOVAR_DATE=2016-02-01;EAS_AF=0.24;CHS_AF=0.28095;CDX_AF=0.23000;CHB_AF=0.29048;CH_AF=0.26774;non_cancer_AC_eas=.;non_cancer_AN_eas=.;non_cancer_AF_eas=.;ALLELE_END GT:AD:AF:AFDP:ALTHC:ALT_F1R2:ALT_F2R1:BaseQRankSumPS:ClippingRankSumPS:DPHC:FOXOG:MQRankSumPS:NBQPS:QSS:REF_F1R2:REF_F2R1:ReadPosEndDistPS:ReadPosRankSumPS 0/1:80,50:0.394:94:50:20:30:6.532:0:128:0.4:-6.858:34.473:2580,1739:32:48:35.3:0.484

the command is bcftools-1.9/bcftools filter -o filter.2 -m x -e 'INFO/non_cancer_AF_eas>0.1 && INFO/non_cancer_AF_eas!="."' test.vcf

the result is chr1 732994 rs138476838 G A 1032.78 PASS DB;ECNT=1;FS=0;HCNT=1;MAX_ED=.;MIN_ED=.;NLOD=0;NLODF=0;SOR=0.616;TLOD=109.58;ANNOVAR_DATE=2016-02-01;EAS_AF=0.24;CHS_AF=0.28095;CDX_AF=0.23000;CHB_AF=0.29048;CH_AF=0.26774;non_cancer_AC_eas=.;non_cancer_AN_eas=.;non_cancer_AF_eas=.;ALLELE_END GT:AD:AF:AFDP:ALTHC:ALT_F1R2:ALT_F2R1:BaseQRankSumPS:ClippingRankSumPS:DPHC:FOXOG:MQRankSumPS:NBQPS:QSS:REF_F1R2:REF_F2R1:ReadPosEndDistPS:ReadPosRankSumPS 0/1:80,50:0.394:94:50:20:30:6.532:0:128:0.4:-6.858:34.473:2580,1739:32:48:35.3:0.484 chr1 962085 rs767043015 A C 136.39 PASS DB;ECNT=4;FS=74.538;HCNT=3;MAX_ED=17;MIN_ED=5;NLOD=0;NLODF=0;SOR=5.889;TLOD=19.94;ANNOVAR_DATE=2016-02-01;EAS_AF=.;CHS_AF=.;CDX_AF=.;CHB_AF=.;CH_AF=.;non_cancer_AC_eas=777;non_cancer_AN_eas=4578;non_cancer_AF_eas=0.169725;ALLELE_END GT:AD:AF:AFDP:ALTHC:ALT_F1R2:ALT_F2R1:BaseQRankSumPS:ClippingRankSumPS:DPHC:FOXOG:MQRankSumPS:NBQPS:PGT:PID:QSS:REF_F1R2:REF_F2R1:ReadPosEndDistPS:ReadPosRankSumPS 0/1:447,30:0.022:459:36:10:20:0.29:0:511:0.667:0:31.069:0|1:962073_G_GCCC:14146,974:194:253:31.597:-6.014

pd3 commented 4 years ago

Uh, could you please create a proper VCF, possibly sending it offline if there is no other way? The full header must be present for the testing as that may change the outcome. My email address is on the profile page.