B:BD[
5.16385] → [
5.16385:16414]
B:BD[
5.16414] → [
2.17396:29340]
∅:D[
2.29340] → [
7.9441:13852]
B:BD[
7.9441] → [
7.9441:13852]
ce_region_variant
1 fr
ameshift_variant&start_lost&start_retained_variant
37 inframe_deletion
9 inframe_deletion&nmd_transcript_variant
27 inframe_insertion
5 inframe_insertion&nmd_transcript_variant
21 intron_variant
1593 missense_variant
37 missense_variant&nmd_transcript_variant
17 missense_variant&splice_region_variant
1 missense_variant&splice_region_variant&nmd_transcript_variant
1 protein_altering_variant
1 splice_acceptor_variant
1 splice_acceptor_variant&frameshift_variant
2 splice_acceptor_variant&nmd_transcript_variant
3 splice_donor_5th_base_variant&intron_variant
1 splice_donor_5th_base_variant&intron_variant&non_coding_transcript_variant
2 splice_donor_region_variant&intron_variant
1 splice_donor_region_variant&intron_variant&nmd_transcript_variant
1 splice_donor_region_variant&intron_variant&non_coding_transcript_variant
10 splice_donor_variant
1 splice_donor_variant&non_coding_transcript_variant
11 splice_polypyrimidine_tract_variant&intron_variant
1 splice_polypyrimidine_tract_variant&intron_variant&non_coding_transcript_variant
1 splice_region_variant&intron_variant
9 splice_region_variant&splice_polypyrimidine_tract_variant&intron_variant
3 splice_region_variant&synonymous_variant
1 splice_region_variant&synonymous_variant&nmd_transcript_variant
4 start_lost
19 stop_gained
2 stop_gained&frameshift_variant
2 stop_gained&nmd_transcript_variant
1 stop_gained&splice_region_variant
1 stop_gained&splice_region_variant&nmd_transcript_variant
3 stop_lost
2 stop_lost&nmd_transcript_variant
1 stop_retained_variant
18 synonymous_variant
1 synonymous_variant&nmd_transcript_variant
1 transcript_ablation
T2T
[apraga@mesointeractive filter]$ bcftools +split-vep 2300346867_NA12878-63118093_S260-T2T/2300346867_NA12878-63118093_S260-T2T.filtervep.vcf -f '%Consequence\n' -d -s worst | sort | uniq -c
15 3_prime_utr_variant
11 3_prime_utr_variant&nmd_transcript_variant
51 5_prime_utr_variant
3 5_prime_utr_variant&nmd_transcript_variant
48 coding_sequence_variant
5 coding_sequence_variant&nmd_transcript_variant
3 downstream_gene_variant
121 frameshift_variant
9 frameshift_variant&nmd_transcript_variant
1 frameshift_variant&splice_donor_region_variant
9 frameshift_variant&splice_region_variant
78 inframe_deletion
2 inframe_deletion&nmd_transcript_variant
2 inframe_deletion&splice_region_variant
84 inframe_insertion
2 inframe_insertion&nmd_transcript_variant
1 inframe_insertion&splice_region_variant
16 intergenic_variant
368 intron_variant
21 intron_variant&nmd_transcript_variant
71 intron_variant&non_coding_transcript_variant
5187 missense_variant
207 missense_variant&nmd_transcript_variant
3 missense_variant&splice_donor_5th_base_variant
105 missense_variant&splice_region_variant
9 missense_variant&splice_region_variant&nmd_transcript_variant
33 non_coding_transcript_exon_variant
12 splice_acceptor_variant
1 splice_acceptor_variant&5_prime_utr_variant&intron_variant&nmd_transcript_variant
1 splice_acceptor_variant&nmd_transcript_variant
3 splice_acceptor_variant&non_coding_transcript_variant
1 splice_acceptor_variant&splice_polypyrimidine_tract_variant&intron_variant&nmd_transcript_variant
16 splice_donor_5th_base_variant&intron_variant
2 splice_donor_5th_base_variant&intron_variant&non_coding_transcript_variant
33 splice_donor_region_variant&intron_variant
4 splice_donor_region_variant&intron_variant&nmd_transcript_variant
7 splice_donor_region_variant&intron_variant&non_coding_transcript_variant
19 splice_donor_variant
1 splice_donor_variant&nmd_transcript_variant
2 splice_donor_variant&non_coding_transcript_variant
3 splice_donor_variant&splice_donor_5th_base_variant&coding_sequence_variant&intron_variant
64 splice_polypyrimidine_tract_variant&intron_variant
6 splice_polypyrimidine_tract_variant&intron_variant&nmd_transcript_variant
8 splice_polypyrimidine_tract_variant&intron_variant&non_coding_transcript_variant
2 splice_region_variant&3_prime_utr_variant
2 splice_region_variant&5_prime_utr_variant
4 splice_region_variant&intron_variant
6 splice_region_variant&non_coding_transcript_exon_variant
54 splice_region_variant&splice_polypyrimidine_tract_variant&intron_variant
4 splice_region_variant&splice_polypyrimidine_tract_variant&intron_variant&nmd_transcript_variant
5 splice_region_variant&splice_polypyrimidine_tract_variant&intron_variant&non_coding_transcript_variant
27 splice_region_variant&synonymous_variant
13 start_lost
31 stop_gained
4 stop_gained&frameshift_variant
2 stop_gained&frameshift_variant&splice_region_variant
3 stop_gained&nmd_transcript_variant
2 stop_gained&splice_region_variant
2 stop_gained&splice_region_variant&nmd_transcript_variant
2 stop_lost
1 stop_lost&nmd_transcript_variant
6 stop_retained_variant
2 stop_retained_variant&nmd_transcript_variant
349 synonymous_variant
17 synonymous_variant&nmd_transcript_variant
1 transcript_ablation
2 upstream_gene_variant
*** DONE Regarder annotation VEP des variants sur NA12878 non trataié :na12878:
CLOSED: [2023-10-18 Wed 22:50] SCHEDULED: <2023-10-16 Mon>
/Entered on/ [2023-10-16 Mon 19:39]
*** DONE Regarder si les variants sont dans des zones modifiées de T2T
CLOSED: [2023-10-19 Thu 17:19] SCHEDULED: <2023-10-18 Wed>
/Entered on/ [2023-10-18 Wed 22:49]
Liftover des variants de GRCh38 -> T2T
Cf ~/roam/research/bisonex/code/t2t/comparePositions.jl
#+begin_quote
Successfully converted 1896 records: View Conversions
Conversion failed on 17 records.
#+end_quote
On utilise t2tOnly()
Proportion par chromosome
julia> @by d :Column1 $nrow
24×2 DataFrame
Row │ Column1 nrow
│ String7 Int64
─────┼────────────────
1 │ chr1 678
2 │ chr2 369
3 │ chr3 287
4 │ chr4 224
5 │ chr5 258
6 │ chr6 430
7 │ chr7 321
8 │ chr8 218
9 │ chr9 251
10 │ chr10 275
11 │ chr11 489
12 │ chr12 350
13 │ chr13 74
14 │ chr14 185
15 │ chr15 171
16 │ chr16 283
17 │ chr17 364
18 │ chr18 82
19 │ chr19 550
20 │ chr20 142
21 │ chr21 93
22 │ chr22 171
23 │ chrX 98
24 │ chrY 1
*** TODO Regarder si les variants sont sur des nouveaux gènes
SCHEDULED: <2023-10-19 Thu>
#+begin_src sh :dir "/home/alex/roam/research/bisonex/code/t2t"
wget https://s3-us-west-2.amazonaws.com/human-pangenomics/T2T/CHM13/assemblies/annotation/chm13v2.0_RefSeq_Liftoff_v5.1.gff3.gz
#+end_src
#+RESULTS:
*** TODO Anntotation avec vep + GTF (dernière versio)
SCHEDULED: <2023-10-19 Thu>
https://www.science.org/doi/10.1126/science.abj6987#core-R61
/Entered on/ [2023-10-19 Thu 10:41]
*** DONE Figure propre pour position des variants
CLOSED: [2023-10-19 Thu 15:41] SCHEDULED: <2023-10-19 Thu>
*** DONE Nombre de variants dans les zones exclusives à T2T
CLOSED: [2023-10-19 Thu 16:39] SCHEDULED: <2023-10-19 Thu>
Zones unique à T2T données par : https://genome.ucsc.edu/cgi-bin/hgTrackUi?hgsid=1735553302_OcJ6esPoUFcSykF6hKiRmIGU24KD&db=hub_3267197_GCA_009914755.4&c=CP068269.2&g=hub_3267197_hgUnique
Note: le .fai donné ( https://s3-us-west-2.amazonaws.com/human-pangenomics/T2T/CHM13/assemblies/analysis_set/chm13v2.0.fa.gz.gzi ) cause un problème aec bcftools :
Chromosome "" defined twice in chm13v2.0.fa.gz.gzi
On utilise donc l'index regénér sur le mésocentre
#+begin_src sh :dir "/home/alex/roam/research/bisonex/code/t2t"
wget https://s3-us-west-2.amazonaws.com/human-pangenomics/T2T/CHM13/assemblies/chain/v1_nflo/grch38-chm13v2.paf
scp meso:/Work/Projects/bisonex/data/fasta/chm13v2.0/chm13v2.0.fa.fai .
cut -f 1,3,4 grch38-chm13v2.paf | bedtools sort -i - -g chm13v2.0.fa.fai | bedtools merge | bedtools complement -g chm13v2.0.fa.fai -i - | bedtools merge | save T2T-CHM13v2.0_unique_regions_hg38.bed -f
#+end_src
#+RESULTS:
On génère le BED des variants supplémentaires en T2T avec
Puis
#+begin_src sh :dir "/home/alex/roam/research/bisonex/code/t2t"
bedtools intersect -a na12878-t2t-only.bed -b T2T-CHM13v2.0_unique_regions_hg38.bed > na12878-t2t-only-unique.bed
wc -l na12878-t2t-only.bed
wc -l na12878-t2t-only-unique.bed
#+end_src
#+RESULTS:
| 6364 | na12878-t2t-only.bed |
| 47 | na12878-t2t-only-unique.bed |
Donc 0.73% sont dans des zones unique
*** TODO Comparer l'annotation sur 1 variant filtré en GRCh388 et non filtré en T2T
SCHEDULED: <2023-10-19 Thu>
*** KILL Snpeff
SCHEDULED: <2023-10-19 Thu>
CLOSED: [2023-10-19 Thu 10:42]
Base de données non disponible
*** TODO Garder les transcrits canonique puis filtrer sur conséquence
SCHEDULED: <2023-10-19 Thu>
/Entered on/ [2023-10-19 Thu 11:23]
** DONE [#B] Indicateurs qualité :qualité:
CLOSED: [2023-09-10 Sun 16:46]
*** 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]]
*** DONE Relancer résultats avec NA1287 et NA12878 + sanger
CLOSED: [2023-08-29 Tue 10:30] SCHEDULED: <2023-08-29 Tue>
*** DONE Comparer avec hg19
CLOSED: [2023-08-28 Mon 17:22] SCHEDULED: <2023-08-20 Sun>
*** DONE Comparer avec autres kit de capture
CLOSED: [2023-08-28 Mon 17:22] SCHEDULED: <2023-08-20 Sun>
*** DONE Comparer avec no-alt
CLOSED: [2023-08-28 Mon 17:22] SCHEDULED: <2023-08-20 Sun>
** 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..
*** DONE Diminuer mémoire pour haplotypecaller
CLOSED: [2023-09-20 Wed 21:44] SCHEDULED: <2023-09-19 Tue>
/Entered on/ [2023-09-19 Tue 15:30]
Medium = 32Go pour 6 coeurs => 4 jobs (donc tout le noeud) prend plus que les 96GB...
On essaie 16Gb
Puis commit
*** DONE Report multiqc avec 10 runs
CLOSED: [2023-09-19 Tue 15:31] SCHEDULED: <2023-09-19 Tue>
/Entered on/ [2023-09-19 Tue 15:31]
Cf mail 2023-09-19
*** DONE Bug: variant sur 7788314 pour patient 62982193 filtré : DP < 30
CLOSED: [2023-10-02 Mon 21:58] SCHEDULED: <2023-09-25 Mon>
/Entered on/ [2023-09-22 Fri 22:59]
35 selon IGV mais 27 en pratique dans le VCF.
VCF cento: 26 reads également...
VOUS, non confirmé sanger
Mail envoyé Alexis
Vu avec Paul : on laisse DP >= 30 si c'est la seule occurence
*** DONE Bug mésohelios: les jobs se font killer :bug:
CLOSED: [2023-10-13 Fri 11:44]
/Entered on/ [2023-10-11 Wed 12:06]
**** DONE Comprendre pourquoi
CLOSED: [2023-10-11 Wed 16:06] SCHEDULED: <2023-10-11 Wed>
Utilisateurs déconnectés à 4h du matin tous les jours
**** DONE Démarrer nextflow avec sbatch
CLOSED: [2023-10-13 Fri 11:07] SCHEDULED: <2023-10-11 Wed>
On retrouve le même bug avec squeue qui n'arrive pas à retrouver l'utilisateur en utilisant nextflow+nix
Même en forcant USER et export NXF_OPTS='-D"user.name=apraga"'
Test avec la version packagée sur mésocentre (il faut mettre à la main le dossier...): ok
#+begin_src sh
module load nextflow@23.04.3/gcc-12.1.0
# Force it
nextflow="/Softs/spack/opt/spack/linux-rocky8-x86_64/gcc-12.1.0/nextflow-23.04.3-qputqf2dmtvabpv76mizj63gbsa5irq3/bin/nextflow -c /nix/store/q46gdjil6bbap0bcghpqimh1camzmlpx-nextflow.config"
#+end_src
Avec user.name= on a une exécution correcte :
#+begin_src sh
#!/bin/bash -l
# Fichier submission.SBATCH
#SBATCH --job-name="bisonex"
#SBATCH --output=%x.%J.out ## %x=job name, %J=job id
#SBATCH --error=%x.%J.out
# walltime (hh:mm::ss) max is 8 days
#SBATCH -t 24:00:00
#SBATCH --partition=smp
#SBATCH -c 1 ## request 16 cores (MAX is 32)
#SBATCH --mem=12G ## (MAX is 96G)
#SBATCH --mail-user=apraga@chu-besancon.fr
#SBATCH --mail-type=END,FAIL # notify when job end/fail
module load nix/2.11.0
# Otherwise job fails as it cannot write to $HOME/.nextflow
export NXF_HOME=/Work/Users/apraga/.nextflow
# user.name must be forced (again... our fix does not seem to work in nix)
nextflow -Duser.name=apraga run main.nf -profile standard,helios --input=samples.csv --genome=GRCh38
#+end_src
**** DONE Mettre à jour documentation
CLOSED: [2023-10-13 Fri 11:44] SCHEDULED: <2023-10-13 Fri>
** DONE Mettre à jour spip pour corriger bug 62982239 : variant trop long (?)
CLOSED: [2023-09-22 Fri 22:22] SCHEDULED: <2023-09-21 Thu>
/Entered on/ [2023-09-21 Thu 23:11]
Rapporté par https://github.com/raphaelleman/SPiP/issues/9
*** DONE Relance run
CLOSED: [2023-09-22 Fri 22:22] SCHEDULED: <2023-09-21 Thu>
*** DONE Mise à jour spip
CLOSED: [2023-09-21 Thu 23:41] SCHEDULED: <2023-09-21 Thu>
** DONE nixpkgs unstable -> 23.05
CLOSED: [2023-09-22 Fri 22:22] SCHEDULED: <2023-09-21 Thu>
*** DONE repasser tests sanger
CLOSED: [2023-09-22 Fri 22:22] SCHEDULED: <2023-09-21 Thu>
** 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 Recalib
ce_region_variant
1 frameshift_variant&start_lost&start_retained_variant
37 inframe_deletion
9 inframe_deletion&nmd_transcript_variant
27 inframe_insertion
5 inframe_insertion&nmd_transcript_variant
21 intron_variant
1593 missense_variant
37 missense_variant&nmd_transcript_variant
17 missense_variant&splice_region_variant
1 missense_variant&splice_region_variant&nmd_transcript_variant
1 protein_altering_variant
1 splice_acceptor_variant
1 splice_acceptor_variant&frameshift_variant
2 splice_acceptor_variant&nmd_transcript_variant
3 splice_donor_5th_base_variant&intron_variant
1 splice_donor_5th_base_variant&intron_variant&non_coding_transcript_variant
2 splice_donor_region_variant&intron_variant
1 splice_donor_region_variant&intron_variant&nmd_transcript_variant
1 splice_donor_region_variant&intron_variant&non_coding_transcript_variant
10 splice_donor_variant
1 splice_donor_variant&non_coding_transcript_variant
11 splice_polypyrimidine_tract_variant&intron_variant
1 splice_polypyrimidine_tract_variant&intron_variant&non_coding_transcript_variant
1 splice_region_variant&intron_variant
9 splice_region_variant&splice_polypyrimidine_tract_variant&intron_variant
3 splice_region_variant&synonymous_variant
1 splice_region_variant&synonymous_variant&nmd_transcript_variant
4 start_lost
19 stop_gained
2 stop_gained&frameshift_variant
2 stop_gained&nmd_transcript_variant
1 stop_gained&splice_region_variant
1 stop_gained&splice_region_variant&nmd_transcript_variant
3 stop_lost
2 stop_lost&nmd_transcript_variant
1 stop_retained_variant
18 synonymous_variant
1 synonymous_variant&nmd_transcript_variant
1 transcript_ablation
T2T
[apraga@mesointeractive filter]$ bcftools +split-vep 2300346867_NA12878-63118093_S260-T2T/2300346867_NA12878-63118093_S260-T2T.filtervep.vcf -f '%Consequence\n' -d -s worst | sort | uniq -c
15 3_prime_utr_variant
11 3_prime_utr_variant&nmd_transcript_variant
51 5_prime_utr_variant
3 5_prime_utr_variant&nmd_transcript_variant
48 coding_sequence_variant
5 coding_sequence_variant&nmd_transcript_variant
3 downstream_gene_variant
121 frameshift_variant
9 frameshift_variant&nmd_transcript_variant
1 frameshift_variant&splice_donor_region_variant
9 frameshift_variant&splice_region_variant
78 inframe_deletion
2 inframe_deletion&nmd_transcript_variant
2 inframe_deletion&splice_region_variant
84 inframe_insertion
2 inframe_insertion&nmd_transcript_variant
1 inframe_insertion&splice_region_variant
16 intergenic_variant
368 intron_variant
21 intron_variant&nmd_transcript_variant
71 intron_variant&non_coding_transcript_variant
5187 missense_variant
207 missense_variant&nmd_transcript_variant
3 missense_variant&splice_donor_5th_base_variant
105 missense_variant&splice_region_variant
9 missense_variant&splice_region_variant&nmd_transcript_variant
33 non_coding_transcript_exon_variant
12 splice_acceptor_variant
1 splice_acceptor_variant&5_prime_utr_variant&intron_variant&nmd_transcript_variant
1 splice_acceptor_variant&nmd_transcript_variant
3 splice_acceptor_variant&non_coding_transcript_variant
1 splice_acceptor_variant&splice_polypyrimidine_tract_variant&intron_variant&nmd_transcript_variant
16 splice_donor_5th_base_variant&intron_variant
2 splice_donor_5th_base_variant&intron_variant&non_coding_transcript_variant
33 splice_donor_region_variant&intron_variant
4 splice_donor_region_variant&intron_variant&nmd_transcript_variant
7 splice_donor_region_variant&intron_variant&non_coding_transcript_variant
19 splice_donor_variant
1 splice_donor_variant&nmd_transcript_variant
2 splice_donor_variant&non_coding_transcript_variant
3 splice_donor_variant&splice_donor_5th_base_variant&coding_sequence_variant&intron_variant
64 splice_polypyrimidine_tract_variant&intron_variant
6 splice_polypyrimidine_tract_variant&intron_variant&nmd_transcript_variant
8 splice_polypyrimidine_tract_variant&intron_variant&non_coding_transcript_variant
2 splice_region_variant&3_prime_utr_variant
2 splice_region_variant&5_prime_utr_variant
4 splice_region_variant&intron_variant
6 splice_region_variant&non_coding_transcript_exon_variant
54 splice_region_variant&splice_polypyrimidine_tract_variant&intron_variant
4 splice_region_variant&splice_polypyrimidine_tract_variant&intron_variant&nmd_transcript_variant
5 splice_region_variant&splice_polypyrimidine_tract_variant&intron_variant&non_coding_transcript_variant
27 splice_region_variant&synonymous_variant
13 start_lost
31 stop_gained
4 stop_gained&frameshift_variant
2 stop_gained&frameshift_variant&splice_region_variant
3 stop_gained&nmd_transcript_variant
2 stop_gained&splice_region_variant
2 stop_gained&splice_region_variant&nmd_transcript_variant
2 stop_lost
1 stop_lost&nmd_transcript_variant
6 stop_retained_variant
2 stop_retained_variant&nmd_transcript_variant
349 synonymous_variant
17 synonymous_variant&nmd_transcript_variant
1 transcript_ablation
2 upstream_gene_variant
*** DONE Regarder annotation VEP des variants sur NA12878 non trataié :na12878:
CLOSED: [2023-10-18 Wed 22:50] SCHEDULED: <2023-10-16 Mon>
/Entered on/ [2023-10-16 Mon 19:39]
*** DONE Regarder si les variants sont dans des zones modifiées de T2T
CLOSED: [2023-10-19 Thu 17:19] SCHEDULED: <2023-10-18 Wed>
/Entered on/ [2023-10-18 Wed 22:49]
Liftover des variants de GRCh38 -> T2T
Cf ~/roam/research/bisonex/code/t2t/comparePositions.jl
#+begin_quote
Successfully converted 1896 records: View Conversions
Conversion failed on 17 records.
#+end_quote
On utilise t2tOnly()
Proportion par chromosome
julia> @by d :Column1 $nrow
24×2 DataFrame
Row │ Column1 nrow
│ String7 Int64
─────┼────────────────
1 │ chr1 678
2 │ chr2 369
3 │ chr3 287
4 │ chr4 224
5 │ chr5 258
6 │ chr6 430
7 │ chr7 321
8 │ chr8 218
9 │ chr9 251
10 │ chr10 275
11 │ chr11 489
12 │ chr12 350
13 │ chr13 74
14 │ chr14 185
15 │ chr15 171
16 │ chr16 283
17 │ chr17 364
18 │ chr18 82
19 │ chr19 550
20 │ chr20 142
21 │ chr21 93
22 │ chr22 171
23 │ chrX 98
24 │ chrY 1
*** DONE Regarder si les variants sont sur des nouveaux gènes
CLOSED: [2023-10-19 Thu 20:18] SCHEDULED: <2023-10-19 Thu>
Cf ~/roam/reasearch/bisonex/code/t2t/compareGene.jl
Test de la fonction pour extraire les gènes:
Important: les chiffres ne sont pas données sur le nom du gène seul mais sur le nom + la position. On ne supprime donc pas les noms en double"
- T2T
- refseq + liftoff, 20 008, The official webpage says 20 006 for v4 https://ccb.jhu.edu/T2T.shtml.
- Gencode38 19490
- GRCh38
- refseq we have 23 314, so 4 less than the official website : https://www.ncbi.nlm.nih.gov/datasets/gene/GCF_000001405.40/?gene_type=protein-coding
On choisit refseq:: Il y a 170 gènes (unique sur le nom du gène !) dans T2T non présents dans GRCh38-p14
À noter qu'il y a plus de gènes dans Refseq en GRC38-p14 qu'en T2T (20 080 > 19 748 )
Avec compareGene.j, on retrouve 0.73%
*** TODO Annotation avec vep + GTF (dernière versio)
SCHEDULED: <2023-10-19 Thu>
https://www.science.org/doi/10.1126/science.abj6987#core-R61
/Entered on/ [2023-10-19 Thu 10:41]
#+begin_src sh :dir "meso://Work/Users/apraga/bisonex/test/t2t"
wget https://s3-us-west-2.amazonaws.com/human-pangenomics/T2T/CHM13/assemblies/annotation/chm13v2.0_RefSeq_Liftoff_v5.1.gff3.gz
zgrep -v "#" chm13v2.0_RefSeq_Liftoff_v5.1.gff3.gz | sort -k1,1 -k4,4n -k5,5n -t$'\t' | bgzip -c > chm13v2.0_RefSeq_prepared.gff3.gz
tabix -p gff chm13v2.0_RefSeq_prepared.gff3.gz
#+end_src
# ./vep -i input.vcf --gff data.gff.gz --fasta genome.fa.gz
Dans ce dossier, on annote
#+begin_src sh
vep -i ../../out/annotate/vep/2300346867_NA12878-63118093_S260-T2T/2300346867_NA12878-63118093_S260-T2T.vep.vcf.gz --gff chm13v2.0_RefSeq_prepared.gff3.gz --fasta /Work/Groups/bisonex/data/fasta/chm13v2.0/chm13v2.0.fa --vcf -o na12878_annotated.vcf
#+end_src
Et on filtre
#+begin_src sh
filter_vep -i na12878_annotated.vcf --format vcf --filter " not(Consequence matches non_coding_transcript or Consequence matches stream or Consequence matches intergenic_variant or Consequence matches UTR or Consequence matches intron_variant or Consequence matches synonymous or BIOTYPE matches pseudogene or BIOTYPE matches misc_RNA)" --only_matched > na12878_annotated_filtered.vcf
#+end_src
*** DONE Figure propre pour position des variants
CLOSED: [2023-10-19 Thu 15:41] SCHEDULED: <2023-10-19 Thu>
*** DONE Nombre de variants dans les zones exclusives à T2T
CLOSED: [2023-10-19 Thu 16:39] SCHEDULED: <2023-10-19 Thu>
Zones unique à T2T données par : https://genome.ucsc.edu/cgi-bin/hgTrackUi?hgsid=1735553302_OcJ6esPoUFcSykF6hKiRmIGU24KD&db=hub_3267197_GCA_009914755.4&c=CP068269.2&g=hub_3267197_hgUnique
Note: le .fai donné ( https://s3-us-west-2.amazonaws.com/human-pangenomics/T2T/CHM13/assemblies/analysis_set/chm13v2.0.fa.gz.gzi ) cause un problème aec bcftools :
Chromosome "" defined twice in chm13v2.0.fa.gz.gzi
On utilise donc l'index regénér sur le mésocentre
#+begin_src sh :dir "/home/alex/roam/research/bisonex/code/t2t"
wget https://s3-us-west-2.amazonaws.com/human-pangenomics/T2T/CHM13/assemblies/chain/v1_nflo/grch38-chm13v2.paf
scp meso:/Work/Projects/bisonex/data/fasta/chm13v2.0/chm13v2.0.fa.fai .
cut -f 1,3,4 grch38-chm13v2.paf | bedtools sort -i - -g chm13v2.0.fa.fai | bedtools merge | bedtools complement -g chm13v2.0.fa.fai -i - | bedtools merge | save T2T-CHM13v2.0_unique_regions_hg38.bed -f
#+end_src
#+RESULTS:
On génère le BED des variants supplémentaires en T2T avec
Puis
#+begin_src sh :dir "/home/alex/roam/research/bisonex/code/t2t"
bedtools intersect -a na12878-t2t-only.bed -b T2T-CHM13v2.0_unique_regions_hg38.bed > na12878-t2t-only-unique.bed
wc -l na12878-t2t-only.bed
wc -l na12878-t2t-only-unique.bed
#+end_src
#+RESULTS:
| 6364 | na12878-t2t-only.bed |
| 47 | na12878-t2t-only-unique.bed |
Donc 0.73% sont dans des zones unique
*** KILL Comparer l'annotation sur 1 variant filtré en GRCh388 et non filtré en T2T
CLOSED: [2023-10-19 Thu 22:54] SCHEDULED: <2023-10-19 Thu>
*** KILL Snpeff
SCHEDULED: <2023-10-19 Thu>
CLOSED: [2023-10-19 Thu 10:42]
Base de données non disponible
*** KILL Garder les transcrits canonique puis filtrer sur conséquence
CLOSED: [2023-10-19 Thu 22:54] SCHEDULED: <2023-10-19 Thu>
/Entered on/ [2023-10-19 Thu 11:23]
** DONE [#B] Indicateurs qualité :qualité:
CLOSED: [2023-09-10 Sun 16:46]
*** 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]]
*** DONE Relancer résultats avec NA1287 et NA12878 + sanger
CLOSED: [2023-08-29 Tue 10:30] SCHEDULED: <2023-08-29 Tue>
*** DONE Comparer avec hg19
CLOSED: [2023-08-28 Mon 17:22] SCHEDULED: <2023-08-20 Sun>
*** DONE Comparer avec autres kit de capture
CLOSED: [2023-08-28 Mon 17:22] SCHEDULED: <2023-08-20 Sun>
*** DONE Comparer avec no-alt
CLOSED: [2023-08-28 Mon 17:22] SCHEDULED: <2023-08-20 Sun>
** 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..
*** DONE Diminuer mémoire pour haplotypecaller
CLOSED: [2023-09-20 Wed 21:44] SCHEDULED: <2023-09-19 Tue>
/Entered on/ [2023-09-19 Tue 15:30]
Medium = 32Go pour 6 coeurs => 4 jobs (donc tout le noeud) prend plus que les 96GB...
On essaie 16Gb
Puis commit
*** DONE Report multiqc avec 10 runs
CLOSED: [2023-09-19 Tue 15:31] SCHEDULED: <2023-09-19 Tue>
/Entered on/ [2023-09-19 Tue 15:31]
Cf mail 2023-09-19
*** DONE Bug: variant sur 7788314 pour patient 62982193 filtré : DP < 30
CLOSED: [2023-10-02 Mon 21:58] SCHEDULED: <2023-09-25 Mon>
/Entered on/ [2023-09-22 Fri 22:59]
35 selon IGV mais 27 en pratique dans le VCF.
VCF cento: 26 reads également...
VOUS, non confirmé sanger
Mail envoyé Alexis
Vu avec Paul : on laisse DP >= 30 si c'est la seule occurence
*** DONE Bug mésohelios: les jobs se font killer :bug:
CLOSED: [2023-10-13 Fri 11:44]
/Entered on/ [2023-10-11 Wed 12:06]
**** DONE Comprendre pourquoi
CLOSED: [2023-10-11 Wed 16:06] SCHEDULED: <2023-10-11 Wed>
Utilisateurs déconnectés à 4h du matin tous les jours
**** DONE Démarrer nextflow avec sbatch
CLOSED: [2023-10-13 Fri 11:07] SCHEDULED: <2023-10-11 Wed>
On retrouve le même bug avec squeue qui n'arrive pas à retrouver l'utilisateur en utilisant nextflow+nix
Même en forcant USER et export NXF_OPTS='-D"user.name=apraga"'
Test avec la version packagée sur mésocentre (il faut mettre à la main le dossier...): ok
#+begin_src sh
module load nextflow@23.04.3/gcc-12.1.0
# Force it
nextflow="/Softs/spack/opt/spack/linux-rocky8-x86_64/gcc-12.1.0/nextflow-23.04.3-qputqf2dmtvabpv76mizj63gbsa5irq3/bin/nextflow -c /nix/store/q46gdjil6bbap0bcghpqimh1camzmlpx-nextflow.config"
#+end_src
Avec user.name= on a une exécution correcte :
#+begin_src sh
#!/bin/bash -l
# Fichier submission.SBATCH
#SBATCH --job-name="bisonex"
#SBATCH --output=%x.%J.out ## %x=job name, %J=job id
#SBATCH --error=%x.%J.out
# walltime (hh:mm::ss) max is 8 days
#SBATCH -t 24:00:00
#SBATCH --partition=smp
#SBATCH -c 1 ## request 16 cores (MAX is 32)
#SBATCH --mem=12G ## (MAX is 96G)
#SBATCH --mail-user=apraga@chu-besancon.fr
#SBATCH --mail-type=END,FAIL # notify when job end/fail
module load nix/2.11.0
# Otherwise job fails as it cannot write to $HOME/.nextflow
export NXF_HOME=/Work/Users/apraga/.nextflow
# user.name must be forced (again... our fix does not seem to work in nix)
nextflow -Duser.name=apraga run main.nf -profile standard,helios --input=samples.csv --genome=GRCh38
#+end_src
**** DONE Mettre à jour documentation
CLOSED: [2023-10-13 Fri 11:44] SCHEDULED: <2023-10-13 Fri>
** DONE Mettre à jour spip pour corriger bug 62982239 : variant trop long (?)
CLOSED: [2023-09-22 Fri 22:22] SCHEDULED: <2023-09-21 Thu>
/Entered on/ [2023-09-21 Thu 23:11]
Rapporté par https://github.com/raphaelleman/SPiP/issues/9
*** DONE Relance run
CLOSED: [2023-09-22 Fri 22:22] SCHEDULED: <2023-09-21 Thu>
*** DONE Mise à jour spip
CLOSED: [2023-09-21 Thu 23:41] SCHEDULED: <2023-09-21 Thu>
** DONE nixpkgs unstable -> 23.05
CLOSED: [2023-09-22 Fri 22:22] SCHEDULED: <2023-09-21 Thu>
*** DONE repasser tests sanger
CLOSED: [2023-09-22 Fri 22:22] SCHEDULED: <2023-09-21 Thu>
** 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 Recalib