Y4X2CGFKO6ZYMC4MU43CKFQGLHOO45KPCZXXIYD7RL7LYQCVXIQQC
JJ4KXENNDW2GGB6NP5ZJM6QLSMYFULX2QVCVMOG52OTS2BWRIDQAC
DFVVNGNOV4PHKNZ4EPD7RWWP6VTXRUGBVP66UIF2YCH6YAVHW3LAC
53VZNTMB2MXOF67IOCU2LFKVIB3M5HXT5DE4G2QL66W33SK7U5QAC
RHWQQAAHNHFO3FLCGVB3SIDKNOUFJGZTDNN57IQVBMXXCWX74MKAC
ZZPVFXEHFL3QNDP4AMCX5OFVDJUO6NR5MNYH2EUW2DL2R3OG6SIQC
FXA3ZBV64FML7W47IPHTAJFJHN3J3XHVHFVNYED47XFSBIGMBKRQC
GZTJGHVAMN425GOH4JX5XAIML6CQ5WGTZ4JHTL5YRTNC7NR6RVWAC
YRRR242PJDEY7YM4KMF73QV5ITG6HBANXLNL7OA5PZPH7IZFN33QC
E6IT367DUB6XHDSF5QHCFQNLUBCHPPBW4NTVYSUNGVRO7N42MYMQC
GKG3LEQDLFB5YKEI5DZMJS6FKZRSM6L54ZB6ZMQVSNIZ7SFU7UGAC
YWWEIWM4CNSJTZE2FPFYBB3OMQOP62BKPL5PXEDUL5M3KLNRJQ3QC
* <2023-02-24 Fri> Running
25min
***** TODO Filtrer variants introniques de référence avec vep
****** TODO variant calling seulf + seulement -f: nombreux FP
******* TODO Filtrer variants introniques de référence avec vep
******** TODO variant calling seulf + seulement -f: nombreux FP
****** TODO Comparer avec stats de NA12878 dans example/happy sur chr21 (exons fournis)
Résultats
| Type | Filter | TRUTH.TOTAL | TRUTH.TP | TRUTH.FN | QUERY.TOTAL | QUERY.FP | QUERY.UNK | FP.gt | FP.al | METRIC.Recall | METRIC.Precision |
| INDEL | ALL | 8530 | 8247 | 283 | 14509 | 231 | 5835 | 18 | 141 | 0.966823 | 0.973369 |
| INDEL | PASS | 8530 | 8247 | 283 | 14483 | 231 | 5809 | 18 | 141 | 0.966823 | 0.973369 |
| SNP | ALL | 49913 | 49466 | 447 | 70641 | 69 | 21118 | 40 | 9 | 0.991044 | 0.998607 |
| SNP | PASS | 49913 | 49465 | 448 | 70551 | 69 | 21029 | 40 | 9 | 0.991024 | 0.998607 |
Commande
#+begin_src
hap.py pg-hg38.bcf NA12878-GATK3-chr21.vcf.gz -f pg-hg38-conf.bed.gz -r hg38.chr21.fa -o GATK3-xcmp --roc QUAL --roc-filter LowQual
#+end_src
En filtrant les exons avec le bed fourni
#+begin_src
hap.py pg-hg38.bcf NA12878-GATK3-chr21.vcf.gz -f pg-hg38-conf.bed.gz -r hg38.chr21.fa -T exons_hg38.bed.gz -o lol
#+end_src
Type Filter TRUTH.TOTAL TRUTH.TP TRUTH.FN QUERY.TOTAL QUERY.FP QUERY.UNK FP.gt FP.al METRIC.Recall METRIC.Precision METRIC.Frac_NA METRIC.F1_Score TRUTH.TOTAL.TiTv_ratio QUERY.TOTAL.TiTv_ratio TRUTH.TOTAL.het_hom_ratio QUERY.TOTAL.het_hom_ratio
INDEL ALL 97 96 1 138 2 37 0 0 0.989691 0.980198
INDEL PASS 97 96 1 138 2 37 0 0 0.989691 0.980198
SNP ALL 638 636 2 674 0 38 0 0 0.996865 1.000000
SNP PASS 638 636 2 674 0 38 0 0 0.996865 1.000000
***** Comparer avec stats de NA12878 dans example/happy sur chr21
Résultats
| Type | Filter | TRUTH.TOTAL | TRUTH.TP | TRUTH.FN | QUERY.TOTAL | QUERY.FP | QUERY.UNK | FP.gt | FP.al | METRIC.Recall | METRIC.Precision |
| INDEL | ALL | 8530 | 8247 | 283 | 14509 | 231 | 5835 | 18 | 141 | 0.966823 | 0.973369 |
| INDEL | PASS | 8530 | 8247 | 283 | 14483 | 231 | 5809 | 18 | 141 | 0.966823 | 0.973369 |
| SNP | ALL | 49913 | 49466 | 447 | 70641 | 69 | 21118 | 40 | 9 | 0.991044 | 0.998607 |
| SNP | PASS | 49913 | 49465 | 448 | 70551 | 69 | 21029 | 40 | 9 | 0.991024 | 0.998607 |
La décomposition de xcmp est
45515163 TAA -> T
45515164 AA -> A
NB: testée avec pre.py
#+begin_src
grep '^#' NA12878_NIST7035_DP_over_30.vcf > NA12878_NIST7035_DP_over_30_chr21.vcf
grep '^NC_000021' NA12878_NIST7035_DP_over_30.vcf >> NA12878_NIST7035_DP_over_30_chr21.vcf
hap.py pg-hg38.bcf NA12878-GATK3-chr21.vcf.gz -f pg-hg38-conf.bed.gz -r hg38.chr21.fa -o GATK3-xcmp --roc QUAL --roc-filter LowQual
grep "^#" NA12878_NIST7035_DP_over_30_chr21.vcf > test_align.vcf
grep 45515163 NA12878_NIST7035_DP_over_30_chr21.vcf >> test_align.vcf.gz
bgzip test_align.vcf.gz
bcftools index test_align.vcf.gz
multimerge test_align.vcf.gz -o out.vcf.gz -r GCA_000001405.15_GRCh38_no_alt_analysis_set.fasta
#+end_src
Idem... Si on utile un genome de référence plus récent ?
#+begin_src
multimerge test_align.vcf.gz -o out.vcf.gz -r /Work/Groups/bisonex/data/genome/GRCh38.p13/genomeRef.fna --process-full=1
En filtrant les exons avec le bed fourni
Selected score threshold using: maximized F-measure
Threshold True-pos-baseline True-pos-call False-pos False-neg Precision Sensitivity F-measure
----------------------------------------------------------------------------------------------------
99.000 0 0 1 54828 0.0000 0.0000 0.0000
None 0 0 1 54828 0.0000 0.0000 0.0000
On essaie les différentes étapes
hap.py pg-hg38.bcf NA12878-GATK3-chr21.vcf.gz -f pg-hg38-conf.bed.gz -r hg38.chr21.fa -T exons_hg38.bed.gz -o lol
multimerge test_align.vcf.gz -o out.vcf.gz -r /Work/Groups/bisonex/data/genome/GRCh38.p13/genomeRef.fna --homref-split 1 --homref-vcf-out 1 --trimalleles 1 --splitalleles 1
Type Filter TRUTH.TOTAL TRUTH.TP TRUTH.FN QUERY.TOTAL QUERY.FP QUERY.UNK FP.gt FP.al METRIC.Recall METRIC.Precision METRIC.Frac_NA METRIC.F1_Score TRUTH.TOTAL.TiTv_ratio QUERY.TOTAL.TiTv_ratio TRUTH.TOTAL.het_hom_ratio QUERY.TOTAL.het_hom_ratio
INDEL ALL 97 96 1 138 2 37 0 0 0.989691 0.980198
INDEL PASS 97 96 1 138 2 37 0 0 0.989691 0.980198
SNP ALL 638 636 2 674 0 38 0 0 0.996865 1.000000
SNP PASS 638 636 2 674 0 38 0 0 0.996865 1.000000
Après réflexion, c'est la référence qui n'est pas normalisée ! (left-trimmed)
******** NC_000021.9 14108836 T -> C
Dans le bam mais filtré par DP
******* variant calling seul : meilleur score pour l'instant
| Type | Filter | TRUTH.TOTAL | TRUTH.TP | TRUTH.FN | QUERY.TOTAL | QUERY.FP | QUERY.UNK | FP.gt | FP.al | METRIC.Recall | METRIC.Precision
| INDEL | ALL | 76 | 43 | 33 | 82 | 18 | 20 | 3 | 5 | 0.565789 | 0.709677
| INDEL | PASS | 76 | 43 | 33 | 82 | 18 | 20 | 3 | 5 | 0.565789 | 0.709677
| SNP | ALL | 582 | 448 | 134 | 530 | 25 | 57 | 6 | 1 | 0.769759 | 0.947146
| SNP | PASS | 582 | 448 | 134 | 530 | 25 | 57 | 6 | 1 | 0.769759 | 0.947146
| METRIC.Frac_NA | METRIC.F1_Score | TRUTH.TOTAL.TiTv_ratio | QUERY.TOTAL.TiTv_ratio | TRUTH.TOTAL.het_hom_ratio | QUERY.TOTAL.het_hom_ratio |
| 0.243902 | 0.629617 | | | 1.1818181818181819 | 1.6129032258064515 |
| 0.243902 | 0.629617 | | | 1.1818181818181819 | 1.6129032258064515 |
| 0.107547 | 0.849289 | 3.0985915492957745 | 2.925925925925926 | 1.5304347826086957 | 1.774869109947644 |
| 0.107547 | 0.849289 | 3.0985915492957745 | 2.925925925925926 | 1.5304347826086957 | 1.774869109947644 |