5K375NP7U7JITYTRY2SOW3PQ6C5FTJIPCVGLQZ2SH3SQ5HVGCWHQC
X54SCM4CJGBLTUD4UPHVDKVAQHXDCRSWSRSQKLTMO2A32ZPXM6AAC
XBXXQ7NGCA2AM7F6DODF75VNIA52J3MNYSLNAYRRC2KKYJUVCN2QC
FXA3ZBV64FML7W47IPHTAJFJHN3J3XHVHFVNYED47XFSBIGMBKRQC
JH5INW2G6JKUQ3QD2VMSAFEIGUUBCBD5RJGSQOVEVF3I7BKL7SKQC
O4565WQJKB644FRWRUCF3PWAK42RQKWV6VVACUKNJSBTAZ3KVI6QC
7QZFNLKX5KPVSNHNKKVIBWNSWHLR2WH5N7MTB66O5QJ2WI4XV4WAC
OCOSI7GGMNSCDI2BSQLDOXZX5PS2FY4DHPAPKZ3RFAWZAOTPELJQC
7NDZXAGUWT2JOXEDHCP7OGVNLC7XUNJ2MNEBKDJKSJ2ZFL5HF4YAC
3LLSOLDOJ5OSKQN2DKYHYGWTBUJAC5KPRX2SAVNARRUYCPRM44RQC
:00>
:LOGBOOK:
CLOCK: [2023-07-30 Sun 19:13]--[2023-07-30 Sun 20:50] => 1:37
:END:
Modification nécessaire pour kent :
- plus de patch
- suppression d'une boucle dans postPatch
On supprime aussi NIX_BUILD_TOP
*** DONE [[https://github.com/NixOS/nixpkgs/pull/186459][BioDBHTS]]
CLOSED: [2023-05-06 Sat 08:49] SCHEDULED: <2023-04-15 Sat>
/Entered on/ [2022-08-10 Wed 14:28]
Correction pour review faites <2022-10-10 Mon>
*** DONE [[https://github.com/NixOS/nixpkgs/pull/186464][BioExtAlign]]
CLOSED: [2022-10-22 Sat 12:43] SCHEDULED: <2022-08-10 Wed>
/Entered on/ [2022-08-10 Wed 14:28]
Review <2022-10-10 Mon>, correction dans la journée.
Correction 2e passe, attente
Impossible de faire marcher les tests Car il ne trouve pas le module Bio::Tools::Align, qui est dans un dossier ailleurs dans le dépôt. Même en compilant tout le dépôt, cela ne fonctionne pas... On skip les tests.
*** TODO VEP
** WAIT [[https://github.com/NixOS/nixpkgs/pull/230394][rtg-tools]] :vcfeval:
Soumis
** WAIT Package Spip https://github.com/NixOS/nixpkgs/pull/247476
** TODO Happy :happy:
*** PROJ PR python 3 upstream
*** PROJ nixpkgs en l'état
** TODO Bamsurgeon
/Entered on/ [2023-05-13 Sat 19:11]
*** TODO Velvet
** TODO PR Picard avec option pour gérer la mémoire
Similaire à
https://github.com/bioconda/bioconda-recipes/blob/master/recipes/picard/picard.sh
* Julia :julia:
** KILL XAM.jl: PR pour modification record :julia:
CLOSED: [2023-05-29 Mon 15:40] SCHEDULED: <2023-05-28 Sun>
/Entered on/ [2023-05-27 Sat 22:39]
** TODO XAMscissors.jl :xamscissors:
Modification de la séquence dans BAM.
*Pas de mise à jour de CIGAR*
On convertit en fastq et on lance le pipeline pour "corriger"
#+begin_src sh
cd /home/alex/code/bisonex/out/63003856/preprocessing/mapped
samtools view 63003856_S135.bam NC_000022.11 -o 63003856_S135_chr22.bam
cd /home/alex/recherche/bisonex/code/BamScissors.jl
cp ~/code/bisonex/out/63003856/preprocessing/mapped/63003856_S135_chr22.bam .
samtools index 63003856_chr22.bam
#+end_src
Le script va modifier le bam, le trier et générer le fastq. !!!
Attention: ne pas oublier l'option -n !!!
#+begin_src sh
time julia --project=.. insertVariant.jl
scp 63003856_S135_chr22_{1,2}.fq.gz meso:/Work/Users/apraga/bisonex/tests/bamscissors/
#+end_src
*** WAIT Implémenter les SNV avec VAF :snv:
Stratégie :
1. calculer la profondeur sur les positions
2. créer un dictionnaire { nom du reads : position dataframe }
3. itérer sur tous les reads et changer ceux marqués
**** DONE VAF = 1
CLOSED: [2023-05-29 Mon 15:34]
**** DONE VAF selon loi normale
CLOSED: [2023-05-29 Mon 15:35]
Tronquée si > 1
**** WAIT Tests unitaires
***** DONE NA12878: 1 gène sur chromosome 22
CLOSED: [2023-05-30 Tue 23:55]
root = "https://ftp-trace.ncbi.nlm.nih.gov/ReferenceSamples/giab/data/NA12878/Garvan_NA12878_HG001_HiSeq_Exome/"
#+begin_src sh
samtools view project.NIST_NIST7035_H7AP8ADXX_NA12878.bwa.markDuplicates.bam chr22 -o project.NIST_NIST7035_H7AP8ADXX_NA12878_chr22.bam
samtools view project.NIST_NIST7035_H7AP8ADXX_NA12878_chr22.bam chr22:19419700-19424000 -o NIST7035_H7AP8ADXX_NA12878_chr22_MRPL40_hg19.bam
#+end_src
***** WAIT Pull request formatspeciment
https://github.com/BioJulia/FormatSpecimens.jl/pull/8
***** DONE Formatspecimens
CLOSED: [2023-05-29 Mon 23:03]
****** DONE 1 read
CLOSED: [2023-05-29 Mon 23:02]
****** DONE VAF sur 1 exon
CLOSED: [2023-05-29 Mon 23:03]
**** TODO [#A] Bug: perte de nombreux reads avec NA12878
SCHEDULED: <2023-08-18 Fri>
Ex: chrX:g.124056226T>G : on passe de 65 reads à 1
*** TODO Implémenter les indel avec VAF :indel:
*** TODO Soumission paquet
* Données
:PROPERTIES:
:CATEGORY: data
:END:
** DONE Remplacer bam par fastq sur mesocentre
CLOSED: [2023-04-16 Sun 16:33]
Commande
*** DONE Supprimer les fastq non "paired"
CLOSED: [2023-04-16 Sun 16:33]
nushell
Liste des fastq avec "paired-end" manquant
#+begin_src nu
ls **/*.fastq.gz | get name | path basename | split column "_" | get column1 | uniq -u | save single.txt
#+end_src
#+RESULTS:
: 62907927
: 62907970
: 62899606
: 62911287
: 62913201
: 62914084
: 62915905
: 62921595
: 62923065
: 62925220
: 62926503
: 62926502
: 62926500
: 62926499
: 62926498
: 62931719
: 62943423
: 62943400
: 62948290
: 62949205
: 62949206
: 62949118
: 62951284
: 62960792
: 62960785
: 62960787
: 62960617
: 62962561
: 62962692
: 62967473
: 62972194
: 62979102
On vérifie
#+begin_src nu
open single.txt | lines | each {|e| ls $"fastq/*_($in)/*" | get 0 }
open single.txt | lines | each {|e| ls $"fastq/*_($in)/*" | get 0.name } | path basename | split column "_" | get column1 | uniq -c
#+end_src
On met tous dans un dossier (pas de suppression )
#+begin_src
open single.txt | lines | each {|e| ls $"fastq/*_($in)/*" | get 0 } | each {|e| ^mv $e.name bad-fastq/}
#+end_src
On vérifie que les dossiier sont videsj
open single.txt | lines | each {|e| ls $"fastq/*_($in)" | get 0.name } | ^ls -l $in
Puis on supprime
open single.txt | lines | each {|e| ls $"fastq/*_($in)" | get 0.name } | ^rm -r $in
*** DONE Supprimer bam qui ont des fastq
CLOSED: [2023-04-16 Sun 16:33]
On liste les identifiants des fastq et bam dans un tableau avec leur type :
#+begin_src
let fastq = (ls fastq/*/*.fastq.gz | get name | parse "{dir}/{full_id}/{id}_{R}_001.fastq.gz" | select dir id | uniq )
let bam = (ls bam/*/*.bam | get name | parse "{dir}/{full_id}/{id}_{S}.bqrt.bam" | select dir id)
#+end_src
On groupe les résultat par identifiant (résultats = liste de records qui doit être convertie en table)
et on trie ceux qui n'ont qu'un fastq ou un bam
#+begin_src
let single = ( $bam | append $fastq | group-by id | transpose id files | get files | where {|x| ($x | length) == 1})
#+end_src
On convertit en table et on récupère seulement les bam
#+begin_src
$single | reduce {|it, acc| $acc | append $it} | where dir == bam | get id | each {|e| ^ls $"bam/*_($e)/*.bam"}
#+end_src
#+RESULTS:
: bam/2100656174_62913201/62913201_S52.bqrt.bam
: bam/2100733271_62925220/62925220_S33.bqrt.bam
: bam/2100738763_62926502/62926502_S108.bqrt.bam
: bam/2100746726_62926498/62926498_S105.bqrt.bam
: bam/2100787936_62931955/62931955_S4.bqrt.bam
: bam/2200066374_62948290/62948290_S130.bqrt.bam
: bam/2200074722_62948298/62948298_S131.bqrt.bam
: bam/2200074990_62948306/62948306_S218.bqrt.bam
: bam/2200214581_62967331/62967331_S267.bqrt.bam
: bam/2200225399_62972187/62972187_S85.bqrt.bam
: bam/2200293962_62979117/62979117_S63.bqrt.bam
: bam/2200423985_62999352/62999352_S1.bqrt.bam
: bam/2200495073_63010427/63010427_S20.bqrt.bam
: bam/2200511274_63012586/63012586_S114.bqrt.bam
: bam/2200669188_63036688/63036688_S150.bqrt.bam
* Nouveau workflow :workflow:
** TODO Bases de données
*** KILL Nix pour télécharger les données brutes
**** Conclusion
Non viable sur cluster car en dehors de /nix/store
On peut utiliser des symlink mais trop compliqué
**** KILL Axel au lieu de curl pour gérer les timeout?
CLOSED: [2022-08-19 Fri 15:18]
*** DONE Tester patch de @pennae pour gros fichiers
SCHEDULED: <2022-08-19 Fri>
*** KILL Télécharger les données avec nextflow: hg38
CLOSED: [2023-06-12 Mon 23:29]
**** DONE Genome de référence
**** DONE dbSNP
**** DONE VEP 20G
CLOSED: [2023-06-12 Mon 23:29]
Ajout vérification checksum -> à vérifier
**** DONE VEP version 1.10
CLOSED: [2023-08-06 Sun 09:45] SCHEDULED: <2023-08-06 Sun>
**** DONE transcriptome (spip)
CLOSED: [2023-06-12 Mon 23:29]
Rajouter checksum manuel
**** KILL Refseq
**** KILL OMIM
CLOSED: [2023-06-12 Mon 23:29]
codé, à vérifier
**** KILL ACMG incidental
CLOSED: [2023-06-12 Mon 23:29]
*** TODO Données :T2T:
:PROPERTIES:
:ID: 5d915178-ca96-44ef-87f1-6702af114f2b
:END:
**** DONE fasta
CLOSED: [2023-06-12 Mon 23:30]
***** DONE compatibilité hg38
CLOSED: [2023-06-12 Mon 23:30]
**** DONE fasta index
CLOSED: [2023-06-13 Tue 00:07]
***** DONE compatibilité hg38
CLOSED: [2023-06-13 Tue 00:07]
**** DONE fasta dictionnaire
CLOSED: [2023-06-13 Tue 00:07]
**** DONE db
:00>
:LOGBOOK:
CLOCK: [2023-07-30 Sun 19:13]--[2023-07-30 Sun 20:50] => 1:37
:END:
Modification nécessaire pour kent :
- plus de patch
- suppression d'une boucle dans postPatch
On supprime aussi NIX_BUILD_TOP
*** DONE [[https://github.com/NixOS/nixpkgs/pull/186459][BioDBHTS]]
CLOSED: [2023-05-06 Sat 08:49] SCHEDULED: <2023-04-15 Sat>
/Entered on/ [2022-08-10 Wed 14:28]
Correction pour review faites <2022-10-10 Mon>
*** DONE [[https://github.com/NixOS/nixpkgs/pull/186464][BioExtAlign]]
CLOSED: [2022-10-22 Sat 12:43] SCHEDULED: <2022-08-10 Wed>
/Entered on/ [2022-08-10 Wed 14:28]
Review <2022-10-10 Mon>, correction dans la journée.
Correction 2e passe, attente
Impossible de faire marcher les tests Car il ne trouve pas le module Bio::Tools::Align, qui est dans un dossier ailleurs dans le dépôt. Même en compilant tout le dépôt, cela ne fonctionne pas... On skip les tests.
*** TODO VEP
** WAIT [[https://github.com/NixOS/nixpkgs/pull/230394][rtg-tools]] :vcfeval:
Soumis
** WAIT Package Spip https://github.com/NixOS/nixpkgs/pull/247476
** TODO Happy :happy:
*** PROJ PR python 3 upstream
*** PROJ nixpkgs en l'état
** TODO Bamsurgeon
/Entered on/ [2023-05-13 Sat 19:11]
*** TODO Velvet
** TODO PR Picard avec option pour gérer la mémoire
Similaire à
https://github.com/bioconda/bioconda-recipes/blob/master/recipes/picard/picard.sh
* Julia :julia:
** KILL XAM.jl: PR pour modification record :julia:
CLOSED: [2023-05-29 Mon 15:40] SCHEDULED: <2023-05-28 Sun>
/Entered on/ [2023-05-27 Sat 22:39]
** TODO XAMscissors.jl :xamscissors:
Modification de la séquence dans BAM.
*Pas de mise à jour de CIGAR*
On convertit en fastq et on lance le pipeline pour "corriger"
#+begin_src sh
cd /home/alex/code/bisonex/out/63003856/preprocessing/mapped
samtools view 63003856_S135.bam NC_000022.11 -o 63003856_S135_chr22.bam
cd /home/alex/recherche/bisonex/code/BamScissors.jl
cp ~/code/bisonex/out/63003856/preprocessing/mapped/63003856_S135_chr22.bam .
samtools index 63003856_chr22.bam
#+end_src
Le script va modifier le bam, le trier et générer le fastq. !!!
Attention: ne pas oublier l'option -n !!!
#+begin_src sh
time julia --project=.. insertVariant.jl
scp 63003856_S135_chr22_{1,2}.fq.gz meso:/Work/Users/apraga/bisonex/tests/bamscissors/
#+end_src
*** WAIT Implémenter les SNV avec VAF :snv:
Stratégie :
1. calculer la profondeur sur les positions
2. créer un dictionnaire { nom du reads : position dataframe }
3. itérer sur tous les reads et changer ceux marqués
**** DONE VAF = 1
CLOSED: [2023-05-29 Mon 15:34]
**** DONE VAF selon loi normale
CLOSED: [2023-05-29 Mon 15:35]
Tronquée si > 1
**** WAIT Tests unitaires
***** DONE NA12878: 1 gène sur chromosome 22
CLOSED: [2023-05-30 Tue 23:55]
root = "https://ftp-trace.ncbi.nlm.nih.gov/ReferenceSamples/giab/data/NA12878/Garvan_NA12878_HG001_HiSeq_Exome/"
#+begin_src sh
samtools view project.NIST_NIST7035_H7AP8ADXX_NA12878.bwa.markDuplicates.bam chr22 -o project.NIST_NIST7035_H7AP8ADXX_NA12878_chr22.bam
samtools view project.NIST_NIST7035_H7AP8ADXX_NA12878_chr22.bam chr22:19419700-19424000 -o NIST7035_H7AP8ADXX_NA12878_chr22_MRPL40_hg19.bam
#+end_src
***** WAIT Pull request formatspeciment
https://github.com/BioJulia/FormatSpecimens.jl/pull/8
***** DONE Formatspecimens
CLOSED: [2023-05-29 Mon 23:03]
****** DONE 1 read
CLOSED: [2023-05-29 Mon 23:02]
****** DONE VAF sur 1 exon
CLOSED: [2023-05-29 Mon 23:03]
**** DONE [#A] Bug: perte de nombreux reads avec NA12878
CLOSED: [2023-08-19 Sat 20:45] SCHEDULED: <2023-08-18 Fri>
:PROPERTIES:
:ID: 5c1c36f3-f68e-4e6d-a7b6-61dca89abc37
:END:
Ex: chrX:g.124056226 : on passe de 65 reads à 1
Test xamscissors: pas de soucis...
On teste sur cette position +/- 200bp
#+begin_src sh :dir /home/alex/roam/research/bisonex/code/sanger
samtools view /home/alex/code/bisonex/out/2300346867_NA12878-63118093_S260-GRCh38/preprocessing/mapped/2300346867_NA12878-63118093_S260-GRCh38.bam chrX:124056026-124056426 -o chrXsmall.bam
#+end_src
#+RESULTS:
***** DONE Vérifier profondeur avec dernière version :
CLOSED: [2023-08-19 Sat 20:34] SCHEDULED: <2023-08-19 Sat>
****** DONE chr20: profondeur ok
SCHEDULED: <2023-08-19 Sat>
****** DONE toutes les données
CLOSED: [2023-08-19 Sat 20:34] SCHEDULED: <2023-08-19 Sat>
Ok pour 7 variants (IGV) notament chromosome X
*** TODO Implémenter les indel avec VAF :indel:
*** TODO Soumission paquet
* Données
:PROPERTIES:
:CATEGORY: data
:END:
** DONE Remplacer bam par fastq sur mesocentre
CLOSED: [2023-04-16 Sun 16:33]
Commande
*** DONE Supprimer les fastq non "paired"
CLOSED: [2023-04-16 Sun 16:33]
nushell
Liste des fastq avec "paired-end" manquant
#+begin_src nu
ls **/*.fastq.gz | get name | path basename | split column "_" | get column1 | uniq -u | save single.txt
#+end_src
#+RESULTS:
: 62907927
: 62907970
: 62899606
: 62911287
: 62913201
: 62914084
: 62915905
: 62921595
: 62923065
: 62925220
: 62926503
: 62926502
: 62926500
: 62926499
: 62926498
: 62931719
: 62943423
: 62943400
: 62948290
: 62949205
: 62949206
: 62949118
: 62951284
: 62960792
: 62960785
: 62960787
: 62960617
: 62962561
: 62962692
: 62967473
: 62972194
: 62979102
On vérifie
#+begin_src nu
open single.txt | lines | each {|e| ls $"fastq/*_($in)/*" | get 0 }
open single.txt | lines | each {|e| ls $"fastq/*_($in)/*" | get 0.name } | path basename | split column "_" | get column1 | uniq -c
#+end_src
On met tous dans un dossier (pas de suppression )
#+begin_src
open single.txt | lines | each {|e| ls $"fastq/*_($in)/*" | get 0 } | each {|e| ^mv $e.name bad-fastq/}
#+end_src
On vérifie que les dossiier sont videsj
open single.txt | lines | each {|e| ls $"fastq/*_($in)" | get 0.name } | ^ls -l $in
Puis on supprime
open single.txt | lines | each {|e| ls $"fastq/*_($in)" | get 0.name } | ^rm -r $in
*** DONE Supprimer bam qui ont des fastq
CLOSED: [2023-04-16 Sun 16:33]
On liste les identifiants des fastq et bam dans un tableau avec leur type :
#+begin_src
let fastq = (ls fastq/*/*.fastq.gz | get name | parse "{dir}/{full_id}/{id}_{R}_001.fastq.gz" | select dir id | uniq )
let bam = (ls bam/*/*.bam | get name | parse "{dir}/{full_id}/{id}_{S}.bqrt.bam" | select dir id)
#+end_src
On groupe les résultat par identifiant (résultats = liste de records qui doit être convertie en table)
et on trie ceux qui n'ont qu'un fastq ou un bam
#+begin_src
let single = ( $bam | append $fastq | group-by id | transpose id files | get files | where {|x| ($x | length) == 1})
#+end_src
On convertit en table et on récupère seulement les bam
#+begin_src
$single | reduce {|it, acc| $acc | append $it} | where dir == bam | get id | each {|e| ^ls $"bam/*_($e)/*.bam"}
#+end_src
#+RESULTS:
: bam/2100656174_62913201/62913201_S52.bqrt.bam
: bam/2100733271_62925220/62925220_S33.bqrt.bam
: bam/2100738763_62926502/62926502_S108.bqrt.bam
: bam/2100746726_62926498/62926498_S105.bqrt.bam
: bam/2100787936_62931955/62931955_S4.bqrt.bam
: bam/2200066374_62948290/62948290_S130.bqrt.bam
: bam/2200074722_62948298/62948298_S131.bqrt.bam
: bam/2200074990_62948306/62948306_S218.bqrt.bam
: bam/2200214581_62967331/62967331_S267.bqrt.bam
: bam/2200225399_62972187/62972187_S85.bqrt.bam
: bam/2200293962_62979117/62979117_S63.bqrt.bam
: bam/2200423985_62999352/62999352_S1.bqrt.bam
: bam/2200495073_63010427/63010427_S20.bqrt.bam
: bam/2200511274_63012586/63012586_S114.bqrt.bam
: bam/2200669188_63036688/63036688_S150.bqrt.bam
* Nouveau workflow :workflow:
** TODO Bases de données
*** KILL Nix pour télécharger les données brutes
**** Conclusion
Non viable sur cluster car en dehors de /nix/store
On peut utiliser des symlink mais trop compliqué
**** KILL Axel au lieu de curl pour gérer les timeout?
CLOSED: [2022-08-19 Fri 15:18]
*** DONE Tester patch de @pennae pour gros fichiers
SCHEDULED: <2022-08-19 Fri>
*** KILL Télécharger les données avec nextflow: hg38
CLOSED: [2023-06-12 Mon 23:29]
**** DONE Genome de référence
**** DONE dbSNP
**** DONE VEP 20G
CLOSED: [2023-06-12 Mon 23:29]
Ajout vérification checksum -> à vérifier
**** DONE VEP version 1.10
CLOSED: [2023-08-06 Sun 09:45] SCHEDULED: <2023-08-06 Sun>
**** DONE transcriptome (spip)
CLOSED: [2023-06-12 Mon 23:29]
Rajouter checksum manuel
**** KILL Refseq
**** KILL OMIM
CLOSED: [2023-06-12 Mon 23:29]
codé, à vérifier
**** KILL ACMG incidental
CLOSED: [2023-06-12 Mon 23:29]
*** TODO Données :T2T:
:PROPERTIES:
:ID: 5d915178-ca96-44ef-87f1-6702af114f2b
:END:
**** DONE fasta
CLOSED: [2023-06-12 Mon 23:30]
***** DONE compatibilité hg38
CLOSED: [2023-06-12 Mon 23:30]
**** DONE fasta index
CLOSED: [2023-06-13 Tue 00:07]
***** DONE compatibilité hg38
CLOSED: [2023-06-13 Tue 00:07]
**** DONE fasta dictionnaire
CLOSED: [2023-06-13 Tue 00:07]
**** DONE db
| Don | 89894485 | 159 | 0 | 0.0000000000000 | No | 89894485 |
0.07177992 | Yes | 0.07177992 | Yes |
| chr10 | 89894645 | lol | A | G | . | . | . | NR_028035:g.89894645:A>G | Alter ESR | 35.81 % [28.11 % - 44.1 %] | 0.288 | + | 89894645 | substitution | A>G | Exon 4 | 63 | NR_028035 | FAS | acceptor | 8 | ExonESR | 0 | Outside SPiCE Interpretation | 0 | 0 | No | -1.67753 | 89894644 | Acc | 0.0000003317384 | No | Acc | 89894637 | 7 | 89894644 | 0.0000002205815 | No | 89894637 | 0.02545572 | No | 0.02545572 | No |
| chr10 | 89894645 | lol | A | G | . | . | . | NR_028036:g.89894645:A>G | Alter ESR | 35.81 % [28.11 % - 44.1 %] | 0.288 | + | 89894645 | substitution | A>G | Exon 5 | 63 | NR_028036 | FAS | acceptor | 8 | ExonESR | 0 | Outside SPiCE Interpretation | 0 | 0 | No | -1.67753 | 89894644 | Acc | 0.0000003317384 | No | Acc | 89894637 | 7 | 89894644 | 0.0000002205815 | No | 89894637 | 0.02545572 | No | 0.02545572 | No |
| chr10 | 89894645 | lol | A | G | . | . | . | NR_135313:g.89894645:A>G | Alter ESR | 35.81 % [28.11 % - 44.1 %] | 0.288 | + | 89894645 | substitution | A>G | Exon 5 | 63 | NR_135313 | FAS | acceptor | 8 | ExonESR | 0 | Outside SPiCE Interpretation | 0 | 0 | No | -1.67753 | 89894644 | Acc | 0.0000003317384 | No | Acc | 89894637 | 7 | 89894644 | 0.0000002205815 | No | 89894637 | 0.02545572 | No | 0.02545572 | No |
| chr10 | 89894645 | lol | A | G | . | . | . | NM_001410956:g.89894645:A>G | Alter ESR | 35.81 % [28.11 % - 44.1 %] | 0.288 | + | 89894645 | substitution | A>G | Exon 6 | 63 | NM_001410956 | FAS | acceptor | 8 | ExonESR | 0 | Outside SPiCE Interpretation | 0 | 0 | No | -1.67753 | 89894644 | Acc | 0.0000003317384 | No | Acc | 89894637 | 7 | 89894644 | 0.0000002205815 | No | 89894637 | 0.02545572 | No | 0.02545572 | No |
| chr10 | 89894645 | lol | A | G | . | . | . | NR_135314:g.89894645:A>G | Alter ESR | 35.81 % [28.11 % - 44.1 %] | 0.288 | + | 89894645 | substitution | A>G | Exon 6 | 63 | NR_135314 | FAS | acceptor | 8 | ExonESR | 0 | Outside SPiCE Interpretation | 0 | 0 | No | -1.67753 | 89894644 | Acc | 0.0000003317384 | No | Acc | 89894637 | 7 | 89894644 | 0.0000002205815 | No | 89894637 | 0.02545572 | No | 0.02545572 | No |
| chr10 | 89894645 | lol | A | G | . | . | . | NR_135315:g.89894645:A>G | Alter ESR | 35.81 % [28.11 % - 44.1 %] | 0.288 | + | 89894645 | substitution | A>G | Exon 4 | 63 | NR_135315 | FAS | acceptor | 8 | ExonESR | 0 | Outside SPiCE Interpretation | 0 | 0 | No | -1.67753 | 89894644 | Acc | 0.0000003317384 | No | Acc | 89894637 | 7 | 89894644 | 0.0000002205815 | No | 89894637 | 0.02545572 | No | 0.02545572 | No |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
**** DONE Vérifier multiples transcripts en hg38 avec coordonées génomiquues: ok
CLOSED: [2023-08-10 Thu 23:00]
Beaucoup plus de transcrits en T2T
Ex: 1 transcrit refseq curated
http://genome.ucsc.edu/cgi-bin/hgTracks?db=hg38&lastVirtModeType=default&lastVirtModeExtraState=&virtModeType=default&virtMode=0&nonVirtPosition=&position=chr11%3A108257446%2D108257496&hgsid=1672963428_J5aWAqack2FpJ7mvhFTNVw7bKzxo
vs 2 transcrits en T2T
http://genome.ucsc.edu/cgi-bin/hgTracks?db=hub_3671779_hs1&lastVirtModeType=default&lastVirtModeExtraState=&virtModeType=default&virtMode=0&nonVirtPosition=&position=chr11%3A108264969%2D108265019&hgsid=1672963612_Eso9frdQ7z6RkKkcKsIf2Waq3pec
C'est bien ce qu'on retrouve avec spip
*** DONE [#A] Filtre vep avec spip
CLOSED: [2023-08-13 Sun 00:39] SCHEDULED: <2023-08-12 Sat 19:00>
*** TODO Réordonner les colonnes :annotation:
DEADLINE: <2023-08-19 Sat> SCHEDULED: <2023-08-19 Sat>
Pas d'OMIM, pas de CADD, pas de spliceAI
*** TODO Annotation CADD + spliceAI GRCh38 avec nouvelle version :annotation:
SCHEDULED: <2023-08-19 Sat>
*** DONE OMIM: possible seulement sur nom du gènes:annotation:
CLOSED: [2023-08-13 Sun 11:57] SCHEDULED: <2023-08-13 Sun 16:00>
Base de données non disponible et compliqué de faire la mise à jour nous.
Si on essaie de prendre les gènes de GRCH38, ils ne sont pas forcément en T2T
Ex: DDX11L17 n'existe pas dans T2T à ces coordonées
zgrep DDX11L17 GCF_009914755.1_T2T-CHM13v2.0_genomic.gff.gz
Note: c'est un pseudogene
https://www.genecards.org/cgi-bin/carddisp.pl?gene=DDX11L17
Si on prend les gènes de T2T, il y en a des nouveaux.
Ex: le premier est LOC101928626.
À cette position, rien en GRCh38
Si on essaye avec ENSEMBL: non car n'ont pas le même identifiant
Ex: ACHE
Idéalement, il faudrait l'identifiant NCBI (disponible dans OMIM) mais n'est pas en sortie de VEP
Et cela demande la version "merged" donc impossible en T2T
Est-ce faisable de faire une correspondance sur le nom du gène ?
Tous les gènes de T2T:
#+begin_src sh :dir ~/Downloads
zgrep -o "ID=gene[^;]*;" GCF_009914755.1_T2T-CHM13v2.0_genomic.gff.gz | sed 's/ID=gene-//;s/;//' | sort | uniq > t2t-genes.txt
wc -l t2t-genes.txt
#+end_src
#+RESULTS:
: 57660 t2t-genes.txt
#+begin_src sh :dir ~/Downloads
zgrep -o "ID=gene[^;]*;" GCF_000001405.40_GRCh38.p14_genomic.gff.gz | sed 's/ID=gene-//;s/;//' | sort | uniq > hg38-genes.txt
wc -l hg38-genes.txt
#+end_src
#+RESULTS:
: 67127 hg38-genes.txt
Gènes communs aux 2
#+begin_src sh :dir ~/Downloads
comm -12 t2t-genes.txt hg38-genes.txt | wc -l
#+end_src
#+RESULTS:
: 54506
Gènes uniquements dans t2t
#+begin_src sh :dir ~/Downloads
comm -23 t2t-genes.txt hg38-genes.txt | wc -l
#+end_src
#+RESULTS:
: 3154
Gènes uniquements dans GRCh38
#+begin_src sh :dir ~/Downloads
comm -13 t2t-genes.txt hg38-genes.txt | wc -l
#+end_src
#+RESULTS:
: 12621
*** TODO OMIM sur nom du gène :annotation:
SCHEDULED: <2023-08-19 Sat>
*** TODO Mobidetails API
SCHEDULED: <2023-08-19 Sat>
*** PROJ Franklin API
https://www.postman.com/genoox-ps/workspace/franklin-api-documentation-s-public-workspace/documentation/6621518-4335389d-12e3-445f-8182-339df95b2a09
*** TODO Regarder si clinique disponible avec vep :annotation:
** TODO [#B] Indicateurs qualité :qualité:
*** Idée
Raredisease:
- FastQC : nombreuses statistiques. Non disponible Nix
- Mosdepth : calcule la profondeur (2x plus rapide que samtools depth). Nix
- MultiQC : fusionne juste les résultats des analyses. Non disponible nix
- Picard's CollectM
utipleMetrics, CollectHsMetrics, and CollectWgsMetrics
- Qualimap : alternative fastqc ? Non disponible nix
- Sentieon's WgsMetricsAlgo : propriétaire
- TIDDIT's cov : TIDIT = remaninement chromosomique
Sarek:
- alignment statistics : samtools stats, mosdepth
- QC : MultiQC
MultiQC : non disponible Nix
*** DONE FastqQC
CLOSED: [2023-08-15 Tue 21:43] SCHEDULED: <2023-08-13 Sun>
*** DONE Mosdepth
CLOSED: [2023-08-15 Tue 21:43] SCHEDULED: <2023-08-13 Sun>
Pour exomple, il faut le fichier de capture
subworkflows/local/bam_markduplicates/
*** DONE Samtools stats
CLOSED: [2023-08-15 Tue 21:43] SCHEDULED: <2023-08-13 Sun>
*** DONE [#B] Compte-redu exécution avec MultiQC
CLOSED: [2023-08-15 Tue 21:43] SCHEDULED: <2023-08-13 Sun>
*** TODO Résultats sur NA12878 : 98% à 20x
SCHEDULED: <2023-08-17 Thu>
**** DONE Comprendre 91% à 20x seulement: SNVs inséré
CLOSED: [2023-08-18 Fri 22:25]
***** DONE Tester autre kit : Twist exome comprehensive
CLOSED: [2023-08-18 Fri 22:24]
Moins bon
***** DONE Tester génome sans alt
CLOSED: [2023-08-18 Fri 22:25]
Idem
***** DONE Tester NA12878 sans SNVs inséré: cause !!
CLOSED: [2023-08-18 Fri 22:25]
***** DONE Tester hg19 sur NA12878 non inséré
CLOSED: [2023-08-18 Fri 22:25]
**** TODO Comprendre pourquoi SNVs diminuent le score
SCHEDULED: <2023-08-18 Fri>
** HOLD vérifier si normalisation
** KILL [#B] Vérification nomenclature hgvs :hgvs:
CLOSED: [2023-08-16 Wed 19:07] SCHEDULED: <2023-08-15 Tue>
*** KILL mutalyzer
CLOSED: [2023-08-16 Wed 19:07] SCHEDULED: <2023-08-13 Sun>
*** KILL API variantvalidator
CLOSED: [2023-08-16 Wed 19:07] SCHEDULED: <2023-08-13 Sun>
** DONE Exécution
CLOSED: [2022-09-13 Tue 21:37]
*** KILL test Bionix
*** KILL Implémenter execution avec Nix ?
Voir https://academic.oup.com/gigascience/article/9/11/giaa121/5987272?login=false
pour un exemple.
Probablement plus simple d’utiliser Nix pour gestion de l’environnement et snakemake pour l’exécution
Pas d’accès internet depuis le cluster
*** DONE nextflow
CLOSED: [2022-09-13 Tue 21:37]
**** TODO Bug scheduler SGE
Le job se fait tuer car l'utilisateur n'est pas passé correctement à nextflow
***** DONE Forcer l'utilisateur à l'exécution
CLOSED: [2023-04-01 Sat 17:57]
NXF_OPTS=-D"user.name=alex"
***** DONE Vérifier si le problème persiste avec 22.10.6
CLOSED: [2023-04-01 Sat 18:38] SCHEDULED: <2023-04-01 Sat>
oui
***** KILL Packager l'utilisateur dans le programme ?
Mauvaise idée..
** TODO Preprocessing avec nextflow
*** TODO Map to reference
**** TODO Sample ID dans header
/Work/Users/apraga/bisonex/out/63003856_S135/preprocessing/baserecalibrator
*** DONE Mark duplicate
CLOSED: [2022-10-09 Sun 22:30]
*** DONE Recalibrate base quality score
CLOSED: [2022-10-09 Sun 22:30]
** DONE Variant calling avec Nextflow
CLOSED: [2022-11-19 Sat 21:34]
*** DONE Haplotype caller
CLOSED: [2022-10-09 Sun 22:40]
*** DONE Filter variants
CLOSED: [2022-10-09 Sun 22:40]
*** DONE Filter common snp not clinvar path
CLOSED: [2022-11-07 Mon 23:00]
Voir [[*common dbSNP not clinvar patho][common dbSNP not clinvar patho]]
*** DONE Filter variant only in consensual sequence
CLOSED: [2022-11-08 Tue 22:23]
*** DONE Filter technical variants
CLOSED: [2022-11-19 Sat 21:34]
*** DONE Utilise AVX pour accélerer l'exécution
CLOSED: [2023-04-29 Sat 15:46]
Sans cela, on a l'avertissement
#+begin_quote
17:28:00.720 INFO PairHMM - OpenMP multi-threaded AVX-accelerated native PairHMM implementation is not supported
17:28:00.721 INFO NativeLibraryLoader - Loading libgkl_utils.so from jar:file:/nix/store/cy9ckxqwrkifx7wf02hm4ww1p6lnbxg9-gatk-4.2.4.1/bin/gatk-package-4.2.4.1-local.jar!/com/intel/gkl/native/libgkl_utils.so
17:28:00.733 WARN NativeLibraryLoader - Unable to load libgkl_utils.so from native/libgkl_utils.so (/Work/Users/apraga/bisonex/out/NA12878_NIST7035/preprocessing/applybqsr/libgkl_utils821485189051585397.so: libgomp.so.1: cannot open shared object file: No such file or directory)
17:28:00.733 WARN IntelPairHmm - Intel GKL Utils not loaded
17:28:00.733 WARN PairHMM - ***WARNING: Machine does not have the AVX instruction set support needed for the accelerated AVX PairHmm. Falling back to the MUCH slower LOGLESS_CACHING implementation!
17:28:00.763 INFO ProgressMeter - Starting traversal
#+end_quote
libgomp.so est fourni par gcc donc il faut charger le module
module load gcc@11.3.0/gcc-12.1.0
** KILL Utiliser subworkflow
CLOSED: [2023-04-02 Sun 18:08]
Notre version permet d'être plus souple
*** KILL Alignement
CLOSED: [2023-04-02 Sun 18:08] SCHEDULED: <2023-04-05 Wed>
*** KILL Vep
CLOSED: [2023-04-02 Sun 18:08] SCHEDULED: <2023-04-05 Wed>
vcf_annotate_ensemblvep
** TODO Annotation avec nextflow :annotation:
*** KILL VEP : --gene-phenotype ?
CLOSED: [2023-04-18 mar. 18:32]
Vu avec alexis : bases de données non à jour
https://www.ensembl.org/info/genome/variation/phenotype/sources_phenotype_documentation.html
*** DONE plugin VEP
CLOSED: [2023-04-18 mar. 18:32]
Cloner dépôt git avec plugin
Puis utiliser --dir_plugins
*** HOLD Utiliser code d’Alexis
*** TODO Nouvelle version avec VEP
Example avec --custom
https://www.ensembl.org/info/docs/tools/vep/script/vep_custom.html
**** DONE Ajout spliceAI
CLOSED: [2023-05-18 Thu 11:02] SCHEDULED: <2023-04-30 Sun>
plugin VEP
***** DONE Télécharger les données
CLOSED: [2023-05-11 Thu 19:01]
Difficile d'automatiser, le lien est temporaire...
***** DONE PLugin
CLOSED: [2023-05-11 Thu 20:16]
***** DONE Séparer score en plusieurs colonnes
CLOSED: [2023-05-11 Thu 20:16]
Test avec ce fichier pour avoir une ligne avec annotation et une ligne sans
#CHROM POS ID REF ALT
1 9091 . A C
1 69091 . A C
et
#+begin_src sh
rm -f postvep.tsv* && vep -i testspliceai.vcf.gz -o postvep.tsv --tab --dir 109 --merged --pick --use_given_ref --offline --plugin SpliceAI,snv=spliceai_scores.raw.snv.hg38.vcf.gz,indel=spliceai_scores.raw.indel.hg38.vcf.gz
#+end_src
#+begin_src
$ bgzip postvep.tsv
$ python spliceai.py
$ cat postvep2.tsv
,variation,Location,Allele,Gene,Feature,Feature_type,Consequence,cDNA_position,CDS_position,Protein_position,Amino_acids,Codons,Existing_variation,IMPACT,DISTANCE,STRAND,FLAGS,REFSEQ_MATCH,SOURCE,REFSEQ_OFFSET,SpliceAI_AG,SpliceAI_AL,SpliceAI_DG,SpliceAI_DL
0,1_9091_A/C,1:9091,C,ENSG00000290825,ENST00000456328,Transcript,upstream_gene_variant,-,-,-,-,-,-,MODIFIER,2778,1,-,-,Ensembl,-,,,,
1,1_69091_A/C,1:69091,C,ENSG00000186092,ENST00000641515,Transcript,missense_variant,124,64,22,M/L,Atg/Ctg,-,MODERATE,-,1,-,-,Ensembl,-,0.01,0.00,0.00,0.01
#+end_src
Test
cp work/bf/437ae511958509e43072f032f4d495/small.tab.gz tests/vep-spip.tab.gz
cp work/d5/3b1244b5ae83d54409ee0d456e8c55/small_cadd.tab.gz tests/vep-cadd-splice.tab.gz
**** TODO Package Nix spliceAI ?
nix profile install nixpkgs#python3Packages.tensorflow
+ ajouter dépendencs ("grep import" ou cnad)
**** TODO Ajout LOEUF et pli
plugin VEP
**** TODO NMD
**** KILL Ajout LOEUF
CLOSED: [2023-04-19 mer. 16:32]
plugin VEP
**** DONE Spip
CLOSED: [2023-05-01 Mon 23:07] SCHEDULED: <2023-04-30 Sun>
BED ne semble pas bien marcher (il faut définir une zone)
VCF : trop d’information
Attention, plusieurs transcripts mais résultats identiques. On supprimer les doublons
***** DONE interpretation + score + intervalle de confiance séparé
CLOSED: [2023-05-01 Mon 23:07] SCHEDULED: <2023-04-30 Sun>
Tests :
dans tests/
vep -i 63004925-small.vcf -o postvep.vcf --vcf --fasta genomeRef.fna --dir 109 --merged --pick --offline --custom ../script/spip_annotation.vcf.gz,SPIP,vcf,exact,0,spipInterp,spipScore,spipConfidence
***** DONE Score
CLOSED: [2023-04-22 Sat 15:30]
**** DONE CADD: remplacer par plugin VEP
CLOSED: [2023-05-07 Sun 14:45] SCHEDULED: <2023-05-07 Sun>
***** Test
#+begin_src
vep -i test.vcf -o lol.vcf --offline --dir /Work/Projects/bisonex/data/vep/GRCh38/ --merged --vcf --fasta /Work/Projects/bisonex/data/genome/GRCh38.p13
| Don | 89894485 | 159 | 0 | 0.0000000000000 | No | 89894485 | 0.07177992 | Yes | 0.07177992 | Yes |
| chr10 | 89894645 | lol | A | G | . | . | . | NR_028035:g.89894645:A>G | Alter ESR | 35.81 % [28.11 % - 44.1 %] | 0.288 | + | 89894645 | substitution | A>G | Exon 4 | 63 | NR_028035 | FAS | acceptor | 8 | ExonESR | 0 | Outside SPiCE Interpretation | 0 | 0 | No | -1.67753 | 89894644 | Acc | 0.0000003317384 | No | Acc | 89894637 | 7 | 89894644 | 0.0000002205815 | No | 89894637 | 0.02545572 | No | 0.02545572 | No |
| chr10 | 89894645 | lol | A | G | . | . | . | NR_028036:g.89894645:A>G | Alter ESR | 35.81 % [28.11 % - 44.1 %] | 0.288 | + | 89894645 | substitution | A>G | Exon 5 | 63 | NR_028036 | FAS | acceptor | 8 | ExonESR | 0 | Outside SPiCE Interpretation | 0 | 0 | No | -1.67753 | 89894644 | Acc | 0.0000003317384 | No | Acc | 89894637 | 7 | 89894644 | 0.0000002205815 | No | 89894637 | 0.02545572 | No | 0.02545572 | No |
| chr10 | 89894645 | lol | A | G | . | . | . | NR_135313:g.89894645:A>G | Alter ESR | 35.81 % [28.11 % - 44.1 %] | 0.288 | + | 89894645 | substitution | A>G | Exon 5 | 63 | NR_135313 | FAS | acceptor | 8 | ExonESR | 0 | Outside SPiCE Interpretation | 0 | 0 | No | -1.67753 | 89894644 | Acc | 0.0000003317384 | No | Acc | 89894637 | 7 | 89894644 | 0.0000002205815 | No | 89894637 | 0.02545572 | No | 0.02545572 | No |
| chr10 | 89894645 | lol | A | G | . | . | . | NM_001410956:g.89894645:A>G | Alter ESR | 35.81 % [28.11 % - 44.1 %] | 0.288 | + | 89894645 | substitution | A>G | Exon 6 | 63 | NM_001410956 | FAS | acceptor | 8 | ExonESR | 0 | Outside SPiCE Interpretation | 0 | 0 | No | -1.67753 | 89894644 | Acc | 0.0000003317384 | No | Acc | 89894637 | 7 | 89894644 | 0.0000002205815 | No | 89894637 | 0.02545572 | No | 0.02545572 | No |
| chr10 | 89894645 | lol | A | G | . | . | . | NR_135314:g.89894645:A>G | Alter ESR | 35.81 % [28.11 % - 44.1 %] | 0.288 | + | 89894645 | substitution | A>G | Exon 6 | 63 | NR_135314 | FAS | acceptor | 8 | ExonESR | 0 | Outside SPiCE Interpretation | 0 | 0 | No | -1.67753 | 89894644 | Acc | 0.0000003317384 | No | Acc | 89894637 | 7 | 89894644 | 0.0000002205815 | No | 89894637 | 0.02545572 | No | 0.02545572 | No |
| chr10 | 89894645 | lol | A | G | . | . | . | NR_135315:g.89894645:A>G | Alter ESR | 35.81 % [28.11 % - 44.1 %] | 0.288 | + | 89894645 | substitution | A>G | Exon 4 | 63 | NR_135315 | FAS | acceptor | 8 | ExonESR | 0 | Outside SPiCE Interpretation | 0 | 0 | No | -1.67753 | 89894644 | Acc | 0.0000003317384 | No | Acc | 89894637 | 7 | 89894644 | 0.0000002205815 | No | 89894637 | 0.02545572 | No | 0.02545572 | No |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
**** DONE Vérifier multiples transcripts en hg38 avec coordonées génomiquues: ok
CLOSED: [2023-08-10 Thu 23:00]
Beaucoup plus de transcrits en T2T
Ex: 1 transcrit refseq curated
http://genome.ucsc.edu/cgi-bin/hgTracks?db=hg38&lastVirtModeType=default&lastVirtModeExtraState=&virtModeType=default&virtMode=0&nonVirtPosition=&position=chr11%3A108257446%2D108257496&hgsid=1672963428_J5aWAqack2FpJ7mvhFTNVw7bKzxo
vs 2 transcrits en T2T
http://genome.ucsc.edu/cgi-bin/hgTracks?db=hub_3671779_hs1&lastVirtModeType=default&lastVirtModeExtraState=&virtModeType=default&virtMode=0&nonVirtPosition=&position=chr11%3A108264969%2D108265019&hgsid=1672963612_Eso9frdQ7z6RkKkcKsIf2Waq3pec
C'est bien ce qu'on retrouve avec spip
*** DONE [#A] Filtre vep avec spip
CLOSED: [2023-08-13 Sun 00:39] SCHEDULED: <2023-08-12 Sat 19:00>
*** TODO Réordonner les colonnes :annotation:
SCHEDULED: <2023-08-20 Sun> DEADLINE: <2023-08-19 Sat>
Pas d'OMIM, pas de CADD, pas de spliceAI
*** TODO Annotation CADD + spliceAI GRCh38 avec nouvelle version :annotation:
SCHEDULED: <2023-08-20 Sun>
*** DONE OMIM: possible seulement sur nom du gènes:annotation:
CLOSED: [2023-08-13 Sun 11:57] SCHEDULED: <2023-08-13 Sun 16:00>
Base de données non disponible et compliqué de faire la mise à jour nous.
Si on essaie de prendre les gènes de GRCH38, ils ne sont pas forcément en T2T
Ex: DDX11L17 n'existe pas dans T2T à ces coordonées
zgrep DDX11L17 GCF_009914755.1_T2T-CHM13v2.0_genomic.gff.gz
Note: c'est un pseudogene
https://www.genecards.org/cgi-bin/carddisp.pl?gene=DDX11L17
Si on prend les gènes de T2T, il y en a des nouveaux.
Ex: le premier est LOC101928626.
À cette position, rien en GRCh38
Si on essaye avec ENSEMBL: non car n'ont pas le même identifiant
Ex: ACHE
Idéalement, il faudrait l'identifiant NCBI (disponible dans OMIM) mais n'est pas en sortie de VEP
Et cela demande la version "merged" donc impossible en T2T
Est-ce faisable de faire une correspondance sur le nom du gène ?
Tous les gènes de T2T:
#+begin_src sh :dir ~/Downloads
zgrep -o "ID=gene[^;]*;" GCF_009914755.1_T2T-CHM13v2.0_genomic.gff.gz | sed 's/ID=gene-//;s/;//' | sort | uniq > t2t-genes.txt
wc -l t2t-genes.txt
#+end_src
#+RESULTS:
: 57660 t2t-genes.txt
#+begin_src sh :dir ~/Downloads
zgrep -o "ID=gene[^;]*;" GCF_000001405.40_GRCh38.p14_genomic.gff.gz | sed 's/ID=gene-//;s/;//' | sort | uniq > hg38-genes.txt
wc -l hg38-genes.txt
#+end_src
#+RESULTS:
: 67127 hg38-genes.txt
Gènes communs aux 2
#+begin_src sh :dir ~/Downloads
comm -12 t2t-genes.txt hg38-genes.txt | wc -l
#+end_src
#+RESULTS:
: 54506
Gènes uniquements dans t2t
#+begin_src sh :dir ~/Downloads
comm -23 t2t-genes.txt hg38-genes.txt | wc -l
#+end_src
#+RESULTS:
: 3154
Gènes uniquements dans GRCh38
#+begin_src sh :dir ~/Downloads
comm -13 t2t-genes.txt hg38-genes.txt | wc -l
#+end_src
#+RESULTS:
: 12621
*** TODO OMIM sur nom du gène :annotation:
SCHEDULED: <2023-08-20 Sun>
*** TODO Mobidetails API
SCHEDULED: <2023-08-20 Sun>
*** PROJ Franklin API
https://www.postman.com/genoox-ps/workspace/franklin-api-documentation-s-public-workspace/documentation/6621518-4335389d-12e3-445f-8182-339df95b2a09
*** TODO Regarder si clinique disponible avec vep :annotation:
** TODO [#B] Indicateurs qualité :qualité:
*** Idée
Raredisease:
- FastQC : nombreuses statistiques. Non disponible Nix
- Mosdepth : calcule la profondeur (2x plus rapide que samtools depth). Nix
- MultiQC : fusionne juste les résultats des analyses. Non disponible nix
- Picard's CollectMutipleMetrics, CollectHsMetrics, and CollectWgsMetrics
- Qualimap : alternative fastqc ? Non disponible nix
- Sentieon's WgsMetricsAlgo : propriétaire
- TIDDIT's cov : TIDIT = remaninement chromosomique
Sarek:
- alignment statistics : samtools stats, mosdepth
- QC : MultiQC
MultiQC : non disponible Nix
*** DONE FastqQC
CLOSED: [2023-08-15 Tue 21:43] SCHEDULED: <2023-08-13 Sun>
*** DONE Mosdepth
CLOSED: [2023-08-15 Tue 21:43] SCHEDULED: <2023-08-13 Sun>
Pour exomple, il faut le fichier de capture
subworkflows/local/bam_markduplicates/
*** DONE Samtools stats
CLOSED: [2023-08-15 Tue 21:43] SCHEDULED: <2023-08-13 Sun>
*** DONE [#B] Compte-redu exécution avec MultiQC
CLOSED: [2023-08-15 Tue 21:43] SCHEDULED: <2023-08-13 Sun>
*** DONE Résultats sur NA12878 : 98% à 20x
CLOSED: [2023-08-19 Sat 20:45] SCHEDULED: <2023-08-17 Thu>
**** DONE Comprendre 91% à 20x seulement: SNVs inséré
CLOSED: [2023-08-18 Fri 22:25]
***** DONE Tester autre kit : Twist exome comprehensive
CLOSED: [2023-08-18 Fri 22:24]
Moins bon
***** DONE Tester génome sans alt
CLOSED: [2023-08-18 Fri 22:25]
Idem
***** DONE Tester NA12878 sans SNVs inséré: cause !!
CLOSED: [2023-08-18 Fri 22:25]
***** DONE Tester hg19 sur NA12878 non inséré
CLOSED: [2023-08-18 Fri 22:25]
**** DONE Comprendre pourquoi SNVs diminuent le score: reads manquants
CLOSED: [2023-08-19 Sat 20:34] SCHEDULED: <2023-08-18 Fri>
Voir [[id:5c1c36f3-f68e-4e6d-a7b6-61dca89abc37][Bug: perte de nombreux reads avec NA12878]]
*** TODO Relancer résultats avec NA1287 et NA12878 + sanger
SCHEDULED: <2023-08-19 Sat>
** HOLD vérifier si normalisation
** KILL [#B] Vérification nomenclature hgvs :hgvs:
CLOSED: [2023-08-16 Wed 19:07] SCHEDULED: <2023-08-15 Tue>
*** KILL mutalyzer
CLOSED: [2023-08-16 Wed 19:07] SCHEDULED: <2023-08-13 Sun>
*** KILL API variantvalidator
CLOSED: [2023-08-16 Wed 19:07] SCHEDULED: <2023-08-13 Sun>
** DONE Exécution
CLOSED: [2022-09-13 Tue 21:37]
*** KILL test Bionix
*** KILL Implémenter execution avec Nix ?
Voir https://academic.oup.com/gigascience/article/9/11/giaa121/5987272?login=false
pour un exemple.
Probablement plus simple d’utiliser Nix pour gestion de l’environnement et snakemake pour l’exécution
Pas d’accès internet depuis le cluster
*** DONE nextflow
CLOSED: [2022-09-13 Tue 21:37]
**** TODO Bug scheduler SGE
Le job se fait tuer car l'utilisateur n'est pas passé correctement à nextflow
***** DONE Forcer l'utilisateur à l'exécution
CLOSED: [2023-04-01 Sat 17:57]
NXF_OPTS=-D"user.name=alex"
***** DONE Vérifier si le problème persiste avec 22.10.6
CLOSED: [2023-04-01 Sat 18:38] SCHEDULED: <2023-04-01 Sat>
oui
***** KILL Packager l'utilisateur dans le programme ?
Mauvaise idée..
** TODO Preprocessing avec nextflow
*** TODO Map to reference
**** TODO Sample ID dans header
/Work/Users/apraga/bisonex/out/63003856_S135/preprocessing/baserecalibrator
*** DONE Mark duplicate
CLOSED: [2022-10-09 Sun 22:30]
*** DONE Recalibrate base quality score
CLOSED: [2022-10-09 Sun 22:30]
** DONE Variant calling avec Nextflow
CLOSED: [2022-11-19 Sat 21:34]
*** DONE Haplotype caller
CLOSED: [2022-10-09 Sun 22:40]
*** DONE Filter variants
CLOSED: [2022-10-09 Sun 22:40]
*** DONE Filter common snp not clinvar path
CLOSED: [2022-11-07 Mon 23:00]
Voir [[*common dbSNP not clinvar patho][common dbSNP not clinvar patho]]
*** DONE Filter variant only in consensual sequence
CLOSED: [2022-11-08 Tue 22:23]
*** DONE Filter technical variants
CLOSED: [2022-11-19 Sat 21:34]
*** DONE Utilise AVX pour accélerer l'exécution
CLOSED: [2023-04-29 Sat 15:46]
Sans cela, on a l'avertissement
#+begin_quote
17:28:00.720 INFO PairHMM - OpenMP multi-threaded AVX-accelerated native PairHMM implementation is not supported
17:28:00.721 INFO NativeLibraryLoader - Loading libgkl_utils.so from jar:file:/nix/store/cy9ckxqwrkifx7wf02hm4ww1p6lnbxg9-gatk-4.2.4.1/bin/gatk-package-4.2.4.1-local.jar!/com/intel/gkl/native/libgkl_utils.so
17:28:00.733 WARN NativeLibraryLoader - Unable to load libgkl_utils.so from native/libgkl_utils.so (/Work/Users/apraga/bisonex/out/NA12878_NIST7035/preprocessing/applybqsr/libgkl_utils821485189051585397.so: libgomp.so.1: cannot open shared object file: No such file or directory)
17:28:00.733 WARN IntelPairHmm - Intel GKL Utils not loaded
17:28:00.733 WARN PairHMM - ***WARNING: Machine does not have the AVX instruction set support needed for the accelerated AVX PairHmm. Falling back to the MUCH slower LOGLESS_CACHING implementation!
17:28:00.763 INFO ProgressMeter - Starting traversal
#+end_quote
libgomp.so est fourni par gcc donc il faut charger le module
module load gcc@11.3.0/gcc-12.1.0
** KILL Utiliser subworkflow
CLOSED: [2023-04-02 Sun 18:08]
Notre version permet d'être plus souple
*** KILL Alignement
CLOSED: [2023-04-02 Sun 18:08] SCHEDULED: <2023-04-05 Wed>
*** KILL Vep
CLOSED: [2023-04-02 Sun 18:08] SCHEDULED: <2023-04-05 Wed>
vcf_annotate_ensemblvep
** TODO Annotation avec nextflow :annotation:
*** KILL VEP : --gene-phenotype ?
CLOSED: [2023-04-18 mar. 18:32]
Vu avec alexis : bases de données non à jour
https://www.ensembl.org/info/genome/variation/phenotype/sources_phenotype_documentation.html
*** DONE plugin VEP
CLOSED: [2023-04-18 mar. 18:32]
Cloner dépôt git avec plugin
Puis utiliser --dir_plugins
*** HOLD Utiliser code d’Alexis
*** TODO Nouvelle version avec VEP
Example avec --custom
https://www.ensembl.org/info/docs/tools/vep/script/vep_custom.html
**** DONE Ajout spliceAI
CLOSED: [2023-05-18 Thu 11:02] SCHEDULED: <2023-04-30 Sun>
plugin VEP
***** DONE Télécharger les données
CLOSED: [2023-05-11 Thu 19:01]
Difficile d'automatiser, le lien est temporaire...
***** DONE PLugin
CLOSED: [2023-05-11 Thu 20:16]
***** DONE Séparer score en plusieurs colonnes
CLOSED: [2023-05-11 Thu 20:16]
Test avec ce fichier pour avoir une ligne avec annotation et une ligne sans
#CHROM POS ID REF ALT
1 9091 . A C
1 69091 . A C
et
#+begin_src sh
rm -f postvep.tsv* && vep -i testspliceai.vcf.gz -o postvep.tsv --tab --dir 109 --merged --pick --use_given_ref --offline --plugin SpliceAI,snv=spliceai_scores.raw.snv.hg38.vcf.gz,indel=spliceai_scores.raw.indel.hg38.vcf.gz
#+end_src
#+begin_src
$ bgzip postvep.tsv
$ python spliceai.py
$ cat postvep2.tsv
,variation,Location,Allele,Gene,Feature,Feature_type,Consequence,cDNA_position,CDS_position,Protein_position,Amino_acids,Codons,Existing_variation,IMPACT,DISTANCE,STRAND,FLAGS,REFSEQ_MATCH,SOURCE,REFSEQ_OFFSET,SpliceAI_AG,SpliceAI_AL,SpliceAI_DG,SpliceAI_DL
0,1_9091_A/C,1:9091,C,ENSG00000290825,ENST00000456328,Transcript,upstream_gene_variant,-,-,-,-,-,-,MODIFIER,2778,1,-,-,Ensembl,-,,,,
1,1_69091_A/C,1:69091,C,ENSG00000186092,ENST00000641515,Transcript,missense_variant,124,64,22,M/L,Atg/Ctg,-,MODERATE,-,1,-,-,Ensembl,-,0.01,0.00,0.00,0.01
#+end_src
Test
cp work/bf/437ae511958509e43072f032f4d495/small.tab.gz tests/vep-spip.tab.gz
cp work/d5/3b1244b5ae83d54409ee0d456e8c55/small_cadd.tab.gz tests/vep-cadd-splice.tab.gz
**** TODO Package Nix spliceAI ?
nix profile install nixpkgs#python3Packages.tensorflow
+ ajouter dépendencs ("grep import" ou cnad)
**** TODO Ajout LOEUF et pli
plugin VEP
**** TODO NMD
**** KILL Ajout LOEUF
CLOSED: [2023-04-19 mer. 16:32]
plugin VEP
**** DONE Spip
CLOSED: [2023-05-01 Mon 23:07] SCHEDULED: <2023-04-30 Sun>
BED ne semble pas bien marcher (il faut définir une zone)
VCF : trop d’information
Attention, plusieurs transcripts mais résultats identiques. On supprimer les doublons
***** DONE interpretation + score + intervalle de confiance séparé
CLOSED: [2023-05-01 Mon 23:07] SCHEDULED: <2023-04-30 Sun>
Tests :
dans tests/
vep -i 63004925-small.vcf -o postvep.vcf --vcf --fasta genomeRef.fna --dir 109 --merged --pick --offline --custom ../script/spip_annotation.vcf.gz,SPIP,vcf,exact,0,spipInterp,spipScore,spipConfidence
***** DONE Score
CLOSED: [2023-04-22 Sat 15:30]
**** DONE CADD: remplacer par plugin VEP
CLOSED: [2023-05-07 Sun 14:45] SCHEDULED: <2023-05-07 Sun>
***** Test
#+begin_src
vep -i test.vcf -o lol.vcf --offline --dir /Work/Projects/bisonex/data/vep/GRCh38/ --merged --vcf --fasta /Work/Projects/bisonex/data/genome/GRCh38.p13
N
CLOSED: [2023-07-07 Fri 18:38]
T2T
| Type | Filter | TRUTH.TOTAL | TRUTH.TP | TRUTH.FN | QUERY.TOTAL | QUERY.FP | QUERY.UNK | F
P.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 | 413 | 246 | 167 | 751 | 289 | 215 | 2 | 93 | 0.595642 | 0.460821 | 0.286285 | 0.519629 | NaN | NaN | 2.428571 | 2.465116 |
| INDEL | PASS | 413 | 246 | 167 | 751 | 289 | 215 | 2 | 93 | 0.595642 | 0.460821 | 0.286285 | 0.519629 | NaN | NaN | 2.428571 | 2.465116 |
| SNP | ALL | 11236 | 10985 | 251 | 23597 | 9771 | 2841 | 26 | 58 | 0.977661 | 0.529245 | 0.120397 | 0.686734 | 3.11461 | 2.85705 | 3.640644 | 2.114633 |
| SNP | PASS | 11236 | 10985 | 251 | 23597 | 9771 | 2841 | 26 | 58 | 0.977661 | 0.529245 | 0.120397 | 0.686734 | 3.11461 | 2.85705 | 3.640644 | 2.114633 |
Hg38
| 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 | 549 | 489 | 60 | 899 | 64 | 340 | 8 | 17 | 0.890710 | 0.885510 | 0.378198 | 0.888102 | NaN | NaN | 1.860963 | 2.247273 |
| INDEL | PASS | 549 | 489 | 60 | 899 | 64 | 340 | 8 | 17 | 0.890710 | 0.885510 | 0.378198 | 0.888102 | NaN | NaN | 1.860963 | 2.247273 |
| SNP | ALL | 21973 | 21462 | 511 | 26285 | 563 | 4263 | 68 | 16 | 0.976744 | 0.974435 | 0.162184 | 0.975588 | 3.00711 | 2.784686 | 1.591810 | 1.816145 |
| SNP | PASS | 21973 | 21462 | 511 | 26285 | 563 | 4263 | 68 | 16 | 0.976744 | 0.974435 | 0.162184 | 0.975588 | 3.00711 | 2.784686 | 1.591810 | 1.816145 |
******** Résumé
T2T
| Type | TRUTH.TOTAL | TRUTH.TP | TRUTH.FN | QUERY.TOTAL | QUERY.FP | QUERY.UNK | FP.gt | FP.al | METRIC.Recall | METRIC.Precision |
| INDEL | 413 | 246 | 167 | 751 | 289 | 215 | 2 | 93 | 0.595642 | 0.460821 |
| SNP | 11236 | 10985 | 251 | 23597 | 9771 | 2841 | 26 | 58 | 0.977661 | 0.529245 |
Hg38
| Type | TRUTH.TOTAL | TRUTH.TP | TRUTH.FN | QUERY.TOTAL | QUERY.FP | QUERY.UNK | FP.gt | FP.al | METRIC.Recall | METRIC.Precision |
| INDEL | 549 | 489 | 60 | 899 | 64 | 340 | 8 | 17 | 0.890710 | 0.885510 |
| SNP | 21973 | 21462 | 511 | 26285 | 563 | 4263 | 68 | 16 | 0.976744 | 0.974435 |
****** DONE Interesection des bed: similaire
CLOSED: [2023-07-04 Tue 23:11]
HG38
#+begin_src sh
bedtools intersect -a capture/Agilent_SureSelect_All_Exons_v7_hg38_Regions.bed -b /Work/Groups/bisonex/data/giab/GRCh38/HG001_GRCh38_1_22_v4.2.1_benchmark.bed | wc -l
#+end_src
204280
T2T
#+begin_src sh
bedtools intersect -a /Work/Groups/bisonex/data/giab/T2T/Agilent_SureSelect_All_Exons_v7_hg38_Regions_hg38_T2T.bed -b /Work/Groups/bisonex/data/giab/T2T/HG001_GRCh38_1_22_v4.2.1_benchmark_hg38_T2T.bed | wc -l
#+end_src
204021
****** DONE Vérifier la ligne de commande
CLOSED: [2023-07-04 Tue 23:38]
#+begin_src sh
hap.py \
HG001_GRCh38_1_22_v4_lifted_merged.vcf.gz \
HG001-SRX11061486_SRR14724513-T2T.vcf.gz \
\
--reference chm13v2.0.fa \
--threads 6 \
\
-T Agilent_SureSelect_All_Exons_v7_hg38_Regions_hg38_T2T.bed \
--false-positives HG001_GRCh38_1_22_v4.2.1_benchmark_hg38_T2T.bed \
\
-o HG001
#+end_src
****** DONE Corriger FILTER : mieux mais toujours trop de négatifs. 3/4 SNP retrouvés
CLOSED: [2023-07-08 Sat 15:19] SCHEDULED: <2023-07-08 Sat>
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 413 246 167 751 289 215 2 98 0.595642 0.460821 0.286285 0.519629 NaN NaN 2.428571 2.465116
INDEL PASS 413 246 167 751 289 215 2 98 0.595642 0.460821 0.286285 0.519629 NaN NaN 2.428571 2.465116
SNP ALL 15883 15479 404 23597 5277 2841 46 44 0.974564 0.745760 0.120397 0.844947 3.017198 2.85705 5.560099 2.114633
SNP PASS 15883 15479 404 23597 5277 2841 46 44 0.974564 0.745760 0.120397 0.844947 3.017198 2.85705 5.560099 2.114633
******* DONE Vérifier qu'il ne reste plus de filtre autre que PASS
CLOSED: [2023-07-08 Sat 15:19]
#+begin_src
$ zgrep -c 'PASS' HG001_GRCh38_1_22_v4_lifted_merged.vcf.gz
3730505
$ zgrep -c '^chr' HG001_GRCh38_1_22_v4_lifted_merged.vcf.gz
3730506
#+end_src
****** TODO 1/4 SNP manquant ?
******* DONE Regarder avec Julia si ce sont vraiment des FP: 61/5277 qui ne le sont pas
CLOSED: [2023-07-09 Sun 12:09]
******* DONE Examiner les FP
CLOSED: [2023-07-30 Sun 22:05]
******* DONE Tester un FP
CLOSED: [2023-07-30 Sun 22:05]
2 │ chr1 608765 A G ./.:.:.:.:NOCALL:nocall:. 1/1:FP:.:ti:SNP:homalt:188
liftDown UCSC: rien en GIAB : vrai FP
3 │ chr1 762943 A G ./.:.:.:.:NOCALL:nocall:. 1/1:FP:.:ti:SNP:homalt:287
4 │ chr1 762945 A T ./.:.:.:.:NOCALL:nocall:. 1/1:FP:.:tv:SNP:homalt:287
Remaniements complexes ? Pas dans le gène en HG38
******* DONE La plupart des FP (4705/5566) sont homozygotes: erreur de référence ?
CLOSED: [2023-07-12 Wed 21:10] SCHEDULED: <2023-07-09 Sun>
Sur les 2 premiers variants, ils montrent en fait la différence entre T2T et GRCh38
Erreur à l'alignement ?
******** KILL relancer l'alignement
CLOSED: [2023-07-09 Sun 17:36]
******** DONE vérifier reads identiques hg38 et T2T: oui
CLOSED: [2023-07-09 Sun 16:36]
T2T CHR1608765
38 chr1:1180168-1180168 (
SRR14724513.24448214
SRR14724513.24448214
******* DONE Vérifier quelques variants sur IGV
CLOSED: [2023-07-09 Sun 17:36]
******* KILL Répartition des FP : cluster ?
CLOSED: [2023-07-09 Sun 17:36]
****** DONE Examiner les FP restant après correction selon séquence de référence
CLOSED: [2023-08-12 Sat 15:57]
****** HOLD Examiner les variants supprimé
****** TODO Enlever les FP qui correspondent à un changement dans le génome
******* Condition:
SCHEDULED: <2023-08-19 Sat>
- pas de variation à la position en GRCh38
- variantion homozygote
- la varati
N
CLOSED: [2023-07-07 Fri 18:38]
T2T
| 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 | 413 | 246 | 167 | 751 | 289 | 215 | 2 | 93 | 0.595642 | 0.460821 | 0.286285 | 0.519629 | NaN | NaN | 2.428571 | 2.465116 |
| INDEL | PASS | 413 | 246 | 167 | 751 | 289 | 215 | 2 | 93 | 0.595642 | 0.460821 | 0.286285 | 0.519629 | NaN | NaN | 2.428571 | 2.465116 |
| SNP | ALL | 11236 | 10985 | 251 | 23597 | 9771 | 2841 | 26 | 58 | 0.977661 | 0.529245 | 0.120397 | 0.686734 | 3.11461 | 2.85705 | 3.640644 | 2.114633 |
| SNP | PASS | 11236 | 10985 | 251 | 23597 | 9771 | 2841 | 26 | 58 | 0.977661 | 0.529245 | 0.120397 | 0.686734 | 3.11461 | 2.85705 | 3.640644 | 2.114633 |
Hg38
| 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 | 549 | 489 | 60 | 899 | 64 | 340 | 8 | 17 | 0.890710 | 0.885510 | 0.378198 | 0.888102 | NaN | NaN | 1.860963 | 2.247273 |
| INDEL | PASS | 549 | 489 | 60 | 899 | 64 | 340 | 8 | 17 | 0.890710 | 0.885510 | 0.378198 | 0.888102 | NaN | NaN | 1.860963 | 2.247273 |
| SNP | ALL | 21973 | 21462 | 511 | 26285 | 563 | 4263 | 68 | 16 | 0.976744 | 0.974435 | 0.162184 | 0.975588 | 3.00711 | 2.784686 | 1.591810 | 1.816145 |
| SNP | PASS | 21973 | 21462 | 511 | 26285 | 563 | 4263 | 68 | 16 | 0.976744 | 0.974435 | 0.162184 | 0.975588 | 3.00711 | 2.784686 | 1.591810 | 1.816145 |
******** Résumé
T2T
| Type | TRUTH.TOTAL | TRUTH.TP | TRUTH.FN | QUERY.TOTAL | QUERY.FP | QUERY.UNK | FP.gt | FP.al | METRIC.Recall | METRIC.Precision |
| INDEL | 413 | 246 | 167 | 751 | 289 | 215 | 2 | 93 | 0.595642 | 0.460821 |
| SNP | 11236 | 10985 | 251 | 23597 | 9771 | 2841 | 26 | 58 | 0.977661 | 0.529245 |
Hg38
| Type | TRUTH.TOTAL | TRUTH.TP | TRUTH.FN | QUERY.TOTAL | QUERY.FP | QUERY.UNK | FP.gt | FP.al | METRIC.Recall | METRIC.Precision |
| INDEL | 549 | 489 | 60 | 899 | 64 | 340 | 8 | 17 | 0.890710 | 0.885510 |
| SNP | 21973 | 21462 | 511 | 26285 | 563 | 4263 | 68 | 16 | 0.976744 | 0.974435 |
****** DONE Interesection des bed: similaire
CLOSED: [2023-07-04 Tue 23:11]
HG38
#+begin_src sh
bedtools intersect -a capture/Agilent_SureSelect_All_Exons_v7_hg38_Regions.bed -b /Work/Groups/bisonex/data/giab/GRCh38/HG001_GRCh38_1_22_v4.2.1_benchmark.bed | wc -l
#+end_src
204280
T2T
#+begin_src sh
bedtools intersect -a /Work/Groups/bisonex/data/giab/T2T/Agilent_SureSelect_All_Exons_v7_hg38_Regions_hg38_T2T.bed -b /Work/Groups/bisonex/data/giab/T2T/HG001_GRCh38_1_22_v4.2.1_benchmark_hg38_T2T.bed | wc -l
#+end_src
204021
****** DONE Vérifier la ligne de commande
CLOSED: [2023-07-04 Tue 23:38]
#+begin_src sh
hap.py \
HG001_GRCh38_1_22_v4_lifted_merged.vcf.gz \
HG001-SRX11061486_SRR14724513-T2T.vcf.gz \
\
--reference chm13v2.0.fa \
--threads 6 \
\
-T Agilent_SureSelect_All_Exons_v7_hg38_Regions_hg38_T2T.bed \
--false-positives HG001_GRCh38_1_22_v4.2.1_benchmark_hg38_T2T.bed \
\
-o HG001
#+end_src
****** DONE Corriger FILTER : mieux mais toujours trop de négatifs. 3/4 SNP retrouvés
CLOSED: [2023-07-08 Sat 15:19] SCHEDULED: <2023-07-08 Sat>
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 413 246 167 751 289 215 2 98 0.595642 0.460821 0.286285 0.519629 NaN NaN 2.428571 2.465116
INDEL PASS 413 246 167 751 289 215 2 98 0.595642 0.460821 0.286285 0.519629 NaN NaN 2.428571 2.465116
SNP ALL 15883 15479 404 23597 5277 2841 46 44 0.974564 0.745760 0.120397 0.844947 3.017198 2.85705 5.560099 2.114633
SNP PASS 15883 15479 404 23597 5277 2841 46 44 0.974564 0.745760 0.120397 0.844947 3.017198 2.85705 5.560099 2.114633
******* DONE Vérifier qu'il ne reste plus de filtre autre que PASS
CLOSED: [2023-07-08 Sat 15:19]
#+begin_src
$ zgrep -c 'PASS' HG001_GRCh38_1_22_v4_lifted_merged.vcf.gz
3730505
$ zgrep -c '^chr' HG001_GRCh38_1_22_v4_lifted_merged.vcf.gz
3730506
#+end_src
****** TODO 1/4 SNP manquant ?
******* DONE Regarder avec Julia si ce sont vraiment des FP: 61/5277 qui ne le sont pas
CLOSED: [2023-07-09 Sun 12:09]
******* DONE Examiner les FP
CLOSED: [2023-07-30 Sun 22:05]
******* DONE Tester un FP
CLOSED: [2023-07-30 Sun 22:05]
2 │ chr1 608765 A G ./.:.:.:.:NOCALL:nocall:. 1/1:FP:.:ti:SNP:homalt:188
liftDown UCSC: rien en GIAB : vrai FP
3 │ chr1 762943 A G ./.:.:.:.:NOCALL:nocall:. 1/1:FP:.:ti:SNP:homalt:287
4 │ chr1 762945 A T ./.:.:.:.:NOCALL:nocall:. 1/1:FP:.:tv:SNP:homalt:287
Remaniements complexes ? Pas dans le gène en HG38
******* DONE La plupart des FP (4705/5566) sont homozygotes: erreur de référence ?
CLOSED: [2023-07-12 Wed 21:10] SCHEDULED: <2023-07-09 Sun>
Sur les 2 premiers variants, ils montrent en fait la différence entre T2T et GRCh38
Erreur à l'alignement ?
******** KILL relancer l'alignement
CLOSED: [2023-07-09 Sun 17:36]
******** DONE vérifier reads identiques hg38 et T2T: oui
CLOSED: [2023-07-09 Sun 16:36]
T2T CHR1608765
38 chr1:1180168-1180168 (
SRR14724513.24448214
SRR14724513.24448214
******* DONE Vérifier quelques variants sur IGV
CLOSED: [2023-07-09 Sun 17:36]
******* KILL Répartition des FP : cluster ?
CLOSED: [2023-07-09 Sun 17:36]
****** DONE Examiner les FP restant après correction selon séquence de référence
CLOSED: [2023-08-12 Sat 15:57]
****** HOLD Examiner les variants supprimé
****** PROJ Enlever les FP qui correspondent à un changement dans le génome
******* Condition:
- pas de variation à la position en GRCh38
- variantion homozygote
- la varati
AGTCTGTAGAGGATGCCACGGTAATCGTGGTGAACACTTCCTTTCTGTC FFFFFFFFFFFFF:FFFFFF,FFF:,FFFFFFFFFFFFFFFF:FFFFFFFFFFFFFF:FF:F:FFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FF:FFF:FF NM:i:1 MD:Z:22A105 MC:Z:128M AS:i:123 XS:i:123 XA:Z:NC_000015.10,-74342974,128M,1;
******** DONE GRCh38 : ok
CLOSED: [2023-06-04 Sun 22:15]
bwa mem /Work/Projects/bisonex/data/genome/GRCh38/GCA_000001405.15_GRCh38_full_analysis_set.fna test1.fq test2.fq
******* DONE Vérifier que les reads ont la même qualité sur les fichiers d'origine: oui
CLOSED: [2023-06-04 Sun 21:07]
******* DONE Supprimer les NW_ ?
CLOSED: [2023-06-10 Sat 10:40] SCHEDULED: <2023-06-04 Sun>
@A00853:477:HMLWYDSX3:3:2114:14742:8860
CAGGCCAGCCGCTCAGCCCGCTCCTTTCACCCTCTGCAGGAGAGCCTCGTGGCAGGCCAGTGGAGGGACATGATGGACTACATGCTCCAAGGGGTGGCGCAGCCGAGCATGGAAGAGGGCTCTGGACAGCTCCTGGAAGGGCACTTGCAC
+
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
@A00853:477:HMLWYDSX3:3:2114:14742:8860
CTTTTGCTTGTCCCCAGGACGCACCTCAGGGTGGTGAAGCAAAAAAACCACGGCCCAGGAGAGGGTGGGTGCTGTGGTCTCAGTGCCACCGATCAGGAGGTCCACTGCAGCCATGTGCAAGTGCCCTTCCAGGAGCTGTCCAGAGCCCTCT
+
FFFFFFFFFFFFFFFFFFFFFFF:FFF:FFFFFFFFFFFFF,FFFFFFFFFFFF:F:FFFF:FFFFF,,FFF:FFFFFFFFFF,FFFFFFF,FFFFFFFFFFF,FFFFFFFFF:FFFF,F:FFFFF:FFFFFFFFF:FFFF,FFFFFFFFF
******* DONE Supprimer NW_ et NT_
****** KILL Phase 2 : chr22, vaf variable :T2T:
CLOSED: [2023-08-12 Sat 15:59]
****** KILL Phase 3 : tous SNV, vaf variable :T2T:
CLOSED: [2023-08-12 Sat 15:59]
***** KILL Test Indel
CLOSED: [2023-08-12 Sat 15:59]
**** Divers
***** DONE Vérifier nombre de reads fastq - bam
CLOSED: [2022-10-09 Sun 22:31]
*** KILL Liste varants "clinically relevent" (Clinge - CT-R d)
CLOSED: [2023-06-25 Sun 15:53] SCHEDULED: <2023-06-25 Sun>
[cite:@wilcox2021]
Vu avec alexis: pas notre cas d'usage
*** TODO Variant cento confirmé en Sanger :xamscissors:
**** DONE Générer la liste
CLOSED: [2023-08-13 Sun 22:26] SCHEDULED: <2023-08-13 Sun 12:00>
**** DONE 2 variants chr20 dans HG002 avec XAMscissors: homozygote
CLOSED: [2023-08-15 Tue 00:13] SCHEDULED: <2023-08-13 Sun 13:00>
***** DONE Insertion
CLOSED: [2023-08-13 Sun 23:31] SCHEDULED: <2023-08-13 Sun>
On récupère le BAM
#+begin_src sh :dir /home/alex/code/bisonex/out
scp /Work/Users/apraga/bisonex/out/HG002-151002_7001448_0359_AC7F6GANXX-GRCh38/preprocessing/mapped/HG002-151002_7001448_0359_AC7F6GANXX-GRCh38.bam
#+end_src
On formate les données et on génère les fastq
#+begin_src sh :dir /home/alex/roam/research/bisonex/code/sanger
julia --project=.. xamscissors.jl
#+end_src
On upload
#+begin_src sh :dir /home/alex/roam/research/bisonex/code/sanger
cd out
mv inserted_1.fq.gz HG002-sanger-inserted-chr20_1.fq.gz
mv inserted_2.fq.gz HG002-sanger-inserted-chr20_2.fq.gz
#+end_src
On upload
#+begin_src sh :dir /home/alex/roam/research/bisonex/code/sanger
scp HG002-sanger-inserted-chr20_*.fq.gz meso:/Work/Users/apraga/bisonex/data/
#+end_src
Fichier de configuration
patient,sample,fastq1,fastq2
HG002,sanger-chr20,data/HG002-sanger-inserted-chr20_1.fq.gz,data/HG002-sanger-inserted-chr20_2.fq.gz
On lance la simulation
#+begin_src
nextflow run main.nf -profile standard,helios --input=samples-synthetic.csv --genome=GRCh38 -bg
#+end_src
***** DONE Vérifier post alignement
CLOSED: [2023-08-13 Sun 23:44] SCHEDULED: <2023-08-13 Sun>
***** DONE Vérifier haplotypecaller
CLOSED: [2023-08-15 Tue 00:13] SCHEDULED: <2023-08-13 Sun>
***** DONE Vérifier post-filtre
CLOSED: [2023-08-15 Tue 00:13]
**** DONE 2 variant chr20 dans HG002 heterozygote
CLOSED: [2023-08-15 Tue 13:45] SCHEDULED: <2023-08-15 Tue>
La zygosité n'était pas correcte...
**** KILL [#B] Tout insérer dans HG002 avec XAMscissors: erreur patient..
CLOSED: [2023-08-16 Wed 20:21] SCHEDULED: <2023-08-14 Mon>
***** DONE Insertion
CLOSED: [2023-08-16 Wed 20:21]
On récupère le BAM
#+begin_src sh :dir /home/alex/code/bisonex/out
scp /Work/Users/apraga/bisonex/out/HG002-151002_7001448_0359_AC7F6GANXX-GRCh38/preprocessing/mapped/HG002-151002_7001448_0359_AC7F6GANXX-GRCh38.bam
#+end_src
#+begin_src sh :dir /home/alex/roam/research/bisonex/code/sanger
julia --project=.. xamscissors.jl
cd out-all
mv inserted_1.fq.gz HG002-sanger-inserted-_1.fq.gz
mv inserted_2.fq.gz HG002-sanger-inserted-_2.fq.gz
scp HG002-sanger-inserted-all_*.fq.gz meso:/Work/Users/apraga/bisonex/data/
#+end_src
Fichier de configuration
patient,sample,fastq1,fastq2
HG002,sanger-all,data/HG002-sanger-inserted-all_1.fq.gz,data/HG002-sanger-inserted-all_2.fq.gz
On lance la simulation
#+begin_src
nextflow run main.nf -profile standard,helios --input=samples-synthetic.csv --genome=GRCh38 -bg
#+end_src
***** DONE Résultat après haplopecaller: 3 reads manquants mais logique
CLOSED: [2023-08-16 Wed 19:13]
Comparaison naive: Haplotypecaller 146 found over 149
Manquant:
Row │ chrom pos ref alt zygosity meanQual stdQual depth
│ String7 Int64 String1 String1 String7 Float64 Float64 Int64
─────┼─────────────────────────────────────────────────────────────────────────
1 │ chr12 13720138 C T het 60.0 NaN 1
2 │ chr17 10296150 T A het 60.0 0.0 3
3 │ chr21 43426167 C T het 0.0 0.0 88
Donc pas assez de reads pour les 2 premiers et le dernier a des reads de mauvaise qualité (mais bien inséré).
On est limité par le système d'un patient....
***** DONE Résultat après filter depth: 30 variants perdu mais logique
CLOSED: [2023-08-16 Wed 20:18] SCHEDULED: <2023-08-16 Wed>
On perd 30 variant
13×8 DataFrame
Row │ chrom pos ref alt variant meanQual stdQual depth
│ String7 Int64 String1 String1 String Float64 Float64 Int64
─────┼───────────────────────────────────────────────────────────────────────────────────────
1 │ chr3 71112628 C T chr3:g.71112628C>T 60.0 0.0 62
2 │ chr12 13720138 C T chr12:g.13720138C>T 60.0 NaN 1
3 │ chr12 40367710 A G chr12:g.40367710A>G 59.3333 3.30289 45
4 │ chr14 58458545 G A chr14:g.58458545G>A 60.0 0.0 9
5 │ chr15 66703292 C T chr15:g.66703292C>T 60.0 0.0 33
6 │ chr16 30965737 C A chr16:g.30965737C>A 60.0 0.0 18
7 │ chr17 10296150 T A chr17:g.10296150T>A 60.0 0.0 3
8 │ chr17 61968202 A C chr17:g.61968202A>C 60.0 0.0 46
9 │ chr21 43426167 C T chr21:g.43426167C>T 0.0 0.0 88
10 │ chrX 124056226 T G chrX:g.124056226T>G 60.0 0.0 40
11 │ chrX 24737739 G T chrX:g.24737739G>T 60.0 0.0 16
12 │ chrX 40591349 C T chrX:g.40591349C>T 60.0 0.0 37
13 │ chrX 53193275 G A chrX:g.53193275G>A 60.0 0.0 32
Le filtre est sur DP (read depth) et non la profondeur. Sur 1 et 3, DP=29 et 28...
Si on est hétérozygote, le DP est la moitié de la profondeur donc c'est logique...
***** DONE Résultat après filter polymorphism : idem
CLOSED: [2023-08-16 Wed 20:18]
***** Résultat après filtre VEP
**** TODO [#B] Tout insérer dans NA12878 avec XAMscissors
SCHEDULED: <2023-08-14 Mon>
***** TODO Insertion
On récupère le BAM
#+begin_src sh :dir /home/alex/code/bisonex/out
rsync -avz meso:/Work/Users/apraga/bisonex/out/2300346867_NA12878-63118093_S260-GRCh38/preprocessing/mapped 2300346867_NA12878-63118093_S260-GRCh38/preprocessing/
#+end_src
#+be
gin_src sh :dir /home/alex/roam/research/bisonex/code/sanger
julia --project=.. xamscissors.jl
cd out-all
mv inserted_1.fq.gz NA12878-sanger-inserted-all_1.fq.gz
mv inserted_2.fq.gz NA12878-sanger-inserted-all_2.fq.gz
rsync -avz NA12878-sanger-inserted_* meso:/Work/Users/apraga/bisonex/data/
#+end_src
Fichier de configuration
patient,sample,fastq1,fastq2
NA12878,sanger-all,data/NA12878-sanger-inserted-all_1.fq.gz,data/NA12878-sanger-inserted-all_2.fq.gz
On lance la simulation
#+begin_src
nextflow run main.nf -profile standard,helios --input=samples-synthetic.csv --genome=GRCh38 -bg
#+end_src
***** DONE Résultat après haplotyecaller: 3 varinat perdus => ok
CLOSED: [2023-08-17 Thu 19:13]
Haplotypecaller 143 found over 146
3×3 DataFrame
| variant | meanQual | depth |
|---------------------+----------+-------|
| chr12:g.13720138C>T | 60.0 | 1 |
| chr17:g.10296150T>A | 60.0 | 3 |
| chr21:g.43426167C>T | 0.0 | 88 |
Pas assez de read (1,2) et problème d'alignement (3)
***** TODO Résultat après filtre depth : +10 variants perduis
SCHEDULED: <2023-08-18 Fri>
filter depth : another 10 missed variants
10×3 DataFrame
| variant | meanQual | depth |
|---------------------+----------+-------|
| chr3:g.71112628C>T | 60.0 | 62 |
| chr12:g.40367710A>G | 58.0435 | 46 |
| chr14:g.58458545G>A | 60.0 | 9 |
| chr15:g.66703292C>T | 60.0 | 33 |
| chr16:g.30965737C>A | 60.0 | 18 |
| chr17:g.61968202A>C | 60.0 | 46 |
| chrX:g.124056226T>G | 60.0 | 40 |
| chrX:g.24737739G>T | 60.0 | 16 |
| chrX:g.40591349C>T | 60.0 | 37 |
| chrX:g.53193275G>A | 60.0 | 32 |
| | | |
S'ils sont hétérozygotes, 0.5*depth est effectivement < 30 (notre filtre...)
****** TODO Problème d'inserstion des reads: on en perd de nombreux !
SCHEDULED: <2023-08-18 Fri>
Ex: chrX:g.124056226T>G : on passe de 65 reads à 1
***** DONE Résultat après filtre common variant: +0 ok
CLOSED: [2023-08-17 Thu 19:32]
***** TODO Résultat après filtre VEP : +23 perdus ??
SCHEDULED: <2023-08-18 Fri>
filter vep : another 23 missed variants
23×3 DataFrame
Row │ variant meanQual depth
│ String Float64 Int64
─────┼───────────────────────────────────────
1 │ chr1:g.183222115C>T 60.0 168
2 │ chr1:g.39388062C>T 60.0 285
3 │ chr2:g.240719197G>C 60.0 77
4 │ chr3:g.41227353G>C 60.0 105
5 │ chr4:g.15536991T>G 60.0 41
6 │ chr5:g.14474096G>A 60.0 191
7 │ chr8:g.43122149C>T 60.0 237
8 │ chr9:g.128603589A>C 60.0 304
9 │ chr9:g.137452819G>C 60.0 107
10 │ chr10:g.129957338T>C 60.0 116
11 │ chr10:g.247389T>G 60.0 56
12 │ chr11:g.61313668G>A 60.0 83
13 │ chr12:g.45850467C>T 60.0 291
14 │ chr14:g.64216315C>G 60.0 263
15 │ chr15:g.60514655G>A 60.0 259
16 │ chr17:g.61966475G>T 60.0 144
17 │ chr17:g.7852503T>C 60.0 190
18 │ chr19:g.13230158G>A 60.0 172
19 │ chr19:g.38523211C>G 60.0 93
20 │ chr19:g.4110557G>C 59.9929 425
21 │ chr20:g.62334188G>A 60.0 62
22 │ chrX:g.47575255G>A 60.0 244
23 │ chrX:g.53409112G>A 60.0 136
**** TODO Données simuscop 200x
SCHEDULED: <2023-08-22 Tue>
* Résultats
** TODO Speed-up BWA-mem
SCHEDULED: <2023-08-26 Sat>
** TODO Speed-up Hapotypecaller
SCHEDULED: <2023-08-26 Sat>
AGTCTGTAGAGGATGCCACGGTAATCGTGGTGAACACTTCCTTTCTGTC FFFFFFFFFFFFF:FFFFFF,FFF:,FFFFFFFFFFFFFFFF:FFFFFFFFFFFFFF:FF:F:FFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FF:FFF:FF NM:i:1 MD:Z:22A105 MC:Z:128M AS:i:123 XS:i:123 XA:Z:NC_000015.10,-74342974,128M,1;
******** DONE GRCh38 : ok
CLOSED: [2023-06-04 Sun 22:15]
bwa mem /Work/Projects/bisonex/data/genome/GRCh38/GCA_000001405.15_GRCh38_full_analysis_set.fna test1.fq test2.fq
******* DONE Vérifier que les reads ont la même qualité sur les fichiers d'origine: oui
CLOSED: [2023-06-04 Sun 21:07]
******* DONE Supprimer les NW_ ?
CLOSED: [2023-06-10 Sat 10:40] SCHEDULED: <2023-06-04 Sun>
@A00853:477:HMLWYDSX3:3:2114:14742:8860
CAGGCCAGCCGCTCAGCCCGCTCCTTTCACCCTCTGCAGGAGAGCCTCGTGGCAGGCCAGTGGAGGGACATGATGGACTACATGCTCCAAGGGGTGGCGCAGCCGAGCATGGAAGAGGGCTCTGGACAGCTCCTGGAAGGGCACTTGCAC
+
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
@A00853:477:HMLWYDSX3:3:2114:14742:8860
CTTTTGCTTGTCCCCAGGACGCACCTCAGGGTGGTGAAGCAAAAAAACCACGGCCCAGGAGAGGGTGGGTGCTGTGGTCTCAGTGCCACCGATCAGGAGGTCCACTGCAGCCATGTGCAAGTGCCCTTCCAGGAGCTGTCCAGAGCCCTCT
+
FFFFFFFFFFFFFFFFFFFFFFF:FFF:FFFFFFFFFFFFF,FFFFFFFFFFFF:F:FFFF:FFFFF,,FFF:FFFFFFFFFF,FFFFFFF,FFFFFFFFFFF,FFFFFFFFF:FFFF,F:FFFFF:FFFFFFFFF:FFFF,FFFFFFFFF
******* DONE Supprimer NW_ et NT_
****** KILL Phase 2 : chr22, vaf variable :T2T:
CLOSED: [2023-08-12 Sat 15:59]
****** KILL Phase 3 : tous SNV, vaf variable :T2T:
CLOSED: [2023-08-12 Sat 15:59]
***** KILL Test Indel
CLOSED: [2023-08-12 Sat 15:59]
**** Divers
***** DONE Vérifier nombre de reads fastq - bam
CLOSED: [2022-10-09 Sun 22:31]
*** KILL Liste varants "clinically relevent" (Clinge - CT-R d)
CLOSED: [2023-06-25 Sun 15:53] SCHEDULED: <2023-06-25 Sun>
[cite:@wilcox2021]
Vu avec alexis: pas notre cas d'usage
*** TODO Variant cento confirmé en Sanger :xamscissors:
**** DONE Générer la liste
CLOSED: [2023-08-13 Sun 22:26] SCHEDULED: <2023-08-13 Sun 12:00>
**** DONE 2 variants chr20 dans HG002 avec XAMscissors: homozygote
CLOSED: [2023-08-15 Tue 00:13] SCHEDULED: <2023-08-13 Sun 13:00>
***** DONE Insertion
CLOSED: [2023-08-13 Sun 23:31] SCHEDULED: <2023-08-13 Sun>
On récupère le BAM
#+begin_src sh :dir /home/alex/code/bisonex/out
scp /Work/Users/apraga/bisonex/out/HG002-151002_7001448_0359_AC7F6GANXX-GRCh38/preprocessing/mapped/HG002-151002_7001448_0359_AC7F6GANXX-GRCh38.bam
#+end_src
On formate les données et on génère les fastq
#+begin_src sh :dir /home/alex/roam/research/bisonex/code/sanger
julia --project=.. xamscissors.jl
#+end_src
On upload
#+begin_src sh :dir /home/alex/roam/research/bisonex/code/sanger
cd out
mv inserted_1.fq.gz HG002-sanger-inserted-chr20_1.fq.gz
mv inserted_2.fq.gz HG002-sanger-inserted-chr20_2.fq.gz
#+end_src
On upload
#+begin_src sh :dir /home/alex/roam/research/bisonex/code/sanger
scp HG002-sanger-inserted-chr20_*.fq.gz meso:/Work/Users/apraga/bisonex/data/
#+end_src
Fichier de configuration
patient,sample,fastq1,fastq2
HG002,sanger-chr20,data/HG002-sanger-inserted-chr20_1.fq.gz,data/HG002-sanger-inserted-chr20_2.fq.gz
On lance la simulation
#+begin_src
nextflow run main.nf -profile standard,helios --input=samples-synthetic.csv --genome=GRCh38 -bg
#+end_src
***** DONE Vérifier post alignement
CLOSED: [2023-08-13 Sun 23:44] SCHEDULED: <2023-08-13 Sun>
***** DONE Vérifier haplotypecaller
CLOSED: [2023-08-15 Tue 00:13] SCHEDULED: <2023-08-13 Sun>
***** DONE Vérifier post-filtre
CLOSED: [2023-08-15 Tue 00:13]
**** DONE 2 variant chr20 dans HG002 heterozygote
CLOSED: [2023-08-15 Tue 13:45] SCHEDULED: <2023-08-15 Tue>
La zygosité n'était pas correcte...
**** DONE chr20 hétérozygote 2 variants avec XAMscissors à jour
CLOSED: [2023-08-19 Sat 20:45] SCHEDULED: <2023-08-19 Sat>
***** DONE Insertion
CLOSED: [2023-08-19 Sat 20:08]
XAMscissors avec dépendence git
NA12878 après bwa mem
Sur le mésocentre, dans code/sanger/
#+begin_src
ln -s /Work/Users/apraga/bisonex/out/2300346867_NA12878-63118093_S260-full-GRCh38/preprocessing/mapped/2300346867_NA12878-63118093_S260-GRCh38.bam
julia --project=.
include("xamscissors.jl")
#+end_src
Renommer out-chr20/inserted -> data/data/NA12878-sanger-inserted-chr20
On lance le calcul avec samples-synthetic.csv
NA12878,sanger-chr20,data/NA12878-sanger-inserted-chr20_1.fq.gz,data/NA12878-sanger-inserted-chr20_2.fq.gz
#+begin_src
nextflow run main.nf -profile standard,helios --input=samples-synthetic.csv --genome=GRCh38 -bg
#+end_src
***** DONE Vérifier après appel de variant
CLOSED: [2023-08-19 Sat 20:42] SCHEDULED: <2023-08-19 Sat>
#+begin_src
cd /Work/Users/apraga/bisonex/out/NA12878-sanger-chr20-GRCh38/callVariant/haplotypecaller
zgrep "46043645\|62334188" NA12878-sanger-chr20-GRCh38.vcf.gz
#+end_src
#+RESULTS:
: chr20 46043645 rs1332625463 G A 933.64 . AC=1;AF=0.500;AN=2;BaseQRankSum=-1.624;DB;DP=96;ExcessHet=0.0000;FS=1.654;MLEAC=1;MLEAF=0.500;MQ=60.00;MQRankSum=0.000;QD=9.83;ReadPosRankSum=1.833;SOR=0.516 GT:AD:DP:GQ:PL 0/1:49,46:95:99:941,0,1103
: chr20 62334188 . G A 910.64 . AC=1;AF=0.500;AN=2;BaseQRankSum=-0.975;DP=87;ExcessHet=0.0000;FS=0.000;MLEAC=1;MLEAF=0.500;MQ=60.00;MQRankSum=0.000;QD=10.59;ReadPosRankSum=-1.566;SOR=0.685 GT:AD:DP:GQ:PL0/1:39,47:86:99:918,0,757
***** DONE Vérifier après filtre depth
CLOSED: [2023-08-19 Sat 20:44] SCHEDULED: <2023-08-19 Sat>
#+begin_src sh
cd /Work/Users/apraga/bisonex/out/NA12878-sanger-chr20-GRCh38/callVariant
zgrep "46043645\|62334188" filter-depth.vcf
#+end_src
#+RESULTS:
: chr20 46043645 rs1332625463 G A 933.64 PASS AC=1;AF=0.5;AN=2;BaseQRankSum=-1.624;DB;DP=96;ExcessHet=0;FS=1.654;MLEAC=1;MLEAF=0.5;MQ=60;MQRankSum=0;QD=9.83;ReadPosRankSum=1.833;SOR=0.516 GT:AD:DP:GQ:PL 0/1:49,46:95:99:941,0,1103
: chr20 62334188 . G A 910.64 PASS AC=1;AF=0.5;AN=2;BaseQRankSum=-0.975;DP=87;ExcessHet=0;FS=0;MLEAC=1;MLEAF=0.5;MQ=60;MQRankSum=0;Q
***** DONE Vérifier après filtre polymorphisme
CLOSED: [2023-08-19 Sat 20:44] SCHEDULED: <2023-08-19 Sat>
zgrep "46043645\|62334188" filter-polymorphisms.vcf
chr20 46043645 rs1332625463 G A 933.64 PASS . GT:AD:DP:GQ:PL 0/1:49,46:95:99:941,0,1103
chr20 62334188 . G A 910.64 PASS . GT:AD:DP:GQ:PL 0/1:39,47:86:99:918,0,757
***** DONE vérifier après filter vep
CLOSED: [2023-08-19 Sat 20:45]
#+begin_src sh
cd /Work/Users/apraga/bisonex/out/NA12878-sanger-chr20-GRCh38/annotate
zgrep "46043645\|62334188" postvep-filter.tsv
#+end_src
#+RESULTS:
: rs1332625463 chr20:46043645 A ENSG00000124140 ENST00000243964 Transcript missense_variant 1380 1250 417 G/D gGt/gAt rs1332625463 G MODERATE - 1 - YES - Ensembl- 1 probably_damaging(0.981) ENST00000243964.7:c.1250G>A ENSP00000243964.4:p.Gly417Asp - chr20:g.46043645G>A 0 0 0 0 0 0 0 0 0 - - - -- - - rs1332625463 NTR 6.8 [03.77%-11.14%]
: chr20_62334188_G/A chr20:62334188 A ENSG00000130702 ENST00000252999 Transcript stop_gained,splice_region_variant 2804 2737 913 Q/* Cag/Tag COSV99440955 G HIGH - -1 - YES -Ensembl - 1 - ENST00000252999.7:c.2737C>T ENSP00000252999.3:p.Gln913Ter - chr20:g.62334188G>A - - - - - - - - - - 1 1 - - -- chr20:62334188-62334188 Alter by SPiCE + Alter ESR 69.33 [61.29%-76.59%]
**** KILL [#B] Tout insérer dans HG002 avec XAMscissors: erreur patient..
CLOSED: [2023-08-16 Wed 20:21] SCHEDULED: <2023-08-14 Mon>
***** DONE Insertion
CLOSED: [2023-08-16 Wed 20:21]
On récupère le BAM
#+begin_src sh :dir /home/alex/code/bisonex/out
scp /Work/Users/apraga/bisonex/out/HG002-151002_7001448_0359_AC7F6GANXX-GRCh38/preprocessing/mapped/HG002-151002_7001448_0359_AC7F6GANXX-GRCh38.bam
#+end_src
#+begin_src sh :dir /home/alex/roam/research/bisonex/code/sanger
julia --project=.. xamscissors.jl
cd out-all
mv inserted_1.fq.gz HG002-sanger-inserted-_1.fq.gz
mv inserted_2.fq.gz HG002-sanger-inserted-_2.fq.gz
scp HG002-sanger-inserted-all_*.fq.gz meso:/Work/Users/apraga/bisonex/data/
#+end_src
Fichier de configuration
patient,sample,fastq1,fastq2
HG002,sanger-all,data/HG002-sanger-inserted-all_1.fq.gz,data/HG002-sanger-inserted-all_2.fq.gz
On lance la simulation
#+begin_src
nextflow run main.nf -profile standard,helios --input=samples-synthetic.csv --genome=GRCh38 -bg
#+end_src
***** DONE Résultat après haplopecaller: 3 reads manquants mais logique
CLOSED: [2023-08-16 Wed 19:13]
Comparaison naive: Haplotypecaller 146 found over 149
Manquant:
Row │ chrom pos ref alt zygosity meanQual stdQual depth
│ String7 Int64 String1 String1 String7 Float64 Float64 Int64
─────┼─────────────────────────────────────────────────────────────────────────
1 │ chr12 13720138 C T het 60.0 NaN 1
2 │ chr17 10296150 T A het 60.0 0.0 3
3 │ chr21 43426167 C T het 0.0 0.0 88
Donc pas assez de reads pour les 2 premiers et le dernier a des reads de mauvaise qualité (mais bien inséré).
On est limité par le système d'un patient....
***** DONE Résultat après filter depth: 30 variants perdu mais logique
CLOSED: [2023-08-16 Wed 20:18] SCHEDULED: <2023-08-16 Wed>
On perd 30 variant
13×8 DataFrame
Row │ chrom pos ref alt variant meanQual stdQual depth
│ String7 Int64 String1 String1 String Float64 Float64 Int64
─────┼───────────────────────────────────────────────────────────────────────────────────────
1 │ chr3 71112628 C T chr3:g.71112628C>T 60.0 0.0 62
2 │ chr12 13720138 C T chr12:g.13720138C>T 60.0 NaN 1
3 │ chr12 40367710 A G chr12:g.40367710A>G 59.3333 3.30289 45
4 │ chr14 58458545 G A chr14:g.58458545G>A 60.0 0.0 9
5 │ chr15 66703292 C T chr15:g.66703292C>T 60.0 0.0 33
6 │ chr16 30965737 C A chr16:g.30965737C>A 60.0 0.0 18
7 │ chr17 10296150 T A chr17:g.10296150T>A 60.0 0.0 3
8 │ chr17 61968202 A C chr17:g.61968202A>C 60.0 0.0 46
9 │ chr21 43426167 C T chr21:g.43426167C>T 0.0 0.0 88
10 │ chrX 124056226 T G chrX:g.124056226T>G 60.0 0.0 40
11 │ chrX 24737739 G T chrX:g.24737739G>T 60.0 0.0 16
12 │ chrX 40591349 C T chrX:g.40591349C>T 60.0 0.0 37
13 │ chrX 53193275 G A chrX:g.53193275G>A 60.0 0.0 32
Le filtre est sur DP (read depth) et non la profondeur. Sur 1 et 3, DP=29 et 28...
Si on est hétérozygote, le DP est la moitié de la profondeur donc c'est logique...
***** DONE Résultat après filter polymorphism : idem
CLOSED: [2023-08-16 Wed 20:18]
***** Résultat après filtre VEP
**** KILL [#B] Tout insérer dans NA12878 avec XAMscissors: reads manquants
CLOSED: [2023-08-19 Sat 20:04] SCHEDULED: <2023-08-14 Mon>
***** KILL Insertion
CLOSED: [2023-08-19 Sat 20:03]
On récupère le BAM
#+begin_src sh :dir /home/alex/code/bisonex/out
rsync -avz meso:/Work/Users/apraga/bisonex/out/2300346867_NA12878-63118093_S260-GRCh38/preprocessing/mapped 2300346867_NA12878-63118093_S260-GRCh38/preprocessing/
#+end_src
#+begin_src sh :dir /home/alex/roam/research/bisonex/code/sanger
julia --project=.. xamscissors.jl
cd out-all
mv inserted_1.fq.gz NA12878-sanger-inserted-all_1.fq.gz
mv inserted_2.fq.gz NA12878-sanger-inserted-all_2.fq.gz
rsync -avz NA12878-sanger-inserted_* meso:/Work/Users/apraga/bisonex/data/
#+end_src
Fichier de configuration
patient,sample,fastq1,fastq2
NA12878,sanger-all,data/NA12878-sanger-inserted-all_1.fq.gz,data/NA12878-sanger-inserted-all_2.fq.gz
On lance la simulation
#+begin_src
nextflow run main.nf -profile standard,helios --input=samples-synthetic.csv --genome=GRCh38 -bg
#+end_src
***** DONE Résultat après haplotyecaller: 3 varinat perdus => ok
CLOSED: [2023-08-17 Thu 19:13]
Haplotypecaller 143 found over 146
3×3 DataFrame
| variant | meanQual | depth |
|---------------------+----------+-------|
| chr12:g.13720138C>T | 60.0 | 1 |
| chr17:g.10296150T>A | 60.0 | 3 |
| chr21:g.43426167C>T | 0.0 | 88 |
Pas assez de read (1,2) et problème d'alignement (3)
***** KILL Résultat après filtre depth : +10 variants perduis
CLOSED: [2023-08-19 Sat 20:04] SCHEDULED: <2023-08-18 Fri>
filter depth : another 10 missed variants
10×3 DataFrame
| variant | meanQual | depth |
|---------------------+----------+-------|
| chr3:g.71112628C>T | 60.0 | 62 |
| chr12:g.40367710A>G | 58.0435 | 46 |
| chr14:g.58458545G>A | 60.0 | 9 |
| chr15:g.66703292C>T | 60.0 | 33 |
| chr16:g.30965737C>A | 60.0 | 18 |
| chr17:g.61968202A>C | 60.0 | 46 |
| chrX:g.124056226T>G | 60.0 | 40 |
| chrX:g.24737739G>T | 60.0 | 16 |
| chrX:g.40591349C>T | 60.0 | 37 |
| chrX:g.53193275G>A | 60.0 | 32 |
| | | |
S'ils sont hétérozygotes, 0.5*depth est effectivement < 30 (notre filtre...)
****** KILL Problème d'inserstion des reads: on en perd de nombreux ! -> regénérer données
CLOSED: [2023-08-19 Sat 20:04] SCHEDULED: <2023-08-18 Fri>
Ex: chrX:g.124056226T>G : on passe de 65 reads à 1
***** DONE Résultat après filtre common variant: +0 ok
CLOSED: [2023-08-17 Thu 19:32]
***** KILL Résultat après filtre VEP : +23 perdus ??
CLOSED: [2023-08-19 Sat 20:04] SCHEDULED: <2023-08-18 Fri>
filter vep : another 23 missed variants
23×3 DataFrame
Row │ variant meanQual depth
│ String Float64 Int64
─────┼───────────────────────────────────────
1 │ chr1:g.183222115C>T 60.0 168
2 │ chr1:g.39388062C>T 60.0 285
3 │ chr2:g.240719197G>C 60.0 77
4 │ chr3:g.41227353G>C 60.0 105
5 │ chr4:g.15536991T>G 60.0 41
6 │ chr5:g.14474096G>A 60.0 191
7 │ chr8:g.43122149C>T 60.0 237
8 │ chr9:g.128603589A>C 60.0 304
9 │ chr9:g.137452819G>C 60.0 107
10 │ chr10:g.129957338T>C 60.0 116
11 │ chr10:g.247389T>G 60.0 56
12 │ chr11:g.61313668G>A 60.0 83
13 │ chr12:g.45850467C>T 60.0 291
14 │ chr14:g.64216315C>G 60.0 263
15 │ chr15:g.60514655G>A 60.0 259
16 │ chr17:g.61966475G>T 60.0 144
17 │ chr17:g.7852503T>C 60.0 190
18 │ chr19:g.13230158G>A 60.0 172
19 │ chr19:g.38523211C>G 60.0 93
20 │ chr19:g.4110557G>C 59.9929 425
21 │ chr20:g.62334188G>A 60.0 62
22 │ chrX:g.47575255G>A 60.0 244
23 │ chrX:g.53409112G>A 60.0 136
**** TODO [#A] Tout insérer dans NA12878 avec XAMscissors (XAMScissors à jour)
SCHEDULED: <2023-08-19 Sat>
***** TODO Insertion
**** TODO Données simuscop 200x
SCHEDULED: <2023-08-22 Tue>
* Résultats
** TODO Speed-up BWA-mem
SCHEDULED: <2023-08-26 Sat>
** TODO Speed-up Hapotypecaller
SCHEDULED: <2023-08-26 Sat>