7NDZXAGUWT2JOXEDHCP7OGVNLC7XUNJ2MNEBKDJKSJ2ZFL5HF4YAC
UZRQK66ND6HBQK4D6JR55QQIC2SNDQW7RQENB5QQETQF7Z6AOKYAC
3VSDERGS3N6XRZQ43MW35FLFWWJA446PMGIVLFORYC46LJV2LBIAC
36DOXPCS6H5JNDEGCINCKM34KVMO3GO3PQ7ZLQTJUG2KVIEGY63QC
RHWQQAAHNHFO3FLCGVB3SIDKNOUFJGZTDNN57IQVBMXXCWX74MKAC
57HKJ3RTGJCI3S7H7NBEOXOXOHEBFO5UU7TQ2QBQKGKSRBGET2KAC
CXW37WKZDOFBTPGZQGQVWDWGA7YWGGJ47SSD4KYEXD6MPERELGGAC
H4Z5DFETL5NXAG3PVNK4IBDA23N43NJCY6DWQXWYY5QH6TJPRFJQC
RD3CCLTFR4URAIILI25TBU7T4GAFWRCGBT6OTQD6JQYGJROYH6ZQC
WHKJYYZX7Y2VYHEX4NAKKV4DHI3RBHY3XJMIGPYBPCD3DNWZUHDQC
SQAG5QHQNITVNTIDS74F2EYBFIQV24HFZ4D3A2UY2Y4SG7KT4HNQC
2USCLVIQKYC5MNFUSK2C7MBTKF6F3MEJMWFVBA4YP4UFLZ5IYMNQC
6XUWY7T2ITWJYRUHDWSG66N7DYCBBXHRHQAAS7GGINDYUJHGMARQC
KI2Y5WJ7SSVKLRPJU6RRILSUX2MXC4N2XFVKQMIVGU3X3GZJ4JXAC
V2OKSDO55R2INBKDK7ASPUELVDM4UUVO6473UNOYOTLFY4GWUPQQC
QIG7S6MXT4CXUEX3UAHPVIQFZGYLCQLWVOGMGLDAGOQM37TWOHLAC
WA2PHAVLSTPOCNUQPQYYLCLCX4MWYGDESYWBO6QKLL3VHSW7VCHAC
CKXX2K6A6RCMJENA3XKDBHO3YULTUDORZ2M5ZXE4UQKIIXHBVIQQC
Y3KZCY5V7PTZH32TTAWZRKSTBYWPAVTAF7RIRGYFCF7P2FMNJK3QC
PF26TK56C5E5LYGO7KUNSXWMRKBTYJLSBBZ5XE6OOQS2IUAUOS4QC
WL5R6AMW2SA27H5YOFYKRSTM344ZTIDVGBA55TS7QOU5LAKLV7VQC
DT6C4WOHE5XI6X2TEOGWEWHWNXXXC3YUHDQW25I3M5735MH7IEZQC
ULP633GABRVOBHMS7H2MFFWPPSVQJWMNZVNEUCGZE32HEWMH4KIAC
ZT7ANUTIQZ4P6FB7ND64I5RDV742TUDQSYCKIKCHVJQILXI4GJJQC
4AHHCX7IMAOJMMVO5WJ5EEGCK6ZXKKRPACHQLZVPVUKCYCADSV7AC
6I5YOOWLRTNU46Y5ZETRZL63M7CSCZVQZASO7UY55NI2JLY3XTZAC
KBAP3IHF4E6JXSYKVKNBXLCNHX2KGYGKVVS2ATPZ4JGJT7Y32YSAC
QG4DCZX33QC23H326IAKGTVI7H3VSKL2KYUAI3O24NLU6FRQWALQC
GVIG6NM3IZWXRRMVCZLCDQU4GFLU2ILVVNB7D7ARIPUWRRO6BLDAC
MYUW57ZZ32TZZYC7BZPFEUVUE5GO3UGSVTEJ6W7OC3EVU6DLVPFQC
RTP5CJJXW2DQQGKCS3R24GIB6MRCNVXWTZVUQYLXNNR4UXWWGD5AC
UDYBEVHXZDDUGDJIDTVDMQBMWMFQ7MXROB3ZKZO63JSSKKX35PBAC
KLANR23QTUGFNUP7WVIF77WYTUF24EU6U2SNSLTTDKFX2X3H5ZSAC
4NRMFG5JDCIHFLH5WFKP36ZD2XBLUHBSXJNRILIW3XSHAK23ESDAC
UHOVWI5235P26UNRND24XOYPI3FXSCBBM5TQ4S2RLR7V73HBIBLAC
6VQRQPVZNZYA6ARV43ETXW36OXN6A4CPVSXFGE7WMQEKPF5FY7RAC
2LBFA4LQNVXH4ZRWNBGCLJ5DXVW3MTBGEQGYCXUB555TFBBNI4QQC
IS5HIIR645T3EL62URXQSYIFNPK6ESGJ43QW2VDOYMU25IC6AQGQC
J7ADU7QMRON7G4PIMGIMQZYU2563AEM7D77JHXCPWHAXDYR5KP7QC
FSWJTE7HJWXGV3E3OFBSYY2EG2XSX7M2VCCUWFH5X6J5URJNDDPQC
INI4X4KVQ4TVQVFK5SRVTXRAKGQOW75ZESBEG5IIKLI63NCEGKXAC
NAX67OG4L3U4EASE6LCR6GQ64L6KBADKENFFAGZV6H44VSLSFSMQC
Z4JC5QKADUJB7BIW2IR34WPGU4ELNQW2LTOLG3OYMHCXALWKFEQAC
XZSZ6GPAFFOSKBI5GWB6ZNZX6IVOEYYVHO7363PNML67ULARYC6QC
EC4KYI7ATB4KBYYN6KPSRJQSFQJFA7QIABQNPX5ZSVOP46UMMKPQC
I4M33AR5I2LV33J3SMDN3MWOWJAVQGOWD7PUJYSKYNZGXRKK6ZRQC
VEUFJ7P7X3G7OBHNDQ3AQU2EYW7UX4EY5E7FW22C7GXTYXRIWJOAC
UFNUN5UYHRWFTKE7M2VJJMWSNPCLJZH4NJ3FNDLF2OW2T33OJOQAC
JC7WIPNKI5INKLTOLR4OACIUFNKDXOOYXAEXSE4VK2NDK7H7GIPAC
LLMDYVA3POS7NO3Y34RBKAAH3TVGU5ZNKXOKTT5O7PDRQPGEIOXAC
UEH32UWE5PRIEQUXBH2BLIXOKGIF2SFRRUYKV4AFA3G4NCNBYMFAC
EATIHU2DS3UQF3VRYBV3AEAQC3ZWFBFN3YV5SIL35RG7DHOJIPIQC
E6T3E2NLVJAM2NNBDG3DABW5WNJYSZMKIW4O7YD27NQMQFI5PP3QC
XIPIZZFWHUNPWKNRBB3WAFT64IUEITOCVY2YCHFMB7ZP2NGUGA7QC
OA2LY3TCTCUBN67P57P5NNM2INIMEZ56H76UFLFM43SK5PHWCICAC
6CVBGNZOBDCISGPDH4Z3N37EEUYVOBKMMCVM55OK233FSDS2DDRAC
WFTYYGX7JKPZPKMQAPS54FIAPPLHHJTQ2N3MVRR37G57235AIT3QC
6JOIJQ3N6CHKCNV3AA763TUD3XROFEQEWUDKPPHSPBPQ3YAOY6BQC
OUOSIJIGRPXOBNG2PQDMIUVJKQX4QDTKBMT44Q4KVQ5SF6CEQ3IAC
CODKUGR4OH2GM2GYYVDC3HYIF3PMOFOJAMXQBH6TUJUFEBN4STYQC
JR3UB52XAKHPCXIWLRJ3AH7YYX5I7A4OFOZILHAFTCOAJ5L4MWHQC
5SI3737GTSX2G3K2TYPXR6LRVWVO322B4RJOFK6E7EFHGUFZHA7QC
UBKAXYU7N3AT63PWE2VH6TTA3HQ27TVTDIELKEC6GL3RDMBYKYYAC
L57R65QXZBKUKBRT7T5Z74JRZPOWTJZY4F7OEDBK24Q2BFVA3INQC
XSEISNPEMZCVLAPNLY3J7CWIKQMMARMUTIRRB5NKDEPMB7UFDGFAC
6NDWGMZKNTDZ6GSJRMP3CZPL3CBFZUB6EOX26N6VFAYRWI6ZG6LAC
S6LMB6XTZ3VGO6UEHAZCZDFDLICQ4CIJS6NFJ3VCBYVEVK2ET65AC
DKEPHW27YVZJ55UDRP7MGSZRRXDKEPNTAN3Y4EWZYDTG7OY6266QC
HBRH3EXRMCCUNRAGVPFPMEKGY2LXCRMHAYGYW6URFK55X6HOI7NAC
5ULVEFBQOIIEPYRTQO4UMGYDD756DVKNHUL5OMNGWI7B3XTQ7KEAC
4RRZHBQUI3DRKCB4PIN5YF5TNXIV2APCGNZ6SQSB5FKAL722HO3AC
FM3FVI2I6JNQY5I6FACRNDWHRXVAGQQRZXR2WGYOASM6H56JSK5QC
7ZYARVJDIHXIVMIINQT7CLFHTTNJ5AZ3OZ7KWOL3QTOOXZSY74BAC
UPVCS5WSF5W5CYRF5YSG23C5CSFW4HFKZSJXXKBWGCMGO7V5GWAAC
NO65L7MGPDST6U4ZMLERQMFRMP2ZLHM3UJCT2KAXCDTHFBTE43XQC
ZP4GJZDZR4FPAZBMYQ2N54EC3PXNENMU37TNSDAARIJTGUALGMJAC
7DYPLKHTPQTAIT7Z7SLQRSMFE2LKUGYDHVDHPAK3HBZLSIYRMUSQC
KNZKRW5WZVVQL73LUG3GGFR5QHJJWI4LMOLHJUXUU4PHNBCBLJLAC
VBMV6H3DSTLSVZCQUAKSA4CFT7LSANFNALLETHLCPFH6Y3XPEAZAC
3ZXSF6LXHYWPRATRVITIZETB7FTSP3HYWHV7AIS3B65Y6ID3EWXQC
OBTSPHSHU52KOPFGNJV73WQMUIXY4GHHB5DVYXE5SNAO4TKT4L2QC
ABSLUMHP3JJD5OV4QLQPQ56JGOP7BU33OD6NZ7UYL6X6LCX3RA5AC
MTCD3SJJNAL53NRAVPZYWDHH2JGMAMF6KHX5M6WRZ3KDNSKWTGUQC
ARJKNPIONJSH7KGWIIK6UFTEUJD7Q554X6U37BCPQI3PJ4RUCWXAC
VOPHQ335YHOI5OCXI6PMW757DQISRLUF2JIJSSGBTHDRQMEOB6QAC
YIR5YKH3RWWM657KRDDPO7FAWA2Y4UOKHAH2ZRCAQUSBS333SIHQC
BSZSUYUWGGM7DKBXK3AZZJFWFWLODMNPLDTAEHY7PWK2PI2NSCIQC
GCEVQDVSD7SSWN2EEAD2B7TSW2RXFI3GPOCFRXEEQYWRDBWZGW5AC
RWZ457JG7GN4JJKPRNLB22OHOGYSKR756OQUWLJDAEXRCHFBK42AC
YYYI54A7EXSROJ64AILVAR23PYF3VWS2C27QW4WIMWGOVDZHKJVQC
SDHADQGZ5ZPH7EBCKSODCEC4FBBNR7DPVQAA4EMNN7EPN5NR6GVAC
IDGVMP65NAONFW3OUNEQDKXOY25QFOT7DQB6L7FMD26KEQPWWSNQC
WFSLICIXRAADEXWZOHIX5PUUTJ33NHAMWOLO5B6NZKSGZDJ265AAC
REWWIJUK7BFIO5OGMPLYNROAWADNOJURQG746IMKKDETVAGDCEEQC
FXA3ZBV64FML7W47IPHTAJFJHN3J3XHVHFVNYED47XFSBIGMBKRQC
RUR2HQCDDUOIP7GD2GZV2UPCUF5QS6COVIVDKVIGZF22TVRFBKPAC
CRN5TEHRZUS2JA26WEEHG65MT4ADK6DYAFFY6SCYRRPIF36NRU4AC
YRQ3M7WMISB3THATHYUCMPOIMAKQPOVBSW3E5452GBVS25D4FERAC
P3XHQXDC67XSDOT7SQOKNGVAJ2NRAZTS7J73Y2PFKEEEHR4E4RQQC
BALWOUWURBWJZ7N7RMAYKQTPUYFVJDZ562C6M7AGAA5F3NMCY2DQC
GERU6UBLZHH7HJMJIL6GHY4KLMO4VGSHI7UWCRX3EEVUYAY5AQJAC
TF57F5BAMREE7DHNBGN6SWNMMHU5A27DP23KCLHM74BGOQBOKLAQC
ZYKXMZ6KNGWRI4AG4ZAEVUPABPSUWHCTYYRJWUPLPPMZ3ZPTPQHAC
N6WY6C3RAYTXRJKB27TZ6BKFKY4DIRFD5GJBPMFK52A6J3HVDG6QC
FGRZYV3XLUW7UNJCWE7LTW4PRHIJVG5RUMQUZH5GZ3ZKMV3UQTYQC
* Projets personnel
** Assistant
:PROPERTIES:
:CATEGORY: assistant
:END:
*** DONE Regarder ce qu'Yvain a fait
** CentoX
*** Raw data
**** DONE Ne plus utiliser les .size mais récupérer directement la taille sur le serveur
CLOSED: [2022-07-26 Tue 17:36]
**** DONE Faire fonctionner taches récurrente avec Windows
CLOSED: [2022-11-19 Sat 17:34]
Erreur 0x1 : a priori résolu en démarrant le script dans le bon répertoire...
*** Notes
**** Extraction de données
- Trop compliqué de travailles sur la structure du pdf
- Extraire le tableau avec python ?
- Comparaison
- pdftotext : bon résultats sur page 1. Sur les ségrégations, il n’y a pas de retour à la ligne avant l’indication
- pdfminer donne des résultats légèrement supérieurs, beaucoup d’espaces sur les ségrégations
- pypdf2 : trop de retours à la lignes intempestifs dans le texte
La structure du tableau est perdue dans tous les cas
**** Parser
Liste de parser : https://tomassetti.me/parsing-in-python/
* Learning Haskell :haskell:
** [#A] [[https://www.reddit.com/r/haskell/comments/npxfba/comment/h084wwa/?utm_source=share&utm_medium=web2x&context=3][Reddit suggestion]]]
*** Learn Foundational building blocks
- [X] [[https://mmhaskell.com/monads/functors][Functor]]
- [X] [[https://mmhaskell.com/monads/applicatives][Applicatives]]
- [X] [[https://mmhaskell.com/monads/tutorial][Monads]]
- [X] [[https://mmhaskell.com/monads/reader-writer][Reader, writer]]
- [X] [[https://mmhaskell.com/monads/state][State]]
- [X] [[https://mmhaskell.com/monads/transformers][Transformers]]
- [ ] [[https://mmhaskell.com/monads/laws][Laws]]
*** Real-world example
**** STRT Look at the example
- [X] Database
- [ ] API
**** Relax for a few days and watch how interactive programs are being composed
**** Get back to the real-world example and make it a complete Cabal project.
**** [[https://mmhaskell.com/testing/test-driven-development][Testing]]
*** [#A] Best resource : [[https://downloads.haskell.org/~ghc/8.10.4/docs/html/users_guide/glasgow_exts.html#language-options][Language Reference]]
whenever you see an unknown language extension or a compilation flag, look it up in Language Reference and try to understand it. You don't have to fully understand them though, just read about them and keep them on your mind. One day they will begin to automatically click into a sound set of concepts.
Language Reference is one of the most underappreciated sources of information (it's almost universally overlooked in language communities - it was the case for Python, and I find it to be true for Haskell as well). You mentioned that you don't like REPL examples, and neither do I. Luckily, the User Guide/Reference has introductory sections for people like us. Once I knew how to compile a single file and to run it, the rest was just a matter of getting to know things by their name in a new ecosystem.
*** DONE Learn to compose things
When you already know how to compile and run single-module interactive console programs, it takes about a day to understand basics of Cabal, and about a week to learn about input parsing and output formatting. Do you need CLI args? Use optparse-applicative. Env vars? Use envy. JSON? Use aeson and a cheatsheet. Don't think about performance and/or API conventions, that's not what you should be concerned of at this point, as you are just learning to compose things together from individual parts.
*** Experiment with various libraires, read haskell planetarium
At this point you have enough knowledge to begin experimenting with various libraries and APIs. Learn how to use Hoogle, and read as much as you can/want on Haskell Planetarium.
** KILL Learn Haskell for your greater good
:PROPERTIES:
:CUSTOM_ID: kill-learn-haskell-for-your-greater-good
:END:
50%
** HOLD [[books.org::Haskell%20Programming%20From%20First%20Principles][Haskell programming from first principles]]
** GHC
*** GHC commentary
Notamment Ollie Charles's 24 days of GHC Extensions,
*** Lire [[https://www.aosabook.org/en/ghc.html]]
** Vidéos
*** STRT https://www.youtube.com/watch?v=re96UgMk6GQ
** Articles historiques
1. [[https://watermark.silverchair.com/320098.pdf?token=AQECAHi208BE49Ooan9kkhW_Ercy7Dm3ZL_9Cf3qfKAc485ysgAAAsYwggLCBgkqhkiG9w0BBwagggKzMIICrwIBADCCAqgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMHXfjdjwhGI2t4bLLAgEQgIICeQjZ-I8gmuaFqBktP4IOifHODtMAHcNF_LwRYyq7NswQ7vT6LJho9P_junCAORLGMV9dgq9JMePH2PFKNxXxrEP1VY7rIDG0gzoeObSkgMDn4MXalrIxD3ejY8vsGYy6vce8Kh70J_UJ8RamO1l3BNNUzy2W6VRaa_cMQr_ekdwcz0oihz0BVKn_bgm_8DjiiPhzj8uU9flVhi13t_oIFA6b3At2QMmPe7Z9OyfLkXivKkmKKNoHwSS7AnTIYAKCO383e4kG6NzZ_elai-XMAJs2Nk0vcgaltld1KeaW3269104DdIlFGevJUVNgwE_4LIheSYRZr9Gr0yRR6TROxdsyxrmgQ22Pzxxpnl8-KdjkW6aRSCKNk_yb5hYcPoRa3ldc5yPV15j8i4t9Mv4U_mBwmIRtMIKPdEHeMvcRx6c8_8uT4RV2esuOPfZlA05bzBgJhMS87M8myxisH-exkTMkm58o6nzHf1lGxzn_JS1VSHbhJCUl82ubzzOWjvl3QJM_vv805XTbn_G-fcRi0d9EQIRTqoObWVFyXW-pz16bWoZPZnBQ1gOmc3hPTGBMZjFR6p9VEAO7bKcK8o0yQDjVWEELNwfAAHc-oF_wLiEjXDNBoUttghgQzzvymKY_jSZhcU8TraVu2i551fpuDNEjSJd0qY5Rg3J6eWU550nJmnoWmX6o7KGiYp0vVMfOoFYXJ1trZWSGoRhDQP2LOLIOt3t2idlj6kV_MoCY3BRnkbxf4XIH7gLJf6Dky6hXFbTU8Fjsn8XHBeKSmaAYJ-sbmGB_BdZO8hHyvHvPv0lTtGcSuKywoJhMbblXRzyuacj_6mZQl5j3tAWhy][Why functional programming matters]]
Très lisible
2. [[https://dl.acm.org/doi/pdf/10.1145/91556.91592][Comprehending monads]]
Introduction du concept
3. [[https://dl.acm.org/doi/pdf/10.1145/158511.158524][Imperative functional programming]]
Application des monads poru résoudre le problème IO
* Langues
** Japonais
:PROPERTIES:
:CATEGORY: japonais
:END:
*** Miura [7/7]
**** DONE Leçon 1 [/]
***** DONE Lire
***** DONE Anki
**** KILL Leçon 2 [2/2]
CLOSED: [2023-07-07 Fri 18:48]
***** DONE Lire
***** KILL Anki
CLOSED: [2023-07-07 Fri 18:48]
****** KILL Grammaire
CLOSED: [2023-07-07 Fri 18:48]
**** KILL Leçon 3
CLOSED: [2023-07-07 Fri 18:44]
***** DONE Lire
***** KILL Anki
CLOSED: [2023-07-07 Fri 18:44]
****** KILL Grammaire
CLOSED: [2023-07-07 Fri 18:44]
**** KILL Leçon 4
CLOSED: [2023-07-07 Fri 18:44]
***** DONE Lire
***** KILL Anki
CLOSED: [2023-07-07 Fri 18:44]
****** KILL Grammaire
CLOSED: [2023-07-07 Fri 18:44]
**** KILL Leçon 5
CLOSED: [2023-07-07 Fri 18:44]
***** DONE Lire
***** KILL Anki
CLOSED: [2023-07-07 Fri 18:44]
****** KILL Grammaire
CLOSED: [2023-07-07 Fri 18:44]
**** KILL Leçon 6
CLOSED: [2023-07-07 Fri 18:44]
***** DONE Lire
***** KILL Anki
CLOSED: [2023-07-07 Fri 18:44]
****** KILL Grammaire
CLOSED: [2023-07-07 Fri 18:44]
**** KILL Leçon 7
CLOSED: [2023-07-07 Fri 18:44]
***** KILL Lire
CLOSED: [2023-07-07 Fri 18:44]
***** KILL Anki
CLOSED: [2023-07-07 Fri 18:44]
****** KILL Grammaire
CLOSED: [2023-07-07 Fri 18:44]
**** Lire
*** Leçon Aya
:PROPERTIES:
:CATEGORY: aya
:END:
**** KILL Lire dialogue fin leçon 10
CLOSED: [2022-12-03 Sat 12:34] SCHEDULED: <2022-07-30 Sat>
* 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:
SCHEDULED: <2023-07-07 Fri>
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
SCHEDULED: <2023-07-07 Fri>
***** 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 Implémenter les indel avec VAF :indel:
SCHEDULED: <2023-07-07 Fri>
*** TODO Soumission paquet
* Famille
** DONE Cadeaux Maxence + Emy
CLOSED: [2023-07-02 Sun 18:20] SCHEDULED: <2023-07-02 Sun>
/Entered on/ [2023-07-02 Sun 10:53]
Maxence : Éveil musical
** DONE Cadeaux Maxence + Emy
CLOSED: [2023-07-07 Fri 18:40]
/Entered on/ [2023-07-02 Sun 10:53]
Maxence : Éveil musical
** Mustard :mustard:
*** Scripts
**** DONE Script pour données labkey
on convertit tous les pdf en png puis OCR avec tesseract pour les transformer en texte
On supprimer les header et footer à la main
Cf ~/code/scripts/python/mustard/courrier.py
**** DONE Renommer les dossiers PED
#+begin_src python :results output
import pandas as pd
import os
import os.path
dir1 = "/alexi/Documents/mustard/"
dir2 = "/alexi/Documents/mustard-new/"
p = pd.read_csv(os.path.join(dir1, "Patients_2022-02-02_11-44-03.tsv"), sep='\t')
# id + p.nom + " " + p.prenom + " " + p.date_de_naissance
for i in p.index:
split = p['patientID'][i].split(".")
# Only store the index case
if split[1] == "1":
dest = p.nom[i].upper() + " " + p.prenom[i] + " " + p.date_de_naissance[i]
print(f"ok {split[0]} {dest}")
src = os.path.join(dir1, split[0])
if os.path.exists(src):
if p.nom[i] != "Non renseigné":
os.rename(src, os.path.join(dir2, dest))
else:
os.rename(src, os.path.join(dir2, split[0]))
#+end_src
**** DONE Générer clinique
#+begin_src python :results output
import pandas as pd
import os
import os.path
dir = "/alexi/Documents/mustard/"
p = pd.read_csv(os.path.join(dir, "Patients_2022-02-02_11-44-03.tsv"), sep='\t')
# id + p.nom + " " + p.prenom + " " + p.date_de_naissance
f = open(os.path.join(dir, "clinique2.csv"), 'w')
for i in p.index:
split = p['patientID'][i].split(".")
# Only store the index case
if split[1] == "1":
folder = p.nom[i].upper() + " " + p.prenom[i] + " " + p.date_de_naissance[i]
if os.path.exists(os.path.join(dir, folder)):
f.write(split[0] + ";" + p.nom[i].upper() + ";" + p.prenom[i] + ";" + p.date_de_naissance[i] + "\n")
#+end_src
**** KILL Stats sur la balance allélique pour Paul
CLOSED: [2023-07-07 Fri 18:47]
***** DONE Besançon seul : total, par variant
CLOSED: [2022-10-28 Fri 10:57]
***** DONE Dijon + Besançon seul : total, par variant et par type de prélèvement
CLOSED: [2022-12-03 Sat 12:35]
Dans "variations à vérifier". 1 seul variant normalement en miseq, parfois plusieurs en exome
AB = "allelic balance"
***** KILL Rajouter une colonne balance allélique
CLOSED: [2023-07-07 Fri 18:47]
****** KILL Ancien panel
CLOSED: [2023-07-07 Fri 18:44]
****** KILL Nouveau panel
CLOSED: [2023-07-07 Fri 18:44]
****** KILL Dijon
CLOSED: [2023-07-07 Fri 18:44]
***** KILL Version executable pour paul
CLOSED: [2023-07-07 Fri 18:44]
Avec colonne dédiée
*** Données
**** DONE Import Labkey
**** KILL Clinique, OCR et nettoyage données labkey [1199/1199]
CLOSED: [2023-07-07 Fri 18:44]
DONE = sur scality (mis dans ~/annex/mustard/done)
SRT = traité, non transféré (en attente dans ~/annex/mustard)
***** DONE PED0052
***** DONE PED0105
***** DONE PED1001
***** DONE PED1004
***** DONE PED1007
***** DONE PED1009
***** DONE PED1013
***** DONE PED1015
***** DONE PED1026
***** DONE PED1027
CLOSED: [2022-08-01 Mon 09:44]
***** DONE PED1034
CLOSED: [2022-08-01 Mon 09:44]
***** DONE PED1035
CLOSED: [2022-08-01 Mon 09:44]
***** DONE PED1036
***** DONE PED1037
***** DONE PED1038
CLOSED: [2022-11-08 Tue 22:20]
***** DONE PED1040
CLOSED: [2022-11-08 Tue 22:20]
***** DONE PED1042
CLOSED: [2022-11-08 Tue 22:20]
***** DONE PED1043
CLOSED: [2022-11-08 Tue 22:20]
***** DONE PED1044
CLOSED: [2022-11-08 Tue 22:20]
***** DONE PED1045
CLOSED: [2022-11-08 Tue 22:20]
***** DONE PED1064
CLOSED: [2022-11-08 Tue 22:20]
***** DONE PED1068
CLOSED: [2022-11-08 Tue 22:20]
***** DONE PED1069
CLOSED: [2022-11-08 Tue 22:20]
***** DONE PED1070
CLOSED: [2022-11-08 Tue 22:20]
***** DONE PED1071
CLOSED: [2022-11-08 Tue 22:20]
***** DONE PED1072
CLOSED: [2022-11-08 Tue 22:20]
***** DONE PED1075
CLOSED: [2022-11-08 Tue 22:20]
***** DONE PED1077
CLOSED: [2022-11-08 Tue 22:20]
***** KILL PED1078
CLOSED: [2023-07-07 Fri 18:44]
***** KILL PED1079
CLOSED: [2023-07-07 Fri 18:44]
***** KILL PED1080
CLOSED: [2023-07-07 Fri 18:44]
***** KILL PED1083
CLOSED: [2023-07-07 Fri 18:44]
***** KILL PED1084
CLOSED: [2023-07-07 Fri 18:44]
***** KILL PED1085
***** KILL PED1086
***** KILL PED1087
***** KILL PED1088
***** KILL PED1089
***** KILL PED1150
***** KILL PED1151
***** KILL PED1152
***** KILL PED1153
***** KILL PED1154
***** KILL PED1155
***** KILL PED1156
***** KILL PED1157
***** KILL PED1158
***** KILL PED1159
***** KILL PED1160
***** KILL PED1161
***** KILL PED1165
***** KILL PED1166
***** KILL PED1167
***** KILL PED1168
***** KILL PED1174
***** KILL PED1190
***** KILL PED1191
***** KILL PED1192
***** KILL PED1193
***** KILL PED1194
***** KILL PED1227
***** KILL PED1228
***** KILL PED1273
***** KILL PED1274
***** KILL PED1275
***** KILL PED1276
***** KILL PED1277
***** KILL PED1278
***** KILL PED1344
***** KILL PED1346
***** KILL PED1347
***** KILL PED1348
***** KILL PED1351
***** KILL PED1352
***** KILL PED1402
***** KILL PED1404
***** KILL PED1405
***** KILL PED1406
***** KILL PED1407
***** KILL PED1408
***** KILL PED1409
***** KILL PED1410
***** KILL PED1411
***** KILL PED1412
***** KILL PED1413
***** KILL PED1425
***** KILL PED1429
***** KILL PED1451
***** KILL PED1494
***** KILL PED1495
***** KILL PED1496
***** KILL PED1497
***** KILL PED1498
***** KILL PED1499
***** KILL PED1500
***** KILL PED1501
***** KILL PED1502
***** KILL PED1503
***** KILL PED1523
***** KILL PED1524
***** KILL PED1570
***** KILL PED1582
***** KILL PED1583
***** KILL PED1584
***** KILL PED1585
***** KILL PED1586
***** KILL PED1587
***** KILL PED1588
***** KILL PED1589
***** KILL PED1590
***** KILL PED1591
***** KILL PED1592
***** KILL PED1593
***** KILL PED1594
***** KILL PED1595
***** KILL PED1609
***** KILL PED1610
***** KILL PED1622
***** KILL PED1623
***** KILL PED1633
***** DONE PED1634
***** KILL PED1635
***** KILL PED1638
***** KILL PED1679
***** KILL PED1680
***** KILL PED1681
***** KILL PED1683
***** KILL PED1685
***** KILL PED1687
***** KILL PED1815
***** KILL PED1816
***** KILL PED1881
***** KILL PED1882
***** KILL PED1883
***** KILL PED1884
***** KILL PED1885
***** KILL PED1886
***** KILL PED1887
***** KILL PED1888
***** KILL PED1901
***** KILL PED1915
***** KILL PED1916
***** KILL PED1917
***** KILL PED1931
***** KILL PED1933
***** KILL PED1934
***** KILL PED1935
***** KILL PED1947
***** KILL PED1949
***** KILL PED1950
***** KILL PED1951
***** KILL PED1953
***** KILL PED1954
***** KILL PED1955
***** KILL PED1956
***** KILL PED1957
***** KILL PED1959
***** KILL PED1962
***** KILL PED1963
***** KILL PED1965
***** KILL PED1969
***** KILL PED1970
***** KILL PED1971
***** KILL PED1972
***** KILL PED1974
***** KILL PED1975
***** KILL PED1976
***** KILL PED1977
***** KILL PED1978
***** KILL PED1979
***** KILL PED1981
***** KILL PED1982
***** KILL PED1983
***** KILL PED1984
***** KILL PED1985
***** KILL PED1986
***** KILL PED1987
***** KILL PED1988
***** KILL PED1989
***** KILL PED1990
***** KILL PED1991
***** KILL PED1992
***** KILL PED1993
***** KILL PED1996
***** KILL PED2015
***** KILL PED2016
***** KILL PED2017
***** KILL PED2018
***** KILL PED2019
***** KILL PED2050
***** KILL PED2052
***** KILL PED2068
***** KILL PED2069
***** KILL PED2070
***** KILL PED2071
***** KILL PED2072
***** KILL PED2073
***** KILL PED2074
***** KILL PED2075
***** KILL PED2076
***** KILL PED2082
***** KILL PED2086
***** KILL PED2094
***** KILL PED2097
***** KILL PED2098
***** KILL PED2099
***** KILL PED2105
***** KILL PED2111
***** KILL PED2114
***** KILL PED2128
***** KILL PED2129
***** KILL PED2134
***** KILL PED2140
***** KILL PED2141
***** KILL PED2147
***** KILL PED2153
***** KILL PED2154
***** KILL PED2155
***** KILL PED2156
***** KILL PED2157
***** KILL PED2172
***** KILL PED2173
***** KILL PED2178
***** KILL PED2179
***** KILL PED2184
***** KILL PED2191
***** KILL PED2195
***** KILL PED2200
***** KILL PED2201
***** KILL PED2202
***** KILL PED2203
***** KILL PED2204
***** KILL PED2205
***** KILL PED2212
***** KILL PED2216
***** KILL PED2217
***** KILL PED2219
***** KILL PED2220
***** KILL PED2222
***** KILL PED2227
***** KILL PED2252
***** KILL PED2253
***** KILL PED2254
***** KILL PED2262
***** KILL PED2265
***** KILL PED2270
***** KILL PED2281
***** KILL PED2282
***** KILL PED2286
***** KILL PED2301
***** KILL PED2304
***** KILL PED2306
***** KILL PED2307
***** KILL PED2308
***** KILL PED2309
***** KILL PED2310
***** KILL PED2311
***** KILL PED2312
***** KILL PED2313
***** KILL PED2317
***** KILL PED2323
***** KILL PED2325
***** KILL PED2333
***** KILL PED2338
***** KILL PED2339
***** KILL PED2341
***** KILL PED2345
***** KILL PED2346
***** KILL PED2350
***** KILL PED2353
***** KILL PED2354
***** KILL PED2355
***** KILL PED2356
***** KILL PED2357
***** KILL PED2360
***** KILL PED2363
***** KILL PED2364
***** KILL PED2366
***** KILL PED2368
***** KILL PED2369
***** KILL PED2371
***** KILL PED2376
***** KILL PED2379
***** KILL PED2380
***** KILL PED2381
***** KILL PED2392
***** KILL PED2394
***** KILL PED2396
***** KILL PED2397
***** KILL PED2398
***** KILL PED2402
***** KILL PED2405
***** KILL PED2411
***** KILL PED2412
***** KILL PED2415
***** KILL PED2417
***** KILL PED2418
***** KILL PED2421
***** KILL PED2424
***** KILL PED2428
***** KILL PED2430
***** KILL PED2441
***** KILL PED2442
***** KILL PED2476
***** KILL PED2479
***** KILL PED2480
***** KILL PED2485
***** KILL PED2486
***** KILL PED2488
***** KILL PED2492
***** KILL PED2493
***** KILL PED2494
***** KILL PED2498
***** KILL PED2500
***** KILL PED2508
***** KILL PED2513
***** KILL PED2553
***** KILL PED2558
***** KILL PED2565
***** KILL PED2569
***** KILL PED2578
***** KILL PED2579
***** KILL PED2580
***** KILL PED2583
***** KILL PED2586
***** KILL PED2587
***** KILL PED2588
***** KILL PED2593
***** KILL PED2594
***** KILL PED2597
***** KILL PED2598
***** KILL PED2605
***** KILL PED2606
***** KILL PED2613
***** KILL PED2615
***** KILL PED2616
***** KILL PED2619
***** KILL PED2621
***** KILL PED2623
***** KILL PED2627
***** KILL PED2629
***** KILL PED2634
***** KILL PED2636
***** KILL PED2637
***** KILL PED2640
***** KILL PED2643
***** KILL PED2656
***** KILL PED2659
***** KILL PED2660
***** KILL PED2661
***** KILL PED2662
***** KILL PED2674
***** KILL PED2678
***** KILL PED2679
***** KILL PED2682
***** KILL PED2687
***** KILL PED2689
***** KILL PED2690
***** KILL PED2694
***** KILL PED2697
***** KILL PED2699
***** KILL PED2702
***** KILL PED2705
***** KILL PED2714
***** KILL PED2715
***** KILL PED2716
***** KILL PED2718
***** KILL PED2722
***** KILL PED2725
***** KILL PED2726
***** KILL PED2727
***** KILL PED2728
***** KILL PED2737
***** KILL PED2738
***** KILL PED2739
***** KILL PED2741
***** KILL PED2742
***** KILL PED2743
***** KILL PED2744
***** KILL PED2747
***** KILL PED2756
***** KILL PED2758
***** KILL PED2760
***** KILL PED2761
***** KILL PED2765
***** KILL PED2766
***** KILL PED2767
***** KILL PED2769
***** KILL PED2771
***** KILL PED2774
***** KILL PED2780
***** KILL PED2781
***** KILL PED2782
***** KILL PED2787
***** KILL PED2792
***** KILL PED2793
***** KILL PED2799
***** KILL PED2800
***** KILL PED2801
***** KILL PED2802
***** KILL PED2820
***** KILL PED2824
***** KILL PED2825
***** KILL PED2828
***** KILL PED2832
***** KILL PED2836
***** KILL PED2837
***** KILL PED2838
***** KILL PED2844
***** KILL PED2846
***** KILL PED2848
***** KILL PED2850
***** KILL PED2852
***** KILL PED2862
***** KILL PED2866
***** KILL PED2872
***** KILL PED2875
***** KILL PED2877
***** KILL PED2878
***** KILL PED2882
***** KILL PED2884
***** KILL PED2885
***** KILL PED2899
***** KILL PED2904
***** KILL PED2905
***** KILL PED2909
***** KILL PED2919
***** KILL PED2920
***** KILL PED2925
***** KILL PED3004
***** KILL PED3018
***** KILL PED3020
***** KILL PED3025
***** KILL PED3027
***** KILL PED3029
***** KILL PED3030
***** KILL PED3032
***** KILL PED3033
***** KILL PED3035
***** KILL PED3037
***** KILL PED3043
***** KILL PED3046
***** KILL PED3048
***** KILL PED3075
***** KILL PED3076
***** KILL PED3077
***** KILL PED3078
***** KILL PED3152
***** KILL PED3155
***** KILL PED3161
***** KILL PED3163
***** KILL PED3165
***** KILL PED3170
***** KILL PED3173
***** KILL PED3174
***** KILL PED3176
***** KILL PED3179
***** KILL PED3248
***** KILL PED3256
***** KILL PED3265
***** KILL PED3294
***** KILL PED3302
***** KILL PED3304
***** KILL PED3324
***** KILL PED3331
***** KILL PED3337
***** KILL PED3342
***** KILL PED3344
***** KILL PED3348
***** KILL PED3351
***** KILL PED3366
***** KILL PED3370
***** KILL PED3385
***** KILL PED3396
***** KILL PED3397
***** KILL PED3410
***** KILL PED3416
***** KILL PED3417
***** KILL PED3426
***** KILL PED3456
***** KILL PED3458
***** KILL PED3464
***** KILL PED3467
***** KILL PED3472
***** KILL PED3475
***** KILL PED3477
***** KILL PED3480
***** KILL PED3485
***** KILL PED3496
***** KILL PED3524
***** KILL PED3530
***** KILL PED3534
***** KILL PED3550
***** KILL PED3563
***** KILL PED3569
***** KILL PED3576
***** KILL PED3577
***** KILL PED3578
***** KILL PED3645
***** KILL PED3649
***** KILL PED3655
***** KILL PED3661
***** KILL PED3664
***** KILL PED3670
***** KILL PED3680
***** KILL PED3681
***** KILL PED3683
***** KILL PED3685
***** KILL PED3689
***** KILL PED3692
***** KILL PED3708
***** KILL PED3714
***** KILL PED3723
***** KILL PED3725
***** KILL PED3727
***** KILL PED3730
***** KILL PED3749
***** KILL PED3751
***** KILL PED3752
***** KILL PED3753
***** KILL PED3760
***** KILL PED3765
***** KILL PED3766
***** KILL PED3767
***** KILL PED3771
***** KILL PED3781
***** KILL PED3782
***** KILL PED3791
***** KILL PED3792
***** KILL PED3796
***** KILL PED3798
***** KILL PED3823
***** KILL PED3829
***** KILL PED3839
***** KILL PED3840
***** KILL PED3848
***** KILL PED3849
***** KILL PED3862
***** KILL PED3881
***** KILL PED3883
***** KILL PED3886
***** KILL PED3894
***** KILL PED3895
***** KILL PED3901
***** KILL PED3904
***** KILL PED3915
***** KILL PED3919
***** KILL PED3927
***** KILL PED3928
***** KILL PED3930
***** KILL PED3937
***** KILL PED3939
***** KILL PED3940
***** KILL PED3943
***** KILL PED3951
***** KILL PED3955
***** KILL PED3956
***** KILL PED3959
***** KILL PED3960
***** KILL PED3961
***** KILL PED3970
***** KILL PED3979
***** KILL PED3996
***** KILL PED3999
***** KILL PED4001
***** KILL PED4009
***** KILL PED4037
***** KILL PED4040
***** KILL PED4044
***** KILL PED4046
***** KILL PED4048
***** KILL PED4051
***** KILL PED4065
***** KILL PED4068
***** KILL PED4069
***** KILL PED4079
***** KILL PED4080
***** KILL PED4100
***** KILL PED4104
***** KILL PED4110
***** KILL PED4111
***** KILL PED4113
***** KILL PED4114
***** KILL PED4118
***** KILL PED4128
***** KILL PED4131
***** KILL PED4133
***** KILL PED4135
***** KILL PED4136
***** KILL PED4142
***** KILL PED4161
***** KILL PED4163
***** KILL PED4164
***** KILL PED4165
***** KILL PED4199
***** KILL PED4203
***** KILL PED4204
***** KILL PED4208
***** KILL PED4213
***** KILL PED4214
***** KILL PED4223
***** KILL PED4226
***** KILL PED4227
***** KILL PED4234
***** KILL PED4235
***** KILL PED4236
***** KILL PED4237
***** KILL PED4238
***** KILL PED4239
***** KILL PED4240
***** KILL PED4241
***** KILL PED4248
***** KILL PED4256
***** KILL PED4260
***** KILL PED4263
***** KILL PED4266
***** KILL PED4275
***** KILL PED4284
***** KILL PED4287
***** KILL PED4302
***** KILL PED4309
***** KILL PED4321
***** KILL PED4326
***** KILL PED4332
***** KILL PED4336
***** KILL PED4338
***** KILL PED4347
***** KILL PED4363
***** KILL PED4376
***** KILL PED4377
***** KILL PED4383
***** KILL PED4384
***** KILL PED4387
***** KILL PED4396
***** KILL PED4416
***** KILL PED4421
***** KILL PED4433
***** KILL PED4439
***** KILL PED4440
***** KILL PED4443
***** KILL PED4445
***** KILL PED4447
***** KILL PED4452
***** KILL PED4457
***** KILL PED4461
***** KILL PED4464
***** KILL PED4470
***** KILL PED4479
***** KILL PED4485
***** KILL PED4500
***** KILL PED4503
***** KILL PED4507
***** KILL PED4527
***** KILL PED4528
***** KILL PED4529
***** KILL PED4530
***** KILL PED4535
***** KILL PED4538
***** KILL PED4540
***** KILL PED4558
***** KILL PED4565
***** KILL PED4581
***** KILL PED4590
***** KILL PED4594
***** KILL PED4597
***** KILL PED4599
***** KILL PED4601
***** KILL PED4622
***** KILL PED4624
***** KILL PED4629
***** KILL PED4638
***** KILL PED4642
***** KILL PED4648
***** KILL PED4670
***** KILL PED4674
***** KILL PED4677
***** KILL PED4679
***** KILL PED4683
***** KILL PED4684
***** KILL PED4685
***** KILL PED4686
***** KILL PED4695
***** KILL PED4699
***** KILL PED4711
***** KILL PED4713
***** KILL PED4719
***** KILL PED4720
***** KILL PED4726
***** KILL PED4729
***** KILL PED4744
***** KILL PED4760
***** KILL PED4764
***** KILL PED4768
***** KILL PED4777
***** KILL PED4788
***** KILL PED4789
***** KILL PED4794
***** KILL PED4799
***** KILL PED4800
***** KILL PED4801
***** KILL PED4818
***** KILL PED4820
***** KILL PED4848
***** KILL PED4849
***** KILL PED4850
***** KILL PED4872
***** KILL PED4877
***** KILL PED4889
***** KILL PED4895
***** KILL PED4905
***** KILL PED4914
***** KILL PED4917
***** KILL PED4920
***** KILL PED4921
***** KILL PED4928
***** KILL PED4940
***** KILL PED4941
***** KILL PED4942
***** KILL PED4943
***** KILL PED4944
***** KILL PED4955
***** KILL PED4959
***** KILL PED4965
***** KILL PED4967
***** KILL PED4968
***** KILL PED4975
***** KILL PED4983
***** KILL PED4984
***** KILL PED4989
***** KILL PED4997
***** KILL PED5000
***** KILL PED5005
***** KILL PED5006
***** KILL PED5007
***** KILL PED5013
***** KILL PED5014
***** KILL PED5031
***** KILL PED5042
***** KILL PED5045
***** KILL PED5053
***** KILL PED5058
***** KILL PED5059
***** KILL PED5066
***** KILL PED5076
***** KILL PED5087
***** KILL PED5099
***** KILL PED5103
***** KILL PED5104
***** KILL PED5113
***** KILL PED5121
***** KILL PED5125
***** KILL PED5144
***** KILL PED5145
***** KILL PED5146
***** KILL PED5148
***** KILL PED5152
***** KILL PED5160
***** KILL PED5162
***** KILL PED5163
***** KILL PED5164
***** KILL PED5177
***** KILL PED5182
***** KILL PED5183
***** KILL PED5184
***** KILL PED5185
***** KILL PED5189
***** KILL PED5197
***** KILL PED5201
***** KILL PED5202
***** KILL PED5206
***** KILL PED5211
***** KILL PED5214
***** KILL PED5221
***** KILL PED5234
***** KILL PED5242
***** KILL PED5258
***** KILL PED5263
***** KILL PED5264
***** KILL PED5292
***** KILL PED5293
***** KILL PED5312
***** KILL PED5319
***** KILL PED5327
***** KILL PED5328
***** KILL PED5329
***** KILL PED5330
***** KILL PED5331
***** KILL PED5332
***** KILL PED5333
***** KILL PED5337
***** KILL PED5345
***** KILL PED5351
***** KILL PED5352
***** KILL PED5353
***** KILL PED5372
***** KILL PED5380
***** KILL PED5384
***** KILL PED5389
***** KILL PED5399
***** KILL PED5401
***** KILL PED5402
***** KILL PED5403
***** KILL PED5409
***** KILL PED5415
***** KILL PED5419
***** KILL PED5427
***** KILL PED5439
***** KILL PED5440
***** KILL PED5442
***** KILL PED5452
***** KILL PED5461
***** KILL PED5465
***** KILL PED5488
***** KILL PED5489
***** KILL PED5508
***** KILL PED5511
***** KILL PED5514
***** KILL PED5515
***** KILL PED5523
***** KILL PED5524
***** KILL PED5525
***** KILL PED5543
***** KILL PED5552
***** KILL PED5553
***** KILL PED5558
***** KILL PED5571
***** KILL PED5574
***** KILL PED5576
***** KILL PED5582
***** KILL PED5584
***** KILL PED5585
***** KILL PED5586
***** KILL PED5592
***** KILL PED5593
***** KILL PED5594
***** KILL PED5599
***** KILL PED5607
***** KILL PED5608
***** KILL PED5619
***** KILL PED5620
***** KILL PED5629
***** KILL PED5639
***** KILL PED5642
***** KILL PED5653
***** KILL PED5661
***** KILL PED5662
***** KILL PED5666
***** KILL PED5669
***** KILL PED5670
***** KILL PED5672
***** KILL PED5676
***** KILL PED5684
***** KILL PED5697
***** KILL PED5700
***** KILL PED5718
***** KILL PED5724
***** KILL PED5725
***** KILL PED5726
***** KILL PED5727
***** KILL PED5730
***** KILL PED5731
***** KILL PED5737
***** KILL PED5738
***** KILL PED5743
***** KILL PED5749
***** KILL PED5760
***** KILL PED5768
***** KILL PED5769
***** KILL PED5781
***** KILL PED5796
***** KILL PED5798
***** KILL PED5807
***** KILL PED5812
***** KILL PED5815
***** KILL PED5816
***** KILL PED5827
***** KILL PED5866
***** KILL PED5867
***** KILL PED5868
***** KILL PED5870
***** KILL PED5871
***** KILL PED5873
***** KILL PED5900
***** KILL PED5901
***** KILL PED5911
***** KILL PED5926
***** KILL PED5928
***** KILL PED5930
***** KILL PED6035
***** KILL PED6048
***** KILL PED6049
***** KILL PED6056
***** KILL PED6066
***** KILL PED6079
***** KILL PED6080
***** KILL PED6087
***** KILL PED6088
***** KILL PED6100
***** KILL PED6101
***** KILL PED6107
***** KILL PED6113
***** KILL PED6114
***** KILL PED6115
***** KILL PED6116
***** KILL PED6117
***** KILL PED6118
***** KILL PED6121
***** KILL PED6135
***** KILL PED6143
***** KILL PED6144
***** KILL PED6158
***** KILL PED6174
***** KILL PED6187
***** KILL PED6189
***** KILL PED6190
***** KILL PED6196
***** KILL PED6205
***** KILL PED6206
***** KILL PED6208
***** KILL PED6213
***** KILL PED6217
***** KILL PED6220
***** KILL PED6222
***** KILL PED6223
***** KILL PED6224
***** KILL PED6233
***** KILL PED6235
***** KILL PED6241
***** KILL PED6252
***** KILL PED6256
***** KILL PED6263
***** KILL PED6275
***** KILL PED6280
***** KILL PED6347
***** KILL PED6359
***** KILL PED6369
***** KILL PED6370
***** KILL PED6385
***** KILL PED6414
***** KILL PED6430
***** KILL PED6438
***** KILL PED6450
***** KILL PED6460
***** KILL PED6467
***** KILL PED6468
***** KILL PED6474
***** KILL PED6915
***** KILL PED6918
***** KILL PED6928
***** KILL PED6931
***** KILL PED6940
***** KILL PED6941
***** KILL PED6945
***** KILL PED6956
***** KILL PED6988
***** KILL PED7001
***** KILL PED7016
***** KILL PED7041
***** KILL PED7047
***** KILL PED7051
***** KILL PED7052
***** KILL PED7053
***** KILL PED7054
***** KILL PED7057
***** KILL PED7061
***** KILL PED7067
***** KILL PED7076
***** KILL PED7086
***** KILL PED7092
***** KILL PED7101
***** KILL PED7105
***** KILL PED7121
***** KILL PED7162
***** KILL PED7163
***** KILL PED7165
***** KILL PED7167
***** KILL PED7187
***** KILL PED7197
***** KILL PED7198
***** KILL PED7201
***** KILL PED7202
***** KILL PED7207
***** KILL PED7227
***** KILL PED7228
***** KILL PED7230
***** KILL PED7252
***** KILL PED7277
***** KILL PED7281
***** KILL PED7289
***** KILL PED7293
***** KILL PED7321
***** KILL PED7329
***** KILL PED7331
***** KILL PED7341
***** KILL PED7343
***** KILL PED7347
***** KILL PED7391
***** KILL PED7393
***** KILL PED7394
***** KILL PED7421
***** KILL PED7422
***** KILL PED7432
***** KILL PED7435
***** KILL PED7436
***** KILL PED7437
***** KILL PED7447
***** KILL PED7471
***** KILL PED7472
***** KILL PED7507
***** KILL PED7508
***** KILL PED7509
***** KILL PED7534
***** KILL PED7548
***** KILL PED7557
***** KILL PED7568
***** KILL PED7575
***** KILL PED7581
***** KILL PED7582
***** KILL PED7589
***** KILL PED7601
***** KILL PED7612
***** KILL PED7613
***** KILL PED7637
***** KILL PED7638
***** KILL PED7643
***** KILL PED7647
***** KILL PED7653
***** KILL PED7665
***** KILL PED7674
***** KILL PED7718
***** KILL PED7722
***** KILL PED7732
***** KILL PED7735
***** KILL PED7740
***** KILL PED7741
***** KILL PED7745
***** KILL PED7756
***** KILL PED7761
***** KILL PED7767
***** KILL PED7769
***** KILL PED7770
***** KILL PED7773
***** KILL PED7778
***** KILL PED7791
***** KILL PED7806
***** KILL PED7807
***** KILL PED7808
***** KILL PED7817
***** KILL PED7823
***** KILL PED7827
***** KILL PED7835
***** KILL PED7846
***** KILL PED7857
***** KILL PED7875
***** KILL PED7876
***** KILL PED7885
***** KILL PED7902
***** KILL PED7905
***** KILL PED7914
***** KILL PED7937
***** KILL PED7938
***** KILL PED7942
***** KILL PED7962
***** KILL PED7963
***** KILL PED7964
***** KILL PED7965
***** KILL PED7966
***** KILL PED7967
***** KILL PED7997
***** KILL PED8002
***** KILL PED8003
***** KILL PED8013
***** KILL PED8014
***** KILL PED8015
***** KILL PED8021
***** KILL PED8035
***** KILL PED8050
***** KILL PED8052
***** KILL PED8056
***** KILL PED8074
***** KILL PED8098
***** KILL PED8099
***** KILL PED8105
***** KILL PED8114
***** KILL PED8121
***** KILL PED8130
***** KILL PED8149
***** KILL PED8151
***** KILL PED8155
***** KILL PED8172
***** KILL PED8195
***** KILL PED8203
***** KILL PED8210
***** KILL PED8214
***** KILL PED8267
***** KILL PED8294
***** KILL PED8295
***** KILL PED8315
***** KILL PED8321
***** KILL PED8323
***** KILL PED8334
***** KILL PED8366
***** KILL PED8368
***** KILL PED8375
***** KILL PED8376
***** KILL PED8379
***** KILL PED8429
***** KILL PED8437
***** KILL PED8461
***** KILL PED8494
***** KILL PED8501
***** KILL PED8511
***** KILL PED8517
***** KILL PED8525
***** KILL PED8540
***** KILL PED8541
***** KILL PED8558
***** KILL PED8580
***** KILL PED8582
***** KILL PED8593
***** KILL PED8595
***** KILL PED8603
***** KILL PED8608
***** KILL PED8614
***** KILL PED8615
***** KILL PED8617
***** KILL PED8618
***** KILL PED8622
***** KILL PED8624
***** KILL PED8631
***** KILL PED8634
***** KILL PED8635
***** KILL PED8636
***** KILL PED8637
***** KILL PED8638
***** KILL PED8641
***** KILL PED8654
***** KILL PED8660
***** KILL PED8661
***** KILL PED8663
***** KILL PED8670
***** KILL PED8680
***** KILL PED8685
***** KILL PED8687
***** KILL PED8690
***** KILL PED8693
***** KILL PED8709
***** KILL PED8722
***** KILL PED8790
***** KILL PED8801
***** KILL PED8807
***** KILL PED8810
***** KILL PED8816
***** KILL PED8818
***** KILL PED8832
***** KILL PED8852
***** KILL PED8866
***** KILL PED8869
***** KILL PED8870
***** KILL PED8878
***** KILL PED8894
***** KILL PED8917
***** KILL PED8937
***** KILL PED8947
***** KILL PED8951
***** KILL PED8961
***** KILL PED9013
***** KILL PED9024
***** KILL PED9051
***** KILL PED9057
***** KILL PED9074
***** KILL PED9083
***** KILL PED9088
***** KILL PED9095
***** KILL PED9131
***** KILL PED9152
***** KILL PED9181
***** KILL PED9200
***** KILL PED9202
***** KILL PED9252
***** KILL PED9270
***** KILL PED9271
***** KILL PED9281
***** KILL PED9282
***** KILL PED9285
***** KILL PED9286
***** KILL PED9287
***** KILL PED9345
***** KILL PED9367
***** KILL PED9368
***** KILL PED9405
***** KILL PED9430
***** KILL PED9440
***** KILL PED9445
***** KILL PED9456
***** KILL PED9458
***** KILL PED9528
***** KILL PED9559
***** KILL PED9740
**** DONE Fusionner exome dijon pour Paul
CLOSED: [2022-08-04 Thu 17:42]
***** DONE Enlever les doublons
CLOSED: [2022-09-13 Tue 21:36]
**** DONE Fusionner panel Dijons
**** DONE Fusion variants à vérifier de dijon
CLOSED: [2022-12-04 Sun 22:32]
**** KILL Dxcare
***** DONE Demande Dijon
***** KILL Demande DPO Besançon
**** KILL donnée pierre
**CLOSED: [2022-05-05 jeu. 17:53]
****** KILL Format de données final
CLOSED: [2023-07-07 Fri 18:44]
Voir avec Paul
*** Stockage
**** DONE Accès scality au travail
**** KILL VPN pour Jehanne
CLOSED: [2023-05-28 Sun 10:04]
*** Notes
- Sur phénotype mélanocytaire, il peut valoir le coup de faire de la CGH sur biopsie
Inconvénient du panel : on passe à côté
Inconvénient de l’exome : faible profondeur
En général, pas d’ADN suffisant pour les 3 !
- Idée de pipeline : CNV (mais il faut les références)
- 2 approches : exome direct ou CGH + panel
- Exome envoyé à integragen (ou CNR): problème = perte de financement car plus de centre de référence à Dijon
envoi dans le privé compliqué vu le coût...
** DONE DES [4/4]
CLOSED: [2023-07-07 Fri 18:47]
*** DONE Valider cours sur sides
*** KILL Vérifier que toutes les diapos sont sur one drive
CLOSED: [2023-07-07 Fri 18:47]
*** DONE Examen sur sides
*** KILL Lire les cours
CLOSED: [2023-07-07 Fri 18:47]
**** KILL Presentiel session 1 [9/9]
CLOSED: [2022-11-19 Sat 17:43]
***** DONE Introduction à la dysmorphologie
***** DONE Structuration du génome et mécanismes mutationnels
***** DONE Oncogénétique: introduction
***** KILL Diagnostic prénatal
CLOSED: [2022-11-19 Sat 17:35]
***** DONE Grandes technologies et bioinformatique
***** DONE Aspects réglementaires et éthiques
***** DONE Mucoviscidose
CLOSED: [2022-09-10 Sat 18:34]
***** KILL Bases sur le conseil génétique
CLOSED: [2022-11-19 Sat 17:35]
***** KILL SEPI et TD
CLOSED: [2022-11-19 Sat 17:35]
**** DONE E-learning session 1 [6/6]
***** DONE maladies endocriniennes et métabolisme
***** DONE anomalies de la croissance
***** DONE hématologie
***** DONE maladies du tissu conjonctif
***** DONE Oncogénétique
***** DONE dermatogénétique
**** KILL Presentiel session 2 [0/5]
CLOSED: [2022-11-19 Sat 17:43]
***** KILL Déficience intellectuelle
CLOSED: [2022-11-19 Sat 17:35]
***** KILL Génétique clinique et formelle
CLOSED: [2022-11-19 Sat 17:35]
***** KILL Pathologies fréquentes en génétique clinique
CLOSED: [2022-11-19 Sat 17:35]
***** KILL Génome humain : normal et pathologique
CLOSED: [2022-11-19 Sat 17:35]
***** KILL Maladies métaboliques
CLOSED: [2022-11-19 Sat 17:35]
**** KILL E-learning session 2 [6/6]
CLOSED: [2023-07-07 Fri 18:47]
***** DONE Infertilité
-> cours 1, diapo 31
***** DONE Syndromes microdélétionnels
***** DONE Dysgonosomies
***** DONE Cancer du colon: Maladie de Lynch et CMMRD
***** DONE Déficience intellectuelle
***** KILL Pathologies neuromusculaires
CLOSED: [2023-07-07 Fri 18:47]
** KILL DIU dysmorpho
:PROPERTIES:
:CATEGORY: dysmorpho
:END:
*** KILL Relire + notes [1/92]
**** KILL Intro dysmorpho - Verloes
CLOSED: [2023-07-07 Fri 18:43]
**** KILL Empreinte génomique
**** KILL Beckwith, Silver Russel
**** KILL Scoliose
**** KILL Syndromes cytogénétique - Salanville
**** KILL Dysostose mandibulo faciale
**** KILL Williams dup 7p11.2
**** KILL Pathologie génétique de la reproduction
**** KILL Malformations oculaires
**** KILL Comprendre les test génétiques
**** KILL Fente
**** KILL Gonosome
**** KILL Smith-Mangenis
**** KILL 22q11
**** KILL Dysmorpho nouveau-né
**** KILL Autopsie foetale
**** KILL Dysmorphologie - généralités (A Verloes)
**** KILL Dysmorphologie du nouveau né (M Vincent)
**** KILL Registre des malformations (N Lelong)
**** KILL Comprendre les tests génétiques - Mutations - NGS (Y Vial)
**** KILL Cytogénétique (C Missirian)
**** KILL NGS et syndromologie (F Tran-Mau-Them)
**** KILL Empreinte génomique (F Brioudé) (seq 15 Beckwith Wiedemann Syndrome et SRussel S)
**** KILL Autopsie foetale (F Guimiot)
**** KILL Tumeur et développement (H Cave)
**** KILL Dysmorphologie foetale (MH Saint Frison)
**** KILL Pathologie génétique de la reproduction (F Vialard)
**** KILL Le dysmorphologiste en prénatal (N Gruchy)
**** KILL Régulation génique et anomalies du développement (F Petit)
**** KILL Echographie fœtale et dysmorphologie (C Rozel)
**** KILL Déficience intellectuelle (A Curie)
**** KILL Autisme et génétique (A Maruani)
**** KILL Tests neuropsy
**** KILL XLID(A Toutain)
**** KILL Anomalies du développement embryonnaire précoce (C Quelin)
**** KILL Anomalies de fermeture du tube neural (C Quelin)
**** KILL FAS (D Germanaud)
**** KILL Médicaments et grossesse (C Vauzelle)
**** KILL Syndromes avec fentes oro-faciales- (J Van-Gils)
**** KILL Syndromes avec craniosténose (C Collet)
**** KILL Dents & syndromes (I Bailleul)
**** KILL Dysostoses Mandibulo faciales (J Amiel)
**** KILL Avances staturales (A Putoux)
**** KILL Retards staturaux syndromiques (A Putoux)
**** KILL Syndromes avec obésité (G Diene)
**** KILL Spliceosomopathies (P Edery)
**** KILL Microcéphalies (S Passemard)
**** KILL Anomalies du cervelet : Joubert, NPH ... (L Burglen)
**** KILL Epilepsie et syndromes (C Mignot)
**** KILL Holoprosencéphalie (S Odent)
**** KILL Hydrocephalie (S Odent)
**** KILL Anomalies de migration (S Passemard)
**** KILL Chondrodysplasies (G Baujat)
**** KILL Anomalies de segmentation et scoliose (J Thévenon)
**** KILL Génétique du développement des membres et principaux syndromes (F Petit)
**** KILL Classification des malformations des membres (F Petit)
**** KILL Prise en charge des anomalies des membres (N Quintero)
**** KILL Syndromes avec anomalies uro-néphrologiques pré- et postnatal (G Morin)
**** KILL Syndromes avec anomalies génitales et DSD (B Leheup)
**** KILL Du coeur au syndrome (D Genevieve)
**** KILL Malformation cardiaque en anténatal (D Genevieve)
**** KILL Base génétique du déterminisme du sexe (C Colson)
**** KILL Surdités syndromiques (S Marlin)
**** KILL Malformations oculaires (N Chassaing)
**** KILL Dermatologie et développement (P Vabres)
**** KILL Dysmorphologie et métabolisme (M Barth)
**** KILL Maladies de surcharge (D Germain)
**** KILL Trisomie 21 (R Touraine)
**** KILL S. Williams - duplication 7q11.2 (M Rossi)
**** KILL Délétion 22q11.2 (L Perrin)
**** KILL Syndromes cytogénétiques (D Sanlaville)
**** KILL Gonosomes (J Leger)
**** KILL Parcours de soin des patients avec anomalies du développement (N Jean-Marçais)
**** KILL Prise en charge médicosociale du handicap (D Juzeau)
**** KILL Fanconi (T Leblanc)
**** KILL Ehlers-Danlos (D Germain)
**** KILL Chromatinopathies: TAD - Kabuki, Rubinstein-Taybi, Wiedemann-Steiner, SBYSS... (D Genevieve)
**** KILL Marfan et syndromes apparentés (G Jondeau)
**** KILL RASopathies (Y Capri)
**** KILL Syndromes de Pitt Hopkins, Angelman, Rett et Rett-like (N Bahi-Buisson)
**** KILL Filaminopathies A (C Goizet)
**** KILL Achondroplasie (G Baujat)
**** KILL OI (G Baujat)
**** KILL Ciliopathies: approche globale (T Attie-Bitach)
**** KILL Smith-Magenis (L Perrin)
**** KILL Cohésinopathies : Cornelia de Lange, Coffin-Siris/NB, CHOPS... (A Goldenberg)
**** KILL Albinisme et syndromes apparentés (B Arveiler)
**** KILL Beckwith Wiedemann Syndrome & Silver Russel Syndrome (F Brioude)
**** KILL Neurofibromatoses - STB (C Goizet)
**** KILL Cowden, Gorlin (P Goizet)
**** KILL Syndrome de Kleefstra (L Perrin)
**** KILL Téloméropathies (T Leblanc)
** DONE Héberger arbre généaloqiue
CLOSED: [2023-06-24 Sat 15:42] SCHEDULED: <2023-04-14 Fri>
- Github : genealogy
- Sourcehut : genealogy
- Proton drive
- Mail <2023-06-24 Sat>
** DONE Enterrement Mme Karl
CLOSED: [2023-05-28 Sun 10:02]
*** DONE Commander bouquets
CLOSED: [2023-04-13 Thu 09:11] SCHEDULED: <2023-04-12 Wed>
*** DONE Message avec les bouquets
CLOSED: [2023-04-13 Thu 09:11] SCHEDULED: <2023-04-13 Thu>
*** DONE Remboursement [5/5]
CLOSED: [2023-05-28 Sun 10:02] SCHEDULED: <2023-04-20 Thu>
**** DONE Aurélien
CLOSED: [2023-04-22 Sat 15:27]
**** DONE Élise
CLOSED: [2023-04-22 Sat 15:27]
**** DONE Yvain
CLOSED: [2023-05-28 Sun 10:02]
**** DONE Papa
CLOSED: [2023-04-22 Sat 15:27]
**** DONE Thierry
CLOSED: [2023-04-13 Thu 09:12]
*** DONE Carte personnalisée
CLOSED: [2023-04-26 Wed 21:10] SCHEDULED: <2023-04-17 Mon>
** DONE Don index nzb
CLOSED: [2023-04-22 Sat 15:27] SCHEDULED: <2023-04-19 Wed>
/Entered on/ [2023-04-16 Sun 16:53]
** DONE Remboursement TER Grenoble du 9 avril
CLOSED: [2023-05-06 Sat 09:06] SCHEDULED: <2023-05-03 Wed>
/Entered on/ [2023-04-26 Wed 21:03]
Demande envoyé <2023-04-26 Wed>
Refusé
** TODO Demander accès déchetteries Saône
/Entered on/ [2023-05-28 Sun 10:02]
* Nixpkgs :nix:
** DONE GATK
CLOSED: [2023-05-06 Sat 08:51]
*** DONE [[https://github.com/NixOS/nixpkgs/pull/185819][Binaire]]
CLOSED: [2022-09-10 Sat 23:53] SCHEDULED: <2022-08-10 Wed>
/Entered on/ [2022-08-09 Tue 10:57]
PR submitted
*** KILL Corriger code pour utiliser source
CLOSED: [2022-09-11 Sun 22:05]
*** DONE Corriger PATH pour include java et python
CLOSED: [2022-10-11 Tue 11:46]
https://github.com/NixOS/nixpkgs/pull/191548
Review <2022-10-10 Mon> , corrigé dans la journée
*** DONE Update 4.3.0.0
CLOSED: [2023-04-13 Thu 09:01]
** TODO Nextflow
*** KILL version script seule
CLOSED: [2023-04-01 Sat 18:29]
Fix pour SGE et nextflow
https://github.com/NixOS/nixpkgs/issues/192396
*** KILL Version avec gradle
CLOSED: [2022-10-09 Sun 22:51]
*** TODO [[https://github.com/NixOS/nixpkgs/issues/192396][Bug report Version 22.10.6]]
**** Notes
Erreur :
ERROR: Cannot download nextflow required file -- make sure you can connect to the internet
Alternatively you can try to download this file:
https://www.nextflow.io/releases/v22.10.6/nextflow-22.10.6-all.jar
and save it as:
.//nix/store/md2b1ah4d7ivj82k8xxap30dmdci00pa-nextflow-22.10.6/bin/.nextflow-wrapped
Dans la mise à jour, il y a la création d'un environnement virtuel qui casse l'exécution de nextflow (besoin de télécharger)
Fix = désactiver
**** KILL Patch NXF_OFFLINE=true
CLOSED: [2023-07-02 Sun 11:02] SCHEDULED: <2023-06-11 Sun>
** TODO Multiqc
** TODO VEP :vep:
*** DONE [[https://github.com/NixOS/nixpkgs/pull/185691][BioPerl]]
SCHEDULED: <2022-08-10 Wed>
/Entered on/ [2022-08-09 Tue 10:57]
PR submitted
*** TODO BioDBBBigFile
SCHEDULED: <2023-05-07 Sun>
:PROPERTIES:
:ORDERED: t
:END:
/Entered on/ [2022-08-10 Wed 14:28]
On utilise la dernière version de kent, donc plus de problème.
PRête à être mergé. Rebase faite<2023-07-02 Sun>
**** DONE Version de kent déjà packagée : forcer version 335
CLOSED: [2023-07-02 Sun 11:20]
***** KILL [[https://github.com/NixOS/nixpkgs/pull/206991][Restore building kent 404]]
CLOSED: [2023-05-06 Sat 17:40]
Review faite <2023-03-26 Sun> , atteinte merge]
Relancé <2023-05-06 Sat>
Kent 446 n'a pas ce problème donc PR inutile
***** DONE [[https://github.com/NixOS/nixpkgs/pull/223411][Ajouter les header to package]] (inc folder)
CLOSED: [2023-05-08 Mon 10:18] SCHEDULED: <2023-05-07 Sun>
Review à faire
https://github.com/NixOS/nixpkgs/pull/223411
Corrigé et plus besoin de la PR précédente
***** KILL [[https://github.com/NixOS/nixpkgs/pull/186462][BioDBBBigFile]] avec ces 2 changements
CLOSED: [2023-07-02 Sun 11:20]
**** KILL Version de kent déjà packagée : 404
CLOSED: [2023-03-27 Mon 16:43]
Compile mais les tests de passent pas
*** 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
** TODO Spip
SCHEDULED: <2023-07-11 Tue>
** TODO Happy :happy:
*** TODO PR python 3 upstream
SCHEDULED: <2023-07-12 Wed>
*** TODO nixpkgs en l'état
SCHEDULED: <2023-07-12 Wed>
** 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
*** DONE Changer pneus avant
CLOSED: [2022-09-11 Sun 22:05] SCHEDULED: <2022-09-03 Sat>
Trop abimé pour prendre le risque, on changera les arrières plus tard
*** KILL Changer plaquettes +/- disques
CLOSED: [2023-06-11 Sun 18:39] SCHEDULED: <2023-05-09 Tue>
Écrou grippé ? Voir avec fils M. Chouffe à Gennes, chemin du vernois (voiture 607 bleue)
*** DONE Contrôle technique
CLOSED: [2023-07-27 Thu 23:32] DEADLINE: <2023-06-01 Thu>
**** DONE Prendre RV
CLOSED: [2023-05-28 Sun 10:03] SCHEDULED: <2023-05-07 Sun>
**** DONE Changer amortisseurs
CLOSED: [2023-07-02 Sun 10:52] SCHEDULED: <2023-06-13 Tue>
**** DONE Changer phare avant
CLOSED: [2023-07-02 Sun 10:52] SCHEDULED: <2023-06-13 Tue>
**** DONE Contrôle pollution
CLOSED: [2023-07-02 Sun 10:52] SCHEDULED: <2023-06-13 Tue>
**** DONE Prendre rendez-vous pour contre-visite
CLOSED: [2023-07-21 Fri 17:45] SCHEDULED: <2023-07-02 Sun>
**** DONE Contre-visite
CLOSED: [2023-07-27 Thu 23:31] DEADLINE: <2023-07-26 Wed>
*** TODO Amende
**** DONE Changement d'adresse carte grise
CLOSED: [2023-06-11 Sun 21:40]
**** DONE Envoyer photocopie carte grise pour éviter majoration
CLOSED: [2023-07-02 Sun 10:52] SCHEDULED: <2023-06-18 Sun>
* Gentoo
** GURU
*** DONE Ebuild pour adapteur wifi TBW-108B
#+category: maison
* Programmation :cs:
** Gentoo :gentoo:
*** GURU :guru:
**** DONE Ebuild pour adapteur wifi TBW-108B
* Haskell
** KILL Bug report diagrams-grapphviz :haskell:
CLOSED: [2023-07-07 Fri 18:48]
Pas de label
** Learning Haskell :haskell:
*** [#A] [[https://www.reddit.com/r/haskell/comments/npxfba/comment/h084wwa/?utm_source=share&utm_medium=web2x&context=3][Reddit suggestion]]]
**** Learn Foundational building blocks
- [X] [[https://mmhaskell.com/monads/functors][Functor]]
- [X] [[https://mmhaskell.com/monads/applicatives][Applicatives]]
- [X] [[https://mmhaskell.com/monads/tutorial][Monads]]
- [X] [[https://mmhaskell.com/monads/reader-writer][Reader, writer]]
- [X] [[https://mmhaskell.com/monads/state][State]]
- [X] [[https://mmhaskell.com/monads/transformers][Transformers]]
- [ ] [[https://mmhaskell.com/monads/laws][Laws]]
**** Real-world example
***** STRT Look at the example
- [X] Database
- [ ] API
***** Relax for a few days and watch how interactive programs are being composed
***** Get back to the real-world example and make it a complete Cabal project.
***** [[https://mmhaskell.com/testing/test-driven-development][Testing]]
**** [#A] Best resource : [[https://downloads.haskell.org/~ghc/8.10.4/docs/html/users_guide/glasgow_exts.html#language-options][Language Reference]]
whenever you see an unknown language extension or a compilation flag, look it up in Language Reference and try to understand it. You don't have to fully understand them though, just read about them and keep them on your mind. One day they will begin to automatically click into a sound set of concepts.
Language Reference is one of the most underappreciated sources of information (it's almost universally overlooked in language communities - it was the case for Python, and I find it to be true for Haskell as well). You mentioned that you don't like REPL examples, and neither do I. Luckily, the User Guide/Reference has introductory sections for people like us. Once I knew how to compile a single file and to run it, the rest was just a matter of getting to know things by their name in a new ecosystem.
**** DONE Learn to compose things
When you already know how to compile and run single-module interactive console programs, it takes about a day to understand basics of Cabal, and about a week to learn about input parsing and output formatting. Do you need CLI args? Use optparse-applicative. Env vars? Use envy. JSON? Use aeson and a cheatsheet. Don't think about performance and/or API conventions, that's not what you should be concerned of at this point, as you are just learning to compose things together from individual parts.
**** Experiment with various libraires, read haskell planetarium
At this point you have enough knowledge to begin experimenting with various libraries and APIs. Learn how to use Hoogle, and read as much as you can/want on Haskell Planetarium.
*** KILL Learn Haskell for your greater good
:PROPERTIES:
:CUSTOM_ID: kill-learn-haskell-for-your-greater-good
:END:
50%
*** HOLD [[books.org::Haskell%20Programming%20From%20First%20Principles][Haskell programming from first principles]]
*** GHC
**** GHC commentary
Notamment Ollie Charles's 24 days of GHC Extensions,
**** Lire [[https://www.aosabook.org/en/ghc.html]]
*** Vidéos
**** STRT https://www.youtube.com/watch?v=re96UgMk6GQ
*** Articles historiques
1. [[https://watermark.silverchair.com/320098.pdf?token=AQECAHi208BE49Ooan9kkhW_Ercy7Dm3ZL_9Cf3qfKAc485ysgAAAsYwggLCBgkqhkiG9w0BBwagggKzMIICrwIBADCCAqgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMHXfjdjwhGI2t4bLLAgEQgIICeQjZ-I8gmuaFqBktP4IOifHODtMAHcNF_LwRYyq7NswQ7vT6LJho9P_junCAORLGMV9dgq9JMePH2PFKNxXxrEP1VY7rIDG0gzoeObSkgMDn4MXalrIxD3ejY8vsGYy6vce8Kh70J_UJ8RamO1l3BNNUzy2W6VRaa_cMQr_ekdwcz0oihz0BVKn_bgm_8DjiiPhzj8uU9flVhi13t_oIFA6b3At2QMmPe7Z9OyfLkXivKkmKKNoHwSS7AnTIYAKCO383e4kG6NzZ_elai-XMAJs2Nk0vcgaltld1KeaW3269104DdIlFGevJUVNgwE_4LIheSYRZr9Gr0yRR6TROxdsyxrmgQ22Pzxxpnl8-KdjkW6aRSCKNk_yb5hYcPoRa3ldc5yPV15j8i4t9Mv4U_mBwmIRtMIKPdEHeMvcRx6c8_8uT4RV2esuOPfZlA05bzBgJhMS87M8myxisH-exkTMkm58o6nzHf1lGxzn_JS1VSHbhJCUl82ubzzOWjvl3QJM_vv805XTbn_G-fcRi0d9EQIRTqoObWVFyXW-pz16bWoZPZnBQ1gOmc3hPTGBMZjFR6p9VEAO7bKcK8o0yQDjVWEELNwfAAHc-oF_wLiEjXDNBoUttghgQzzvymKY_jSZhcU8TraVu2i551fpuDNEjSJd0qY5Rg3J6eWU550nJmnoWmX6o7KGiYp0vVMfOoFYXJ1trZWSGoRhDQP2LOLIOt3t2idlj6kV_MoCY3BRnkbxf4XIH7gLJf6Dky6hXFbTU8Fjsn8XHBeKSmaAYJ-sbmGB_BdZO8hHyvHvPv0lTtGcSuKywoJhMbblXRzyuacj_6mZQl5j3tAWhy][Why functional programming matters]]
Très lisible
2. [[https://dl.acm.org/doi/pdf/10.1145/91556.91592][Comprehending monads]]
Introduction du concept
3. [[https://dl.acm.org/doi/pdf/10.1145/158511.158524][Imperative functional programming]]
Application des monads poru résoudre le problème IO
#+title: Bisonex
* Biblio
:PROPERTIES:
:CATEGORY: biblio
:END:
** Workflow
Comparaison WDL, Cromwell, nextflow
https://www.nature.com/articles/s41598-021-99288-8
Nextflow = bon compromis ?
Comparison alignement, variant caller (2021)
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-021-04144-1
** Étapes du pipeline
*** Variant calling: Haplotype caller
https://gatk.broadinstitute.org/hc/en-us/articles/360035531412
Définis l'algorithme + image
*** Phred score
https://gatk.broadinstitute.org/hc/en-us/articles/360035531872-Phred-scaled-quality-scores
** VCF
*** GT genotype
encoded as alleles values separated by either of ”/” or “|”, e.g. The allele values are 0 for the reference allele (what is in the reference sequence), 1 for the first allele listed in ALT, 2 for the second allele list in ALT and so on. For diploid calls examples could be 0/1 or 1|0 etc. For haploid calls, e.g. on Y, male X, mitochondrion, only one allele value should be given. All samples must have GT call information; if a call cannot be made for a sample at a given locus, ”.” must be specified for each missing allele in the GT field (for example ./. for a diploid). The meanings of the separators are:
/ : genotype unphased
| : genotype phased
** Validation
*** NA12878
**** KILL [[https://precision.fda.gov/challenges/truth/results][fdaPrecision challenge]]
Attention, génome et en hg19 donc comparaison non adaptée ...
**** TODO Best practices for the analytical validation of clinical whole-genome sequencing intended for the diagnosis of germline disease
https://www.nature.com/articles/s41525-020-00154-9
Recommandations générale pour genome, sans données brutes
**** TODO [#A] Performance assessment of variant calling pipelines using human whole exome sequencing and simulated data
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-019-2928-9
1. variant calling seul
2. NA12878 + données simulées
3. exome
4. évalué via F-score
Code disponible ! https://github.com/bharani-lab/WES-Benchmarking-Pipeline_Manoj/tree/master/Script
Résultat: BWA/Novoalign_DeepVariant
Aligneurs
- BWA-MEM 0.7.16
- Bowtie2 2.2.6
- Novoalign 3.08.02
- SOAP 2.21
- MOSAIK 2.2.3
Variantcalling
- GATK HaplotypeCaller 4
- FreeBayes 1.1.0
- SAMtools mpileup 1.7
- DeepVariant r0.4
SNV
| Exome | Pipeline | TP | FP | FN | Sensitivity | Precision | F-Score | FDR |
| 1 | BWA_GATK | 23689 | 1397 | 613 | 0.975 | 0.944 | 0.959 | 0.057 |
| 2 | BWA_GATK | 23946 | 865 | 356 | 0.985 | 0.965 | 0.975 | 0.036 |
indel
| TP | FP | FN | Sensitivity | Precision | F-Score | FDR | |
| 1254 | 72 | 75 | 0.944 | 0.946 | 0.945 | 0.054 | |
| 1309 | 10 | 20 | 0.985 | 0.992 | 0.989 | 0.008 | |
Valeur brutes :
https://static-content.springer.com/esm/art%3A10.1186%2Fs12859-019-2928-9/MediaObjects/12859_2019_2928_MOESM8_ESM.pdf
Autres articles avec même comparaison en exome sur NA12878
- Hwang et al., 2015 studyi
- Highnam et al, 2015
- Cornish and Guda, 2015
Variant Type
| | SNVs & Indels | CNVs (>10Kb) | SVs | Mitochondrial variants | Pseudogenes | REs | Somatic/ mosaic | Literature/Data | Source |
| NA12878 | 100%a | 40% | 0 | 0 | 0 | 0 | 0 | Zook et al18 | NIST |
| Other NIST standard | 71% | 40% | 50% | 0 | 0 | 0 | 0 | Zook et al18 | |
| (e.g. AJ/Asian trios) | | | | | | | | | |
| Platinum | 29% | 0 | 0 | 0 | 0 | 0 | 0 | Eberle et al8 | Platinum |
| Genomes | | | | | | | | | |
| Venter/HuRef | 14% | 40% | 0 | 0 | 0 | 0 | 0 | Trost et al1 | HuRef |
**** Systematic comparison of germline variant calling pipelines cross multiple next-generation sequencers
#+begin_src bibtex
@ARTICLE{Chen2019-fp,
title = "Systematic comparison of germline variant calling pipelines
cross multiple next-generation sequencers",
author = "Chen, Jiayun and Li, Xingsong and Zhong, Hongbin and Meng,
Yuhuan and Du, Hongli",
abstract = "The development and innovation of next generation sequencing
(NGS) and the subsequent analysis tools have gain popularity in
scientific researches and clinical diagnostic applications.
Hence, a systematic comparison of the sequencing platforms and
variant calling pipelines could provide significant guidance to
NGS-based scientific and clinical genomics. In this study, we
compared the performance, concordance and operating efficiency
of 27 combinations of sequencing platforms and variant calling
pipelines, testing three variant calling pipelines-Genome
Analysis Tool Kit HaplotypeCaller, Strelka2 and
Samtools-Varscan2 for nine data sets for the NA12878 genome
sequenced by different platforms including BGISEQ500,
MGISEQ2000, HiSeq4000, NovaSeq and HiSeq Xten. For the variants
calling performance of 12 combinations in WES datasets, all
combinations displayed good performance in calling SNPs, with
their F-scores entirely higher than 0.96, and their performance
in calling INDELs varies from 0.75 to 0.91. And all 15
combinations in WGS datasets also manifested good performance,
with F-scores in calling SNPs were entirely higher than 0.975
and their performance in calling INDELs varies from 0.71 to
0.93. All of these combinations manifested high concordance in
variant identification, while the divergence of variants
identification in WGS datasets were larger than that in WES
datasets. We also down-sampled the original WES and WGS datasets
at a series of gradient coverage across multiple platforms, then
the variants calling period consumed by the three pipelines at
each coverage were counted, respectively. For the GIAB datasets
on both BGI and Illumina platforms, Strelka2 manifested its
ultra-performance in detecting accuracy and processing
efficiency compared with other two pipelines on each sequencing
platform, which was recommended in the further promotion and
application of next generation sequencing technology. The
results of our researches will provide useful and comprehensive
guidelines for personal or organizational researchers in
reliable and consistent variants identification.",
journal = "Sci. Rep.",
publisher = "Springer Science and Business Media LLC",
volume = 9,
number = 1,
pages = "9345",
month = jun,
year = 2019,
copyright = "https://creativecommons.org/licenses/by/4.0",
language = "en"
}
#+end_src
Comparaison de différents pipeline 2019
https://www.nature.com/articles/s41598-019-45835-3
Combinaison
- variant calling = GATK, Strelka2 and Samtools-Varscan2
- sur NA12878
- séquencé sur BGISEQ500, MGISEQ2000, HiSeq4000, NovaSeq and HiSeq Xten.
Conclusion: strelka2 supérieur mais biais sur NA12878 ?
Illumina > BGI pour indel, probablement car reads plus grand
#+begin_quote
For WES datasets, the BGI platforms displayed the superior performance in SNPs
calling while Illumina platforms manifested the better variants calling
performance
#+title: Bisonex
#+category: bisonex
* Biblio
:PROPERTIES:
:CATEGORY: biblio
:END:
** Workflow
Comparaison WDL, Cromwell, nextflow
https://www.nature.com/articles/s41598-021-99288-8
Nextflow = bon compromis ?
Comparison alignement, variant caller (2021)
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-021-04144-1
** Étapes du pipeline
*** Variant calling: Haplotype caller
https://gatk.broadinstitute.org/hc/en-us/articles/360035531412
Définis l'algorithme + image
*** Phred score
https://gatk.broadinstitute.org/hc/en-us/articles/360035531872-Phred-scaled-quality-scores
** VCF
*** GT genotype
encoded as alleles values separated by either of ”/” or “|”, e.g. The allele values are 0 for the reference allele (what is in the reference sequence), 1 for the first allele listed in ALT, 2 for the second allele list in ALT and so on. For diploid calls examples could be 0/1 or 1|0 etc. For haploid calls, e.g. on Y, male X, mitochondrion, only one allele value should be given. All samples must have GT call information; if a call cannot be made for a sample at a given locus, ”.” must be specified for each missing allele in the GT field (for example ./. for a diploid). The meanings of the separators are:
/ : genotype unphased
| : genotype phased
** Validation
*** NA12878
**** KILL [[https://precision.fda.gov/challegnges/truth/results][fdaPrecision challenge]]
Attention, génome et en hg19 donc comparaison non adaptée ...
**** TODO Best practices for the analytical validation of clinical whole-genome sequencing intended for the diagnosis of germline disease
https://www.nature.com/articles/s41525-020-00154-9
Recommandations générale pour genome, sans données brutes
**** TODO [#A] Performance assessment of variant calling pipelines using human whole exome sequencing and simulated data
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-019-2928-9
1. variant calling seul
2. NA12878 + données simulées
3. exome
4. évalué via F-score
Code disponible ! https://github.com/bharani-lab/WES-Benchmarking-Pipeline_Manoj/tree/master/Script
Résultat: BWA/Novoalign_DeepVariant
Aligneurs
- BWA-MEM 0.7.16
- Bowtie2 2.2.6
- Novoalign 3.08.02
- SOAP 2.21
- MOSAIK 2.2.3
Variantcalling
- GATK HaplotypeCaller 4
- FreeBayes 1.1.0
- SAMtools mpileup 1.7
- DeepVariant r0.4
SNV
| Exome | Pipeline | TP | FP | FN | Sensitivity | Precision | F-Score | FDR |
| 1 | BWA_GATK | 2368g9 | 1397 | 613 | 0.975 | 0.944 | 0.959 | 0.057 |
| 2 | BWA_GATK | 23946 | 865 | 356 | 0.985 | 0.965 | 0.975 | 0.036 |
indel
| TP | FP | FN | Sensitivity | Precision | F-Score | FDR | |
| 1254 | 72 | 75 | 0.944 | 0.946 | 0.945 | 0.054 | |
| 1309 | 10 | 20 | 0.985 | 0.992 | 0.989 | 0.008 | |
Valeur brutes :
https://static-content.springer.com/esm/art%3A10.1186%2Fs12859-019-2928-9/MediaObjects/12859_2019_2928_MOESM8_ESM.pdf
Autres articles avec même comparaison en exome sur NA12878
- Hwang et al., 2015 studyi
- Highnam et al, 2015
- Cornish and Guda, 2015
Variant Type
| | SNVs & Indels | CNVs (>10Kb) | SVs | Mitochondrial variants | Pseudogenes | REs | Somatic/ mosaic | Literature/Data | Source |
| NA12878 | 100%a | 40% | 0 | 0 | 0 | 0 | 0 | Zook et al18 | NIST |
| Other NIST standard | 71% | 40% | 50% | 0 | 0 | 0 | 0 | Zook et al18 | |
| (e.g. AJ/Asian trios) | | | | | | | | | |
| Platinum | 29% | 0 | 0 | 0 | 0 | 0 | 0 | Eberle et al8 | Platinum |
| Genomes | | | | | | | | | |
| Venter/HuRef | 14% | 40% | 0 | 0 | 0 | 0 | 0 | Trost et al1 | HuRef |
**** Systematic comparison of germline variant calling pipelines cross multiple next-generation sequencers
#+begin_src bibtex
@ARTICLE{Chen2019-fp,
title = "Systematic comparison of germline variant calling pipelines
cross multiple next-generation sequencers",
author = "Chen, Jiayun and Li, Xingsong and Zhong, Hongbin and Meng,
Yuhuan and Du, Hongli",
abstract = "The development and innovation of next generation sequencing
(NGS) and the subsequent analysis tools have gain popularity in
scientific researches and clinical diagnostic applications.
Hence, a systematic comparison of the sequencing platforms and
variant calling pipelines could provide significant guidance to
NGS-based scientific and clinical genomics. In this study, we
compared the performance, concordance and operating efficiency
of 27 combinations of sequencing platforms and variant calling
pipelines, testing three variant calling pipelines-Genome
Analysis Tool Kit HaplotypeCaller, Strelka2 and
Samtools-Varscan2 for nine data sets for the NA12878 genome
sequenced by different platforms including BGISEQ500,
MGISEQ2000, HiSeq4000, NovaSeq and HiSeq Xten. For the variants
calling performance of 12 combinations in WES datasets, all
combinations displayed good performance in calling SNPs, with
their F-scores entirely higher than 0.96, and their performance
in calling INDELs varies from 0.75 to 0.91. And all 15
combinations in WGS datasets also manifested good performance,
with F-scores in calling SNPs were entirely higher than 0.975
and their performance in calling INDELs varies from 0.71 to
0.93. All of these combinations manifested high concordance in
variant identification, while the divergence of variants
identification in WGS datasets were larger than that in WES
datasets. We also down-sampled the original WES and WGS datasets
at a series of gradient coverage across multiple platforms, then
the variants calling period consumed by the three pipelines at
each coverage were counted, respectively. For the GIAB datasets
on both BGI and Illumina platforms, Strelka2 manifested its
ultra-performance in detecting accuracy and processing
efficiency compared with other two pipelines on each sequencing
platform, which was recommended in the further promotion and
application of next generation sequencing technology. The
results of our researches will provide useful and comprehensive
guidelines for personal or organizational researchers in
reliable and consistent variants identification.",
journal = "Sci. Rep.",
publisher = "Springer Science and Business Media LLC",
volume = 9,
number = 1,
pages = "9345",
month = jun,
year = 2019,
copyright = "https://creativecommons.org/licenses/by/4.0",
language = "en"
}
#+end_src
Comparaison de différents pipeline 2019
https://www.nature.com/articles/s41598-019-45835-3
Combinaison
- variant calling = GATK, Strelka2 and Samtools-Varscan2
- sur NA12878
- séquencé sur BGISEQ500, MGISEQ2000, HiSeq4000, NovaSeq and HiSeq Xten.
Conclusion: strelka2 supérieur mais biais sur NA12878 ?
Illumina > BGI pour indel, probablement car reads plus grand
#+begin_quote
For WES datasets, the BGI platforms displayed the superior performance in SNPs
calling while Illumina platforms manifested the better variants calling
performance
séquences alternatives (utilisables)
- fix = patch (correction ou amélioration)
- random = séquence connue sur un chromosome mais non encore utilisée
** Pipelines prêt-à-l’emploi nextflow
Problème : nécessite singularity ou docker (ou conda)
Potentiellement utilisable avec nix...
** Validation : Quelles données de référence ?
Discussion avec Alexis
- Platinum genomes = génome seul
*** [[https://github.com/genome-in-a-bottle/giab_data_indexes][Genome in a bottle]]
- NA12878 :
- Illumina HiSeq Exome : fastq + capture en hg37
- Illumina TruSeq Exome : bam, pas de capture
- Exomes en hg37 https://zenodo.org/record/3597727 avec capture
- HiSeq2000
- NextSeq 500
- HiSeq 2500
- HG002,3,4
- Illumina Whole Exome : bam. le kit de capture est "Agilent SureSelect Human All Exon V5 kit" selon [[https://ftp-trace.ncbi.nlm.nih.gov/giab/ftp/data/AshkenazimTrio/analysis/OsloUniversityHospital_Exome_GATK_jointVC_11242015/README.txt][README]]. On il faut les régions [[https://kb.10xgenomics.com/hc/en-us/articles/115004150923-Where-can-I-find-the-Agilent-Target-BED-files-][selon ce site]]
Un autre fichier est disponible (capture ???)
https://ftp-trace.ncbi.nlm.nih.gov/giab/ftp/data/AshkenazimTrio/analysis/OsloUniversityHospital_Exome_GATK_jointVC_11242015/wex_Agilent_SureSelect_v05_b37.baits.slop50.merged.list
"target region" +/- 50bp
testé sur chr311780-312086 : ok
Autres technologies non adaptées au pipeline (vu avec Alexis)
*** [[https://www.illumina.com/platinumgenomes.html][Platinum genome
]] Que du génome « sequenced to 50x depth on a HiSeq 2000 system”
Genome possible
*** 1000 genomes
- intersection des capture + CCDS [[id:b77e64fa-06a8-4ffa-8b5b-ab3fda684b61][Données brutes exome 1000 Genomes (fastq + capture)]]
- Broad instute : SureSelect human all exon v2 target capture kit : non disponible sur le site d'agilent (V6 ou plus)
*** Zone de capture
GIAB fourni le .bed pour l'exome . INfo : https://support.illumina.com/sequencing/sequencing_kits/nextera-rapid-capture-exome-kit/downloads.html
*** Valider la méthode
- 1000 genomes + SureSelect human all exon v2 target capture kit : non disponible sur le site d'agilent (V6 ou plus)
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-019-2928-9
- GIAB + liftover du fichire de capture en hg38
Ce qui est aussi fait par
https://bcbio-nextgen.readthedocs.io/en/stable/contents/germline_variants.html
Mais avec UCSC liftover
** Centogène
https://www.twistbioscience.com/node/23906
Bed non fourni pour exactement cette capture
On prend https://www.twistbioscience.com/resources/data-files/twist-alliance-vcgs-exome-401mb-bed-files
qui content la majeure partie
* 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
:PROPERTIES:
:CATEGORY: workflow
:END:
** 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 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 dbSNP
CLOSED: [2023-06-12 Mon 23:30]
***** DONE compatibilité hg38
CLOSED: [2023-06-12 Mon 23:30]
**** DONE commonSNP
CLOSED: [2023-06-14 Wed 22:32]
***** DONE compatibilité hg38
CLOSED: [2023-06-14 Wed 22:32]
cd /Work/Groups/bisonex/data/dbsnp/GRCh38.p14
❯ ga@mesointeractive GRCh38.p14]$ zgrep -c '^NC' dbSNP_common.vcf.gz
21340485
[apraga@mesointeractive GRCh38.p14]$ pwd
[apraga@mesointeractive GRCh38.p14]$ zgrep -c '^NC'
dbSNP_common.vcf.gz ID_of_common_snp_not_clinvar_patho.txt
dbSNP_common.vcf.gz.tbi ID_of_common_snp.txt
[apraga@mesointeractive dbsnp]$ cd chm13v2.0/
[apraga@mesointeractive chm13v2.0]$ ls
chm13v2.0_dbSNPv155.vcf.gz dbSNP_common.vcf.gz.tbi versions.yml
chm13v2.0_dbSNPv155.vcf.gz.tbi ID_of_common_snp_not_clinvar_patho.txt
dbSNP_common.vcf.gz ID_of_common_snp.txt
[apraga@mesointeractive chm13v2.0]$ zgrep -c '^chr' dbSNP_common.vcf.gz
19433713
[apraga@mesointeractive chm13v2.0] $
❯ man tmux
**** DONE commonSNP non patho
CLOSED: [2023-06-14 Wed 22:35]
***** DONE compatibilité hg38
CLOSED: [2023-06-14 Wed 22:35]
**** TODO cache vep
SCHEDULED: <2023-07-25 Tue>
*** HOLD Processing bases de données
**** DONE dbSNP common
**** DONE Seulement les ID dans dbSNP common !
CLOSED: [2022-11-19 Sat 21:42]
172G au lieu de 253M...
**** HOLD common dbSNP not clinvar patho
***** DONE Conclusion partielle
CLOSED: [2022-12-12 Mon 22:25]
- vcfeval : prometteur mais n'arrive pas à traiter toutes les régions
- isec : trop de problèmes avec
- classif clinvar directement dans dbSNP: le plus simple
Et ça permet de rattraper quelques erreurs dans le script d'Alexis
***** KILL Utiliser directement le numéro dbSNP dans clinvar ? Non
CLOSED: [2022-11-20 Sun 19:51]
Ex: chr20
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools query -f 'rs%INFO/RS \n' -i 'INFO/RS != "." & INFO/CLNSIG="Pathogenic"' clinvar_chr20.vcf.gz | sort > ID_clinvar_patho.txt
bcftools query -f '%ID\n' dbSNP_common_chr20.vcf.gz | sort > ID_of_common_snp.txt
comm -23 ID_of_common_snp.txt ID_clinvar_patho.txt > ID_of_common_snp_not_clinvar_patho.txt
wc -l ID_of_common_snp_not_clinvar_patho.txt
# sort ID
#+end_src
#+RESULTS:
: 518846 ID_of_common_snp_not_clinvar_patho.txt
Version d'alexis
#+begin_src sh :dir ~/code/bisonex/test_isec
snp=dbSNP_common_chr20.vcf.gz
clinvar=clinvar_chr20_notremapped.vcf.gz
python ../script/pythonScript/clinvar_sbSNP.py \
--clinvar $clinvar \
--chrm_name_table ../database/RefSeq/refseq_to_number_only_consensual.txt \
--dbSNP $snp --output prod.txt
wc -l prod.txt
zgrep '^NC' dbSNP_common_chr20.vcf.gz | wc -l
#+end_src
#+RESULTS:
| 518832 | prod.txt |
| 518846 | |
***** KILL classification clinvar codée dbSNP ?
CLOSED: [2022-12-04 Sun 14:38]
Sur le chromosome 20
*Attention* CLNSIG a plusieurs champs (séparé par une virgule)
On y accède avec INFO/CLNSIG[*]
Ensuite, chaque item peut avoir plusieurs haploïdie (séparé par un |). IL faut donc utiliser une regexp
NB: *ne pas mettre la condition* dans une variable !!
Pour avoir les clinvar patho, on veut 5 mais pas 255 (= autre) pour la classification !`
Il faut également les likely patho et conflicting
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools query -f '%INFO/CLNSIG\n' dbSNP_common_chr20.vcf.gz -i \
'INFO/CLNSIG[*]~"^5|" | INFO/CLNSIG[*]=="5" | INFO/CLNSIG[*]~"|5" | INFO/CLNSIG[*]~"^4|" | INFO/CLNSIG[*]=="4" | INFO/CLNSIG[*]~"|4" | INFO/CLNSIG[*]~"^12|" | INFO/CLNSIG[*]=="12" | INFO/CLNSIG[*]~"|12"' | sort
#+end_src
#+RESULTS:
| . | . | 12 | | | | | | | | |
| . | 12 | 0 | 2 | | | | | | | |
| 2 | 3 | 2 | 2 | 2 | 5 | . | | | | |
| . | 2 | 3 | 2 | 2 | 4 | | | | | |
| . | . | 3 | 12 | 3 | | | | | | |
| . | 5 | 2 | . | | | | | | | |
| . | . | . | 5 | 2 | 2 | | | | | |
| . | 9 | 9 | 9 | 5 | 5 | 2 | 3 | 2 | 3 | 2 |
Si on les exclut :
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools query -f '%ID\n' dbSNP_common_chr20.vcf.gz -e \
'INFO/CLNSIG[*]~"^5|" | INFO/CLNSIG[*]=="5" | INFO/CLNSIG[*]~"|5" | INFO/CLNSIG[*]~"4" | INFO/CLNSIG[*]~"12"' | sort | uniq > common-notpatho.txt
#+end_src
#+RESULTS:
#+begin_src sh :dir ~/code/bisonex/test_isec
snp=dbSNP_common_chr20.vcf.gz
clinvar=clinvar_chr20_notremapped.vcf.gz
python ../script/pythonScript/clinvar_sbSNP.py \
--clinvar $clinvar \
--chrm_name_table ../database/RefSeq/refseq_to_number_only_consensual.txt \
--dbSNP $snp --output tmp.txt
sort tmp.txt | uniq > common-notpatho-alexis.txt
wc -l common-notpatho-alexis.txt
#+end_src
#+RESULTS:
: 518832 common-notpatho-alexis.txt
On en a 6 de plus que la version d'Alexis mais quelques différences
Ceux d'Alexis qui manquent:
#+begin_src sh :dir ~/code/bisonex/test_isec
comm -23 common-notpatho-alexis.txt common-notpatho.txt > alexis-only.txt
cat alexis-only.txt
#+end_src
#+RESULTS:
| rs1064039 |
| rs3833341 |
| rs73598374 |
On les teste dans clinvar et dbSNP
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools query -f '%POS %REF %ALT %INFO/CLNSIG\n' -i 'ID=@alexis-only.txt' dbSNP_common_chr20.vcf.gz
bcftools query -f '%POS\n' -i 'ID=@alexis-only.txt' dbSNP_common_chr20.vcf.gz > alexis-only-pos.txt
while read -r line; do
bcftools query -f '%POS %REF %ALT %INFO/CLNSIG\n' -i 'POS='$line clinvar_chr20.vcf.gz
done < alexis-only-pos.txt
# bcftools query -f '%POS %REF %ALT %INFO/CLNSIG\n' -i 'POS=23637790' clinvar_chr20.vcf.gz
#+end_src
#+RESULTS:
| 764018 | A | ACAGGTCAAT,ACAGGT | .,5 | 2,. | |
| 23637790 | C | G,T | .,.,12 | | |
| 44651586 | C | A,G,T | .,.,.,5 | 2 | 2 |
| 764018 | A | ACAGGTCAAT | Benign | | |
| 23637790 | C | T | Benign | | |
| 44651586 | C | T | Benign | | |
On a donc une discordance entre clinvar et dbSNP.
On dirait qu'ils ont mal fait l'intersection avec clinvar.
Par exemple https://www.ncbi.nlm.nih.gov/snp/rs3833341#clinical_significance
Tu as l'impression qu'il y a un 1 clinvar bénin et 1 patho.
En cherchant par NM, tu vois qu'il est bénin sur clinvar car il y a d'autres soumissions ! https://www.ncbi.nlm.nih.gov/clinvar/variation/262235/
Confirmation sur nos bases de données :
$ bcftools query -f '%POS %REF %ALT %INFO/CLNSIG\n' -i 'POS=764018' dbSNP_common_chr20.vcf.gz
764018 A ACAGGTCAAT,ACAGGT .,5|2,.
$ bcftools query -f '%POS %REF %ALT %INFO/CLNSIG\n' -i 'POS=764018' clinvar_chr20.vcf.gz
764018 A ACAGGTCAAT Benign
***** KILL Corriger script alexi
CLOSED: [2022-12-04 Sun 13:03]
Gère clinvar patho, probablement patho ou conflicting !
***** HOLD Rtg tools
****** Test
1. Générer SDf file
#+begin_src sh
rtg format genomeRef.fna -o genomeRef.sdf
#+end_src
2. Pour les bases de donnés, il faut l'option --sample ALT sinon on a
#+begin_src
$ rtg vcfeval -b dbSNP_common.vcf.gz -c clinvar.vcf.gz -o test -t genomeRef.sdf/^C
VCF header does not contain a FORMAT field named GQ
Error: Record did not contain enough samples: NC_000001.11 10001 rs1570391677 A,C . PASS RS=1570391677;dbSNPBuildID=154;SSR=0;PSEUDOGENEINFO=DDX11L1:100287102;VC=SNV;R5;GNO;FREQ=KOREAN:0.9891,0.0109,.|SGDP_PRJ:0,1,.|dbGaP_PopFreq:1,.,0;COMMON
#+end_src
Essai intersection clinvar (patho ou non) dbSNP
- faux négatif = dbSNP common qui ne sont pas dans clinvar
- faux positif = clinvar qui ne sont pas dbSNP common
- vrai positif = clinvar qui sont dans dbSNP common
- vrai positif baseline = dbSNP common qui sont dans clinvar
On calcule le nombre de lignes
#+begin_src ssh
zgrep '^[^#]' /Work/Groups/bisonex/data/clinvar/GRCh38/clinvar.vcf.gz | wc -l
for i in *.vcf.gz; do echo $i; zgrep '^[^#]' $i | wc -l; done
#+end_src
| clinvar | 1493470 |
| fn.vcf.gz | 22330220 |
| fp.vcf.gz | 1222529 |
| tp-baseline.vcf.gz | 131040 |
| tp.vcf.gz | 136638 |
À noter qu'on ne retrouve pas tout clinvar...
1222529 + 131040 = 1353569 < 1493470
certains régions ne sont pas traitées :
#+begin_quote
Evaluation too complex (50002 unresolved paths, 34891 iterations) at reference region NC_000001.11:790930-790970. Variants in this region will not be included in results
#+end_quote
#+begin_src sh
grep 'not be included' vcfeval.log | wc -l
56192
#+end_src
Le total est quand même inférieur
On veut les clinvar non patho dans dbSNP soit les faux négatif (dbSNP common not contenu dans clinvar patho)
#+begin_src sh
bcftools filter -i 'INFO/CLNSIG="Pathogenic"' /Work/Groups/bisonex/data/clinvar/GRCh38/clinvar.vcf.gz -o /Work/Groups/bisonex/data/clinvar/GRCh38/clinvar-patho.vcf.gz
tabix /Work/Groups/bisonex/data/clinvar/GRCh38/clinvar-patho.vcf.gz
#+end_src
On lance le script (dbSNP common et clinvar = 9h)
#+begin_src sh
#!/bin/bash
#SBATCH --nodes=1
#SBATCH -p smp
#SBATCH --time=12:00:00
#SBATCH --mem=12G
dir=/Work/Groups/bisonex/data
dbSNP=$dir/dbSNP/GRCh38.p13/dbSNP_common.
séquences alternatives (utilisables)
- fix = patch (correction ou amélioration)
- random = séquence connue sur un chromosome mais non encore utilisée
** Pipelines prêt-à-l’emploi nextflow
Problème : nécessite singularity ou docker (ou conda)
Potentiellement utilisable avec nix...
** Validation : Quelles données de référence ?
Discussion avec Alexis
- Platinum genomes = génome seul
*** [[https://github.com/genome-in-a-bottle/giab_data_indexes][Genome in a bottle]]
- NA12878 :
- Illumina HiSeq Exome : fastq + capture en hg37
- Illumina TruSeq Exome : bam, pas de capture
- Exomes en hg37 https://zenodo.org/record/3597727 avec capture
- HiSeq2000
- NextSeq 500
- HiSeq 2500
- HG002,3,4
- Illumina Whole Exome : bam. le kit de capture est "Agilent SureSelect Human All Exon V5 kit" selon [[https://ftp-trace.ncbi.nlm.nih.gov/giab/ftp/data/AshkenazimTrio/analysis/OsloUniversityHospital_Exome_GATK_jointVC_11242015/README.txt][README]]. On il faut les régions [[https://kb.10xgenomics.com/hc/en-us/articles/115004150923-Where-can-I-find-the-Agilent-Target-BED-files-][selon ce site]]
Un autre fichier est disponible (capture ???)
https://ftp-trace.ncbi.nlm.nih.gov/giab/ftp/data/AshkenazimTrio/analysis/OsloUniversityHospital_Exome_GATK_jointVC_11242015/wex_Agilent_SureSelect_v05_b37.baits.slop50.merged.list
"target region" +/- 50bp
testé sur chr311780-312086 : ok
Autres technologies non adaptées au pipeline (vu avec Alexis)
*** [[https://www.illumina.com/platinumgenomes.html][Platinum genome
]] Que du génome « sequenced to 50x depth on a HiSeq 2000 system”
Genome possible
*** 1000 genomes
- intersection des capture + CCDS [[id:b77e64fa-06a8-4ffa-8b5b-ab3fda684b61][Données brutes exome 1000 Genomes (fastq + capture)]]
- Broad instute : SureSelect human all exon v2 target capture kit : non disponible sur le site d'agilent (V6 ou plus)
*** Zone de capture
GIAB fourni le .bed pour l'exome . INfo : https://support.illumina.com/sequencing/sequencing_kits/nextera-rapid-capture-exome-kit/downloads.html
*** Valider la méthode
- 1000 genomes + SureSelect human all exon v2 target capture kit : non disponible sur le site d'agilent (V6 ou plus)
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-019-2928-9
- GIAB + liftover du fichire de capture en hg38
Ce qui est aussi fait par
https://bcbio-nextgen.readthedocs.io/en/stable/contents/germline_variants.html
Mais avec UCSC liftover
** Centogène
https://www.twistbioscience.com/node/23906
Bed non fourni pour exactement cette capture
On prend https://www.twistbioscience.com/resources/data-files/twist-alliance-vcgs-exome-401mb-bed-files
qui content la majeure partie
* Nixpkgs :nix:
** DONE GATK
CLOSED: [2023-05-06 Sat 08:51]
*** DONE [[https://github.com/NixOS/nixpkgs/pull/185819][Binaire]]
CLOSED: [2022-09-10 Sat 23:53] SCHEDULED: <2022-08-10 Wed>
/Entered on/ [2022-08-09 Tue 10:57]
PR submitted
*** KILL Corriger code pour utiliser source
CLOSED: [2022-09-11 Sun 22:05]
*** DONE Corriger PATH pour include java et python
CLOSED: [2022-10-11 Tue 11:46]
https://github.com/NixOS/nixpkgs/pull/191548
Review <2022-10-10 Mon> , corrigé dans la journée
*** DONE Update 4.3.0.0
CLOSED: [2023-04-13 Thu 09:01]
** TODO Nextflow
*** KILL version script seule
CLOSED: [2023-04-01 Sat 18:29]
Fix pour SGE et nextflow
https://github.com/NixOS/nixpkgs/issues/192396
*** KILL Version avec gradle
CLOSED: [2022-10-09 Sun 22:51]
*** TODO [[https://github.com/NixOS/nixpkgs/issues/192396][Bug report Version 22.10.6]]
**** Notes
Erreur :
ERROR: Cannot download nextflow required file -- make sure you can connect to the internet
Alternatively you can try to download this file:
https://www.nextflow.io/releases/v22.10.6/nextflow-22.10.6-all.jar
and save it as:
.//nix/store/md2b1ah4d7ivj82k8xxap30dmdci00pa-nextflow-22.10.6/bin/.nextflow-wrapped
Dans la mise à jour, il y a la création d'un environnement virtuel qui casse l'exécution de nextflow (besoin de télécharger)
Fix = désactiver
**** KILL Patch NXF_OFFLINE=true
CLOSED: [2023-07-02 Sun 11:02] SCHEDULED: <2023-06-11 Sun>
** TODO Multiqc
** TODO VEP :vep:
*** DONE [[https://github.com/NixOS/nixpkgs/pull/185691][BioPerl]]
SCHEDULED: <2022-08-10 Wed>
/Entered on/ [2022-08-09 Tue 10:57]
PR submitted
*** TODO BioDBBBigFile
:PROPERTIES:
:ORDERED: t
:END:
/Entered on/ [2022-08-10 Wed 14:28]
On utilise la dernière version de kent, donc plus de problème.
PRête à être mergé. Rebase faite<2023-07-02 Sun>
**** DONE Version de kent déjà packagée : forcer version 335
CLOSED: [2023-07-02 Sun 11:20]
***** KILL [[https://github.com/NixOS/nixpkgs/pull/206991][Restore building kent 404]]
CLOSED: [2023-05-06 Sat 17:40]
Review faite <2023-03-26 Sun> , atteinte merge]
Relancé <2023-05-06 Sat>
Kent 446 n'a pas ce problème donc PR inutile
***** DONE [[https://github.com/NixOS/nixpkgs/pull/223411][Ajouter les header to package]] (inc folder)
CLOSED: [2023-05-08 Mon 10:18] SCHEDULED: <2023-05-07 Sun>
Review à faire
https://github.com/NixOS/nixpkgs/pull/223411
Corrigé et plus besoin de la PR précédente
***** KILL [[https://github.com/NixOS/nixpkgs/pull/186462][BioDBBBigFile]] avec ces 2 changements
CLOSED: [2023-07-02 Sun 11:20]
**** KILL Version de kent déjà packagée : 404
CLOSED: [2023-03-27 Mon 16:43]
Compile mais les tests de passent pas
**** TODO Modifier selon PR https://github.com/NixOS/nixpkgs/pull/186462
SCHEDULED: <2023-07-30 Sun>
*** 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
** PROJ Spip
** 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 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 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 dbSNP
CLOSED: [2023-06-12 Mon 23:30]
***** DONE compatibilité hg38
CLOSED: [2023-06-12 Mon 23:30]
**** DONE commonSNP
CLOSED: [2023-06-14 Wed 22:32]
***** DONE compatibilité hg38
CLOSED: [2023-06-14 Wed 22:32]
cd /Work/Groups/bisonex/data/dbsnp/GRCh38.p14
❯ ga@mesointeractive GRCh38.p14]$ zgrep -c '^NC' dbSNP_common.vcf.gz
21340485
[apraga@mesointeractive GRCh38.p14]$ pwd
[apraga@mesointeractive GRCh38.p14]$ zgrep -c '^NC'
dbSNP_common.vcf.gz ID_of_common_snp_not_clinvar_patho.txt
dbSNP_common.vcf.gz.tbi ID_of_common_snp.txt
[apraga@mesointeractive dbsnp]$ cd chm13v2.0/
[apraga@mesointeractive chm13v2.0]$ ls
chm13v2.0_dbSNPv155.vcf.gz dbSNP_common.vcf.gz.tbi versions.yml
chm13v2.0_dbSNPv155.vcf.gz.tbi ID_of_common_snp_not_clinvar_patho.txt
dbSNP_common.vcf.gz ID_of_common_snp.txt
[apraga@mesointeractive chm13v2.0]$ zgrep -c '^chr' dbSNP_common.vcf.gz
19433713
[apraga@mesointeractive chm13v2.0] $
❯ man tmux
**** DONE commonSNP non patho
CLOSED: [2023-06-14 Wed 22:35]
***** DONE compatibilité hg38
CLOSED: [2023-06-14 Wed 22:35]
**** DONE cache vep
CLOSED: [2023-06-30 Sun 14:20] SCHEDULED: <2023-07-25 Tue>
*** HOLD Processing bases de données
**** DONE dbSNP common
**** DONE Seulement les ID dans dbSNP common !
CLOSED: [2022-11-19 Sat 21:42]
172G au lieu de 253M...
**** HOLD common dbSNP not clinvar patho
***** DONE Conclusion partielle
CLOSED: [2022-12-12 Mon 22:25]
- vcfeval : prometteur mais n'arrive pas à traiter toutes les régions
- isec : trop de problèmes avec
- classif clinvar directement dans dbSNP: le plus simple
Et ça permet de rattraper quelques erreurs dans le script d'Alexis
***** KILL Utiliser directement le numéro dbSNP dans clinvar ? Non
CLOSED: [2022-11-20 Sun 19:51]
Ex: chr20
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools query -f 'rs%INFO/RS \n' -i 'INFO/RS != "." & INFO/CLNSIG="Pathogenic"' clinvar_chr20.vcf.gz | sort > ID_clinvar_patho.txt
bcftools query -f '%ID\n' dbSNP_common_chr20.vcf.gz | sort > ID_of_common_snp.txt
comm -23 ID_of_common_snp.txt ID_clinvar_patho.txt > ID_of_common_snp_not_clinvar_patho.txt
wc -l ID_of_common_snp_not_clinvar_patho.txt
# sort ID
#+end_src
#+RESULTS:
: 518846 ID_of_common_snp_not_clinvar_patho.txt
Version d'alexis
#+begin_src sh :dir ~/code/bisonex/test_isec
snp=dbSNP_common_chr20.vcf.gz
clinvar=clinvar_chr20_notremapped.vcf.gz
python ../script/pythonScript/clinvar_sbSNP.py \
--clinvar $clinvar \
--chrm_name_table ../database/RefSeq/refseq_to_number_only_consensual.txt \
--dbSNP $snp --output prod.txt
wc -l prod.txt
zgrep '^NC' dbSNP_common_chr20.vcf.gz | wc -l
#+end_src
#+RESULTS:
| 518832 | prod.txt |
| 518846 | |
***** KILL classification clinvar codée dbSNP ?
CLOSED: [2022-12-04 Sun 14:38]
Sur le chromosome 20
*Attention* CLNSIG a plusieurs champs (séparé par une virgule)
On y accède avec INFO/CLNSIG[*]
Ensuite, chaque item peut avoir plusieurs haploïdie (séparé par un |). IL faut donc utiliser une regexp
NB: *ne pas mettre la condition* dans une variable !!
Pour avoir les clinvar patho, on veut 5 mais pas 255 (= autre) pour la classification !`
Il faut également les likely patho et conflicting
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools query -f '%INFO/CLNSIG\n' dbSNP_common_chr20.vcf.gz -i \
'INFO/CLNSIG[*]~"^5|" | INFO/CLNSIG[*]=="5" | INFO/CLNSIG[*]~"|5" | INFO/CLNSIG[*]~"^4|" | INFO/CLNSIG[*]=="4" | INFO/CLNSIG[*]~"|4" | INFO/CLNSIG[*]~"^12|" | INFO/CLNSIG[*]=="12" | INFO/CLNSIG[*]~"|12"' | sort
#+end_src
#+RESULTS:
| . | . | 12 | | | | | | | | |
| . | 12 | 0 | 2 | | | | | | | |
| 2 | 3 | 2 | 2 | 2 | 5 | . | | | | |
| . | 2 | 3 | 2 | 2 | 4 | | | | | |
| . | . | 3 | 12 | 3 | | | | | | |
| . | 5 | 2 | . | | | | | | | |
| . | . | . | 5 | 2 | 2 | | | | | |
| . | 9 | 9 | 9 | 5 | 5 | 2 | 3 | 2 | 3 | 2 |
Si on les exclut :
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools query -f '%ID\n' dbSNP_common_chr20.vcf.gz -e \
'INFO/CLNSIG[*]~"^5|" | INFO/CLNSIG[*]=="5" | INFO/CLNSIG[*]~"|5" | INFO/CLNSIG[*]~"4" | INFO/CLNSIG[*]~"12"' | sort | uniq > common-notpatho.txt
#+end_src
#+RESULTS:
#+begin_src sh :dir ~/code/bisonex/test_isec
snp=dbSNP_common_chr20.vcf.gz
clinvar=clinvar_chr20_notremapped.vcf.gz
python ../script/pythonScript/clinvar_sbSNP.py \
--clinvar $clinvar \
--chrm_name_table ../database/RefSeq/refseq_to_number_only_consensual.txt \
--dbSNP $snp --output tmp.txt
sort tmp.txt | uniq > common-notpatho-alexis.txt
wc -l common-notpatho-alexis.txt
#+end_src
#+RESULTS:
: 518832 common-notpatho-alexis.txt
On en a 6 de plus que la version d'Alexis mais quelques différences
Ceux d'Alexis qui manquent:
#+begin_src sh :dir ~/code/bisonex/test_isec
comm -23 common-notpatho-alexis.txt common-notpatho.txt > alexis-only.txt
cat alexis-only.txt
#+end_src
#+RESULTS:
| rs1064039 |
| rs3833341 |
| rs73598374 |
On les teste dans clinvar et dbSNP
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools query -f '%POS %REF %ALT %INFO/CLNSIG\n' -i 'ID=@alexis-only.txt' dbSNP_common_chr20.vcf.gz
bcftools query -f '%POS\n' -i 'ID=@alexis-only.txt' dbSNP_common_chr20.vcf.gz > alexis-only-pos.txt
while read -r line; do
bcftools query -f '%POS %REF %ALT %INFO/CLNSIG\n' -i 'POS='$line clinvar_chr20.vcf.gz
done < alexis-only-pos.txt
# bcftools query -f '%POS %REF %ALT %INFO/CLNSIG\n' -i 'POS=23637790' clinvar_chr20.vcf.gz
#+end_src
#+RESULTS:
| 764018 | A | ACAGGTCAAT,ACAGGT | .,5 | 2,. | |
| 23637790 | C | G,T | .,.,12 | | |
| 44651586 | C | A,G,T | .,.,.,5 | 2 | 2 |
| 764018 | A | ACAGGTCAAT | Benign | | |
| 23637790 | C | T | Benign | | |
| 44651586 | C | T | Benign | | |
On a donc une discordance entre clinvar et dbSNP.
On dirait qu'ils ont mal fait l'intersection avec clinvar.
Par exemple https://www.ncbi.nlm.nih.gov/snp/rs3833341#clinical_significance
Tu as l'impression qu'il y a un 1 clinvar bénin et 1 patho.
En cherchant par NM, tu vois qu'il est bénin sur clinvar car il y a d'autres soumissions ! https://www.ncbi.nlm.nih.gov/clinvar/variation/262235/
Confirmation sur nos bases de données :
$ bcftools query -f '%POS %REF %ALT %INFO/CLNSIG\n' -i 'POS=764018' dbSNP_common_chr20.vcf.gz
764018 A ACAGGTCAAT,ACAGGT .,5|2,.
$ bcftools query -f '%POS %REF %ALT %INFO/CLNSIG\n' -i 'POS=764018' clinvar_chr20.vcf.gz
764018 A ACAGGTCAAT Benign
***** KILL Corriger script alexi
CLOSED: [2022-12-04 Sun 13:03]
Gère clinvar patho, probablement patho ou conflicting !
***** HOLD Rtg tools
****** Test
1. Générer SDf file
#+begin_src sh
rtg format genomeRef.fna -o genomeRef.sdf
#+end_src
2. Pour les bases de donnés, il faut l'option --sample ALT sinon on a
#+begin_src
$ rtg vcfeval -b dbSNP_common.vcf.gz -c clinvar.vcf.gz -o test -t genomeRef.sdf/^C
VCF header does not contain a FORMAT field named GQ
Error: Record did not contain enough samples: NC_000001.11 10001 rs1570391677 A,C . PASS RS=1570391677;dbSNPBuildID=154;SSR=0;PSEUDOGENEINFO=DDX11L1:100287102;VC=SNV;R5;GNO;FREQ=KOREAN:0.9891,0.0109,.|SGDP_PRJ:0,1,.|dbGaP_PopFreq:1,.,0;COMMON
#+end_src
Essai intersection clinvar (patho ou non) dbSNP
- faux négatif = dbSNP common qui ne sont pas dans clinvar
- faux positif = clinvar qui ne sont pas dbSNP common
- vrai positif = clinvar qui sont dans dbSNP common
- vrai positif baseline = dbSNP common qui sont dans clinvar
On calcule le nombre de lignes
#+begin_src ssh
zgrep '^[^#]' /Work/Groups/bisonex/data/clinvar/GRCh38/clinvar.vcf.gz | wc -l
for i in *.vcf.gz; do echo $i; zgrep '^[^#]' $i | wc -l; done
#+end_src
| clinvar | 1493470 |
| fn.vcf.gz | 22330220 |
| fp.vcf.gz | 1222529 |
| tp-baseline.vcf.gz | 131040 |
| tp.vcf.gz | 136638 |
À noter qu'on ne retrouve pas tout clinvar...
1222529 + 131040 = 1353569 < 1493470
certains régions ne sont pas traitées :
#+begin_quote
Evaluation too complex (50002 unresolved paths, 34891 iterations) at reference region NC_000001.11:790930-790970. Variants in this region will not be included in results
#+end_quote
#+begin_src sh
grep 'not be included' vcfeval.log | wc -l
56192
#+end_src
Le total est quand même inférieur
On veut les clinvar non patho dans dbSNP soit les faux négatif (dbSNP common not contenu dans clinvar patho)
#+begin_src sh
bcftools filter -i 'INFO/CLNSIG="Pathogenic"' /Work/Groups/bisonex/data/clinvar/GRCh38/clinvar.vcf.gz -o /Work/Groups/bisonex/data/clinvar/GRCh38/clinvar-patho.vcf.gz
tabix /Work/Groups/bisonex/data/clinvar/GRCh38/clinvar-patho.vcf.gz
#+end_src
On lance le script (dbSNP common et clinvar = 9h)
#+begin_src sh
#!/bin/bash
#SBATCH --nodes=1
#SBATCH -p smp
#SBATCH --time=12:00:00
#SBATCH --mem=12G
dir=/Work/Groups/bisonex/data
dbSNP=$dir/dbSNP/GRCh38.p13/dbSNP_common.
bien vérifier que tous ne sont pas pa
tho.
La version d'Alexis le fait bien
| NC_000020.11 | 3234173 | rs3827075 | T | A,C,G | |
| NC_000020.11 | 3234173 | 262001 | T | G | Conflicting_interpretations_of_pathogenicity |
| NC_000020.11 | 3234173 | 1072511 | T | TGGCGAAGC | Pathogenic |
| NC_000020.11 | 3234173 | 208613 | TGGCGAAGC | G | Pathogenic |
| NC_000020.11 | 3234173 | 1312 | TGGCGAAGC | T | Pathogenic |
****** DONE Voir si isec gère les multiallélique (chr20) : non, impossible de faire marcher
CLOSED: [2022-11-27 Sun 00:37]
******* DONE chr20 en prenant un patho clinvar aussi dans dbSNP
CLOSED: [2022-11-27 Sun 00:37]
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools filter dbSNP_common_chr20.vcf.gz -i 'POS=10652589' -o test_dbsnp.vcf.gz
bcftools filter clinvar_chr20.vcf.gz -i 'POS=10652589' -o test_clinvar.vcf.gz
bcftools index test_dbsnp.vcf.gz
bcftools index test_clinvar.vcf.gz
#+end_src
#+RESULTS:
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools isec test_dbsnp.vcf.gz test_clinvar.vcf.gz -p tmp
grep '^[^#]' tmp/0002.vcf
grep '^[^#]' tmp/0003.vcf
#+end_src
#+RESULTS:
Même en biallélique, ne fonctionne pas.
Testé en modifiant test_dbsnp !
Fonctionne avec un variant par ligne
****** DONE isec en coupant les sites multialléliques: non
CLOSED: [2022-11-27 Sun 00:37]
******* DONE Exemple simple ok
CLOSED: [2022-11-27 Sun 00:34]
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools filter -i 'POS=10652589' dbSNP_common_chr20.vcf.gz -o dbsnp_mwi.vcf.gz
bcftools filter -i 'POS=10652589' clinvar_chr20.vcf.gz -o clinvar_mwi.vcf.gz
bcftools index -f dbsnp_mwi.vcf.gz
bcftools index -f clinvar_mwi.vcf.gz
bcftools isec dbsnp_mwi.vcf.gz clinvar_mwi.vcf.gz -n=2
#+end_src
#+RESULTS:
Même en biallélique, ne fonctionne pas.
Chr 20
Avec les fichiers du teste précédent
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools norm -m -any dbsnp_mwi.vcf.gz -o dbsnp_mwi_norm.vcf.gz
bcftools index dbsnp_mwi_norm.vcf.gz
bcftools isec dbsnp_mwi_norm.vcf.gz clinvar_mwi.vcf.gz -n=2
#+end_src
#+RESULTS:
| NC_000020.11 | 10652589 | G | A | 11 |
| NC_000020.11 | 10652589 | G | C | 11 |
******* TODO Sur dbSNP chr20 non
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools norm -m -any dbSNP_common_chr20 -o dbSNP_common_chr20_norm.vcf.gz
#+end_src
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools isec -i 'INFO/CLNSIG="Pathogenic"' dbSNP_common_chr20_norm.vcf.gz clinvar_chr20.vcf.gz -p tmp
#+end_src
#+RESULTS:
***** DONE Essai bedtools intersect
#+begin_src sh
bedtools intersect -a dbSNP_common.vcf.gz -b clinvar.vcf.gz
#+end_src
$ wc -l intersect.vcf
220206 intersect.vcf
** TODO Dépendences avec Nix
*** DONE GATK
CLOSED: [2022-10-21 Fri 21:59]
*** WAIT BioDBHTS
Contribuer pull request
*** DONE BioExtAlign
CLOSED: [2022-10-22 Sat 00:38]
*** WAIT BioBigFile
Revoir si on peut utliser kent dernière version
Contribuer pull request
*** HOLD rtg-tools
Convertir clinvar NC
*** DONE simuscop
CLOSED: [2022-12-30 Fri 22:31]
*** DONE Spip
CLOSED: [2022-12-04 Sun 12:49]
Pas de pull request
*** DONE R + packages
CLOSED: [2022-11-19 Sat 21:05]
*** TODO hap.py
https://github.com/Illumina/hap.py
**** DONE Version sans rtgtools avec python 3
CLOSED: [2023-02-02 Thu 22:15]
Procédure pour tester
#+begin_src
nix develop .#hap-py
$ genericBuild
#+end_src
1. Supprimer l’appel à make_dependencies dans cmakelist.txt : on peut tout installer avec nix
2. Patch Roc.cpp pour avoir numeric_limits ( error: 'numeric_limits' is not a member of 'std')
3. ajout de flags de link (essai, error)
set(ZLIB_LIBRARIES -lz -lbz2 -lcurl -lcrypto -llzma)
4. Changer les appels à print en print() dans le code python et suppression de quelques import
[nix-shell:~/source]$ sed -i.orig 's/print \"\(.*\)"/print(\1)/' src/python/*.py
**** DONE Sérialiser json pour écrire données de sorties
CLOSED: [2023-02-17 Fri 19:25]
**** DONE Tester sur example
CLOSED: [2023-02-04 Sat 00:25]
#+begin_src sh
$ cd hap.py
$ ../result/bin/hap.py example/happy/PG_NA12878_chr21.vcf.gz example/happy/NA12878_chr21.vcf.gz -f example/happy/PG_Conf_chr21.bed.gz -o test -r example/chr21.fa
#+end_src
#+RESULTS:
| 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 |
| INDEL | ALL | 8937 | 7839 | 1098 | 11812 | 343 | 3520 | 45 | 283 | 0.877140 | 0.958635 | 0.298002 | 0.916079 |
| INDEL | PASS | 8937 | 7550 | 1387 | 9971 | 283 | 1964 | 30 | 242 | 0.844803 | 0.964656 | 0.196971 | 0.900760 |
| SNP | ALL | 52494 | 52125 | 369 | 90092 | 582 | 37348 | 107 | 354 | 0.992971 | 0.988966 | 0.414554 | 0.990964 |
| SNP | PASS | 52494 | 46920 | 5574 | 48078 | 143 | 992 | 8 | 97 | 0.893816 | 0.996963 | 0.020633 | 0.942576 |
**** TODO Version avec rtg-tools
**** TODO Faire fonctionner Tests
***** TODO Essai 2 : depuis nix develop:
SCHEDULED: <2023-07-25 Tue>
#+begin_src
nix develop .#hap-py
genericBuild
#+end_src
Lancé initialement à la main, mais on peut maintenant utiliser run_tests
#+begin_src
HCDIR=bin/ ../src/sh/run_tests.sha
#+end_src
- [X] test boost
- [X] multimerge
- [X] hapenum
- [X] fp accuracy
- [X] faulty variant
- leftshift fails
- [X] other vcf
- [X] chr prefix
- [X] gvcf
- [X] decomp
- [X] contig lengt
- [X] integration test
- [ ] scmp fails sur le type
- [X] giab
- [X] performance
- [ ] quantify fails sur le type
- [ ] stratified échec sur les résultats !
- [X] pg counting
- [ ] sompy: ne trouve pas Strelka dans somatic
phases="buildPhase checkPhase installPhase fixupPhase" genericBuild
#+end_src
**** KILL Reproduire les performances precisionchallenge : attention à HG002 et HG001!
CLOSED: [2023-04-01 Sat 19:43]
https://www.nist.gov/programs-projects/genome-bottle
***** KILL 0GOOR
CLOSED: [2023-04-01 Sat 19:40]
Le problème venait 1. de l'ADN et 2. du renommage des chromosomes qui était faux
****** DONE HG002
CLOSED: [2023-02-17 Fri 19:31]
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
INDEL ALL 525466 491355 34111 1156702 57724 605307 9384 25027 0.935084 0.895313 0.523304 0.914766
INDEL PASS 525466 491355 34111 1156702 57724 605307 9384 25027 0.935084 0.895313 0.523304 0.914766
SNP ALL 3365115 3358399 6716 5666020 21995 2284364 4194 1125 0.998004 0.993496 0.403169 0.995745
SNP PASS 3365115 3358399 6716 5666020 21995 2284364 4194 1125 0.998004 0.993496 0.403169 0.995745
TRUTH.TOTAL.TiTv_ratio QUERY.TOTAL.TiTv_ratio TRUTH.TOTAL.het_hom_ratio QUERY.TOTAL.het_hom_ratio
NaN NaN 1.528276 2.752637
NaN NaN 1.528276 2.752637
2.100129 1.473519 1.581196 1.795603
2.100129 1.473519 1.581196 1.795603
***** KILL Avec python2
CLOSED: [2023-02-17 Fri 19:25]
****** KILL avec nix
CLOSED: [2023-02-17 Fri 19:25]
conda create -n python2 python=2.7 anaconda
****** KILL avec conda
CLOSED: [2023-02-17 Fri 19:25]
******* Gentoo: regex_error sur test...
Ok avec bash !
#+begin_src
anaconda3/bin/conda create --name py2 python=2.7
conda activate py2
conda install -c bioconda hap.py
#+end_src
******** Faire tourner les tests.
Il faut remplace bin/test_haplotypes par test_haplotypes dans src/sh/run_tests.sh
#+begin_src sh
HGREF=../genome/GRCh38/GCA_000001405.15_GRCh38_no_alt_analysis_set.fasta HCDIR=~/anaconda3/envs/py2/bin bash src/sh/run_tests.sh
#+end_src
Echec:
test_haplotypes: /opt/conda/conda-bld/work/hap.py-0.3.7/src/c++/lib/tools/Fasta.cpp:81: MMappedFastaFile::MMappedFastaFile(const string&): Assertion `fd != -1' failed.
unknown location(0): fatal error in "testVariantPrimitiveSplitter": signal: SIGABRT (application abort requested)
/opt/conda/conda-bld/work/hap.py-0.3.7/src/c++/test/test_align.cpp(298): last checkpoint
******** Chr21
HGREF=../genome/GRCh38/GCA_000001405.15_GRCh38_no_alt_analysis_set.fasta hap.py example/happy/PG_NA12878_chr21.vcf.gz example/happy/NA12878_chr21.vcf.gz -f example/happy/PG_Conf_chr21.bed.gz -o test
******* Helios
échec
** TODO T2T :T2T:
Toutes les ressourcs sont décrites ici
https://github.com/marbl/CHM13
Détails sur le pipeline
https://genome.ucsc.edu/cgi-bin/hgTrackUi?db=hub_3267197_GCA_009914755.4&c=CP068277.2&g=hub_3267197_hgLiftOver
*** DONE Alignement
CLOSED: [2023-06-26 Mon 19:42]
NXF_OPTS=-D"user.name=${USER}" nextflow run main.nf -profile standard,helios --input="/Work/Groups/bisonex/data/giab/*_R{1,2}_001.fastq.gz" --id=NA12878-T2T -bg
SCHEDULED: <2023-06-14 Wed>
*** DONE Haplotypecaller
CLOSED: [2023-06-26 Mon 19:42] SCHEDULED: <2023-06-15 Thu>
*** TODO Filtres
SCHEDULED: <2023-07-27 Thu>
*** Liftover pipelines
:PROPERTIES:
:ID: d2280207-3f65-4a31-a291-41fa9a9658c2
:END:
Contient les chain files
** TODO Indicateurs qualité
SCHEDULED: <2023-07-26 Wed>
*** 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
** TODO vérifier si normalisation
SCHEDULED: <2023-07-26 Wed>
** TODO Rajouter vérification hgvs
SCHEDULED: <2023-07-26 Wed>
** 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/genomeRef.fna --plugin CADD,/Work/Users/apraga/bisonex/work/13/9287a7fef17ab9365f5696f20710cd/gnomad.genomes.r3.0.snv.tsv.gz,/Work/Users/apraga/bisonex/work/13/9287a7fef17ab9365f5696f20710cd/gnomad.genomes.r3.0.indel.tsv.gz --dir_plugins ../VEP_plugins/ -v
#+end_src
Test
#+begin_src sh
vep --id "1 230710048 230710048 A/G 1" --offline --dir /Work/Projects/bisonex/data/vep/GRCh38/ --merged --vcf --fasta /Work/Projects/bisonex/data/genome/GRCh38.p13/genomeRef.fna --plugin CADD,/Work/Users/apraga/bisonex/work/13/9287a7fef17ab9365f5696f20710cd/gnomad.genomes.r3.0.snv.tsv.gz,/Work/Users/apraga/bisonex/work/13/9287a7fef17ab9365f5696f20710cd/gnomad.genomes.r3.0.indel.tsv.gz --hgvsg --plugin pLI --plugin LOEUF -o lol
#+end_src
CSQ=G|missense_variant|MODERATE|AGT|ENSG00000135744|Transcript|ENST00000366667|protein_coding|2/5||||843|776|259|M/T|aTg/aCg|||-1||HGNC|HGNC:333||Ensembl||A|A||1:g.230710048A>G|0.347|-0.277922|
Correspond bien à https://www.ensembl.org/Homo_sapiens/Tools/VEP/Results?tl=I7ZsIbrj14P6lD43-9115494
***** DONE Utiliser whole genome
CLOSED: [2023-04-29 Sat 15:46]
***** KILL Renommer les chromosome avant ...
CLOSED: [2023-05-01 Mon 09:14] SCHEDULED: <2023-04-30 Sun>
Trop long !
- Téléchargement de CADD: 4h20
- renommer les chromosome pour SNV : 6h20
- tabix sur les SNV : job tué au bout de 21h....
***** DONE annoter séparément et fusionner les tableaux
CLOSED: [2023-05-07 Sun 14:45] SCHEDULED: <2023-05-01 Mon>
NB: on pourrait filtrer CADD avec tabix pour se restreindre à nos variants
**** DONE clinvar
CLOSED: [2023-04-22 Sat 15:31]
**** KILL Vérifier résultats HGVS avec mutalyzer
CLOSED: [2023-05-01 Mon 09:26]
**** TODO Parallélisation
***** HOLD par chromosome avec workflow VEP
https://github.com/Ensembl/ensembl-vep/blob/release/109/nextflow/workflows/run_vep.nf
***** HOLD Avec option --fork
**** DONE Utiliser la version de nf-core de VEP
CLOSED: [2023-05-13 Sat 18:27] SCHEDULED: <2023-05-07 Sun>
**** DONE OMIM
CLOSED: [2023-05-08 Mon 15:02] SCHEDULED: <2023-05-01 Mon>
**** TODO Grantham
**** TODO ACMG incidental
**** TODO Gnomad ?
**** TODO ACMG incidental
**** TODO Gnomad ?
**** DONE Filtrer après VEP avec filter_vep
CLOSED: [2023-04-29 Sat 15:47]
nNon testé
*** TODO Comparer les annotations sur 63003856
**** Relancer le nouveau pipeline
*** HOLD Ancienne version
**** TODO HGVS
**** TODO Filtrer après VEP
**** TODO OMIM
**** TODO clinvar
**** TODO ACMG incidental
**** TODO Grantham
**** KILL LRG
CLOSED: [2023-04-18 mar. 17:22] SCHEDULED: <2023-04-18 Tue>
Vu avec alexis, n’est plus à jour
**** TODO Gnomad
** DONE Porter exactement la version d'Alexis sur Helios
CLOSED: [2023-01-14 Sat 17:56]
Branche "prod"
** KILL Tester version d'alexis avec Nix
CLOSED: [2023-06-14 Wed 22:37]
*** DONE Ajouter clinvar
CLOSED: [2022-11-13 Sun 19:37]
*** DONE Alignement
CLOSED: [2022-11-13 Sun 12:52]
*** DONE Haplotype caller
CLOSED: [2022-11-13 Sun 13:00]
*** KILL Filter
CLOSED: [2023-06-14 Wed 22:37]
- [X] depth
- [ ] comon snp not path
Problème avec liste des ID
**** KILL variant annotation
CLOSED: [2023-06-14 Wed 22:37]
Besoin de vep
*** KILL Variant calling
CLOSED: [2023-06-14 Wed 22:37]
** STRT Tester sarek
#+begin_src sh
module load apptainer/1.1.8
nextflow run nf-core/sarek -profile test,singularity --outdir test-sarek
#+end_src
Les dépendences ne se téléchargent pas correctement, on les extrait à la main
#+begin_src sh
rg -IN galaxyproject modules | sed 's/ //g;s/:$//' | sort | uniq > deps.txt
#+end_src
Nettoyage à la main
Puis
#+begin_src sh
cat deps.txt | xargs -L1 singularity pull
#+end_src
* Amélioration :amelioration:
* Documentation
:PROPERTIES:
:CATEGORY: doc
:END:
** DONE Procédure d'installation nix + dependences pour VM CHU
CLOSED: [2023-04-22 Sat 15:27] SCHEDULED: <2023-04-13 Thu>
* Manuscript
:PROPERTIES:
:CATEGORY: manuscript
:END:
* Tests
:PROPERTIES:
:CATEGORY: tests
:END:
** KILL Non régression : version prod
CLOSED: [2023-05-23 Tue 08:46]
*** DONE ID common snp
CLOSED: [2022-11-19 Sat 21:36]
#+begin_src
$ wc -l ID_of_common_snp.txt
23194290 ID_of_common_snp.txt
$ wc -l /Work/Users/apraga/bisonex/database/dbSNP/ID_of_common_snp.txt
23194290 /Work/Users/apraga/bisonex/database/dbSNP/ID_of_common_snp.txt
#+end_src
*** DONE ID common snp not clinvar patho
CLOSED: [2022-12-11 Sun 20:11]
**** DONE Vérification du problème
CLOSED: [2022-12-11 Sun 16:30]
Sur le J:
21155134 /Work/Groups/bisonex/data/dbSNP/GRCh38.p13/ID_of_common_snp_not_clinvar_patho.txt.ref
Version de "non-régression"
21155076 database/dbSNP/ID_of_common_snp_not_clinvar_patho.txt
Nouvelle version
23193391 /Work/Groups/bisonex/data/dbSNP/GRCh38.p13/ID_of_common_snp_not_clinvar_patho.txt
Si on enlève les doublons
$ sort database/dbSNP/ID_of_common_snp_not_clinvar_patho.txt | uniq > old.txt
$ wc -l old.txt
21107097 old.txt
$ sort /Work/Groups/bisonex/data/dbSNP/GRCh38.p13/ID_of_common_snp_not_clinvar_patho.txt | uniq > new.txt
$ wc -l new.txt
21174578 new.txt
$ sort /Work/Groups/bisonex/data/dbSNP/GRCh38.p13/ID_of_common_snp_not_clinvar_patho.txt.ref | uniq > ref.txt
$ wc -l ref.txt
21107155 ref.txt
Si on regarde la différence
comm -23 ref.txt old.txt
rs1052692
rs1057518973
rs1057518973
rs11074121
rs112848754
rs12573787
rs145033890
rs147889095
rs1553904159
rs1560294695
rs1560296615
rs1560310926
rs1560325547
rs1560342418
rs1560356225
rs1578287542
...
On cherche le premier
bcftools query -i 'ID="rs1052692"' database/dbSNP/dbSNP_common.vcf.gz -f '%CHROM %POS %REF %ALT\n'
NC_000019.10 1619351 C A,T
Il est bien patho...
$ bcftools query -i 'POS=1619351' database/clinvar/clinvar.vcf.gz -f '%CHROM %POS %REF %ALT %INFO/CLNSIG\n'
19 1619351 C T Conflicting_interpretations_of_pathogenicity
On vérifie pour tous les autres
$ comm -23 ref.txt old.txt > tocheck.txt
On génère les régions à vérifier (chromosome number:position)
$ bcftools query -i 'ID=@tocheck.txt' database/dbSNP/dbSNP_common.vcf.gz -f '%CHROM\t%POS\n' > tocheck.pos
On génère le mapping inverse (chromosome number -> NC)
$ awk ' { t = $1; $1 = $2; $2 = t; print; } ' database/RefSeq/refseq_to_number_only_consensual.txt > mapping.txt
On remap clinvar
$ bcftools annotate --rename-chrs mapping.txt database/clinvar/clinvar.vcf.gz -o clinvar_remapped.vcf.gz
$ tabix clinvar_remapped.vcf.gz
Enfin, on cherche dans clinvar la classification
$ bcftools query -R tocheck.pos clinvar_remapped.vcf.gz -f '%CHROM %POS %INFO/CLNSIG\n'
$ bcftools query -R tocheck.pos database/dbSNP/dbSNP_common.vcf.gz -f '%CHROM %POS %ID \n' | grep '^NC'
#+RESULTS:
**** DONE Comprendre pourquoi la nouvelle version donne un résultat différent
CLOSED: [2022-12-11 Sun 20:11]
***** DONE Même version dbsnp et clinvar ?
CLOSED: [2022-12-10 Sat 23:02]
Clinvar différent !
$ bcftools stats clinvar.gz
clinvar (Alexis)
SN 0 number of samples: 0
SN 0 number of records: 1492828
SN 0 number of no-ALTs: 965
SN 0 number of SNPs: 1338007
SN 0 number of MNPs: 5562
SN 0 number of indels: 144580
SN 0 number of others: 3714
SN 0 number of multiallelic sites: 0
SN 0 number of multiallelic SNP sites: 0
clinvar (new)
SN 0 number of samples: 0
SN 0 number of records: 1493470
SN 0 number of no-ALTs: 965
SN 0 number of SNPs: 1338561
SN 0 number of MNPs: 5565
SN 0 number of indels: 144663
SN 0
bien vérifier que tous ne sont pas patho.
La version d'Alexis le fait bien
| NC_000020.11 | 3234173 | rs3827075 | T | A,C,G | |
| NC_000020.11 | 3234173 | 262001 | T | G | Conflicting_interpretations_of_pathogenicity |
| NC_000020.11 | 3234173 | 1072511 | T | TGGCGAAGC | Pathogenic |
| NC_000020.11 | 3234173 | 208613 | TGGCGAAGC | G | Pathogenic |
| NC_000020.11 | 3234173 | 1312 | TGGCGAAGC | T | Pathogenic |
****** DONE Voir si isec gère les multiallélique (chr20) : non, impossible de faire marcher
CLOSED: [2022-11-27 Sun 00:37]
******* DONE chr20 en prenant un patho clinvar aussi dans dbSNP
CLOSED: [2022-11-27 Sun 00:37]
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools filter dbSNP_common_chr20.vcf.gz -i 'POS=10652589' -o test_dbsnp.vcf.gz
bcftools filter clinvar_chr20.vcf.gz -i 'POS=10652589' -o test_clinvar.vcf.gz
bcftools index test_dbsnp.vcf.gz
bcftools index test_clinvar.vcf.gz
#+end_src
#+RESULTS:
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools isec test_dbsnp.vcf.gz test_clinvar.vcf.gz -p tmp
grep '^[^#]' tmp/0002.vcf
grep '^[^#]' tmp/0003.vcf
#+end_src
#+RESULTS:
Même en biallélique, ne fonctionne pas.
Testé en modifiant test_dbsnp !
Fonctionne avec un variant par ligne
****** DONE isec en coupant les sites multialléliques: non
CLOSED: [2022-11-27 Sun 00:37]
******* DONE Exemple simple ok
CLOSED: [2022-11-27 Sun 00:34]
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools filter -i 'POS=10652589' dbSNP_common_chr20.vcf.gz -o dbsnp_mwi.vcf.gz
bcftools filter -i 'POS=10652589' clinvar_chr20.vcf.gz -o clinvar_mwi.vcf.gz
bcftools index -f dbsnp_mwi.vcf.gz
bcftools index -f clinvar_mwi.vcf.gz
bcftools isec dbsnp_mwi.vcf.gz clinvar_mwi.vcf.gz -n=2
#+end_src
#+RESULTS:
Même en biallélique, ne fonctionne pas.
Chr 20
Avec les fichiers du teste précédent
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools norm -m -any dbsnp_mwi.vcf.gz -o dbsnp_mwi_norm.vcf.gz
bcftools index dbsnp_mwi_norm.vcf.gz
bcftools isec dbsnp_mwi_norm.vcf.gz clinvar_mwi.vcf.gz -n=2
#+end_src
#+RESULTS:
| NC_000020.11 | 10652589 | G | A | 11 |
| NC_000020.11 | 10652589 | G | C | 11 |
******* TODO Sur dbSNP chr20 non
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools norm -m -any dbSNP_common_chr20 -o dbSNP_common_chr20_norm.vcf.gz
#+end_src
#+begin_src sh :dir ~/code/bisonex/test_isec
bcftools isec -i 'INFO/CLNSIG="Pathogenic"' dbSNP_common_chr20_norm.vcf.gz clinvar_chr20.vcf.gz -p tmp
#+end_src
#+RESULTS:
***** DONE Essai bedtools intersect
#+begin_src sh
bedtools intersect -a dbSNP_common.vcf.gz -b clinvar.vcf.gz
#+end_src
$ wc -l intersect.vcf
220206 intersect.vcf
** TODO Dépendences avec Nix
*** DONE GATK
CLOSED: [2022-10-21 Fri 21:59]
*** WAIT BioDBHTS
Contribuer pull request
*** DONE BioExtAlign
CLOSED: [2022-10-22 Sat 00:38]
*** WAIT BioBigFile
Revoir si on peut utliser kent dernière version
Contribuer pull request
*** HOLD rtg-tools
Convertir clinvar NC
*** DONE simuscop
CLOSED: [2022-12-30 Fri 22:31]
*** DONE Spip
CLOSED: [2022-12-04 Sun 12:49]
Pas de pull request
*** DONE R + packages
CLOSED: [2022-11-19 Sat 21:05]
*** TODO hap.py
https://github.com/Illumina/hap.py
**** DONE Version sans rtgtools avec python 3
CLOSED: [2023-02-02 Thu 22:15]
Procédure pour tester
#+begin_src
nix develop .#hap-py
$ genericBuild
#+end_src
1. Supprimer l’appel à make_dependencies dans cmakelist.txt : on peut tout installer avec nix
2. Patch Roc.cpp pour avoir numeric_limits ( error: 'numeric_limits' is not a member of 'std')
3. ajout de flags de link (essai, error)
set(ZLIB_LIBRARIES -lz -lbz2 -lcurl -lcrypto -llzma)
4. Changer les appels à print en print() dans le code python et suppression de quelques import
[nix-shell:~/source]$ sed -i.orig 's/print \"\(.*\)"/print(\1)/' src/python/*.py
**** DONE Sérialiser json pour écrire données de sorties
CLOSED: [2023-02-17 Fri 19:25]
**** DONE Tester sur example
CLOSED: [2023-02-04 Sat 00:25]
#+begin_src sh
$ cd hap.py
$ ../result/bin/hap.py example/happy/PG_NA12878_chr21.vcf.gz example/happy/NA12878_chr21.vcf.gz -f example/happy/PG_Conf_chr21.bed.gz -o test -r example/chr21.fa
#+end_src
#+RESULTS:
| 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 |
| INDEL | ALL | 8937 | 7839 | 1098 | 11812 | 343 | 3520 | 45 | 283 | 0.877140 | 0.958635 | 0.298002 | 0.916079 |
| INDEL | PASS | 8937 | 7550 | 1387 | 9971 | 283 | 1964 | 30 | 242 | 0.844803 | 0.964656 | 0.196971 | 0.900760 |
| SNP | ALL | 52494 | 52125 | 369 | 90092 | 582 | 37348 | 107 | 354 | 0.992971 | 0.988966 | 0.414554 | 0.990964 |
| SNP | PASS | 52494 | 46920 | 5574 | 48078 | 143 | 992 | 8 | 97 | 0.893816 | 0.996963 | 0.020633 | 0.942576 |
**** KILL Version avec rtg-tools
CLOSED: [2023-07-30 Sun 14:38]
**** HOLD Faire fonctionner Tests
***** HOLD Essai 2 : depuis nix develop:
#+begin_src
nix develop .#hap-py
genericBuild
#+end_src
Lancé initialement à la main, mais on peut maintenant utiliser run_tests
#+begin_src
HCDIR=bin/ ../src/sh/run_tests.sha
#+end_src
- [X] test boost
- [X] multimerge
- [X] hapenum
- [X] fp accuracy
- [X] faulty variant
- leftshift fails
- [X] other vcf
- [X] chr prefix
- [X] gvcf
- [X] decomp
- [X] contig lengt
- [X] integration test
- [ ] scmp fails sur le type
- [X] giab
- [X] performance
- [ ] quantify fails sur le type
- [ ] stratified échec sur les résultats !
- [X] pg counting
- [ ] sompy: ne trouve pas Strelka dans somatic
phases="buildPhase checkPhase installPhase fixupPhase" genericBuild
#+end_src
**** KILL Reproduire les performances precisionchallenge : attention à HG002 et HG001!
CLOSED: [2023-04-01 Sat 19:43]
https://www.nist.gov/programs-projects/genome-bottle
***** KILL 0GOOR
CLOSED: [2023-04-01 Sat 19:40]
Le problème venait 1. de l'ADN et 2. du renommage des chromosomes qui était faux
****** DONE HG002
CLOSED: [2023-02-17 Fri 19:31]
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
INDEL ALL 525466 491355 34111 1156702 57724 605307 9384 25027 0.935084 0.895313 0.523304 0.914766
INDEL PASS 525466 491355 34111 1156702 57724 605307 9384 25027 0.935084 0.895313 0.523304 0.914766
SNP ALL 3365115 3358399 6716 5666020 21995 2284364 4194 1125 0.998004 0.993496 0.403169 0.995745
SNP PASS 3365115 3358399 6716 5666020 21995 2284364 4194 1125 0.998004 0.993496 0.403169 0.995745
TRUTH.TOTAL.TiTv_ratio QUERY.TOTAL.TiTv_ratio TRUTH.TOTAL.het_hom_ratio QUERY.TOTAL.het_hom_ratio
NaN NaN 1.528276 2.752637
NaN NaN 1.528276 2.752637
2.100129 1.473519 1.581196 1.795603
2.100129 1.473519 1.581196 1.795603
***** KILL Avec python2
CLOSED: [2023-02-17 Fri 19:25]
****** KILL avec nix
CLOSED: [2023-02-17 Fri 19:25]
conda create -n python2 python=2.7 anaconda
****** KILL avec conda
CLOSED: [2023-02-17 Fri 19:25]
******* Gentoo: regex_error sur test...
Ok avec bash !
#+begin_src
anaconda3/bin/conda create --name py2 python=2.7
conda activate py2
conda install -c bioconda hap.py
#+end_src
******** Faire tourner les tests.
Il faut remplace bin/test_haplotypes par test_haplotypes dans src/sh/run_tests.sh
#+begin_src sh
HGREF=../genome/GRCh38/GCA_000001405.15_GRCh38_no_alt_analysis_set.fasta HCDIR=~/anaconda3/envs/py2/bin bash src/sh/run_tests.sh
#+end_src
Echec:
test_haplotypes: /opt/conda/conda-bld/work/hap.py-0.3.7/src/c++/lib/tools/Fasta.cpp:81: MMappedFastaFile::MMappedFastaFile(const string&): Assertion `fd != -1' failed.
unknown location(0): fatal error in "testVariantPrimitiveSplitter": signal: SIGABRT (application abort requested)
/opt/conda/conda-bld/work/hap.py-0.3.7/src/c++/test/test_align.cpp(298): last checkpoint
******** Chr21
HGREF=../genome/GRCh38/GCA_000001405.15_GRCh38_no_alt_analysis_set.fasta hap.py example/happy/PG_NA12878_chr21.vcf.gz example/happy/NA12878_chr21.vcf.gz -f example/happy/PG_Conf_chr21.bed.gz -o test
******* Helios
échec
** TODO T2T :T2T:
Toutes les ressourcs sont décrites ici
https://github.com/marbl/CHM13
Détails sur le pipeline
https://genome.ucsc.edu/cgi-bin/hgTrackUi?db=hub_3267197_GCA_009914755.4&c=CP068277.2&g=hub_3267197_hgLiftOver
*** DONE Alignement
CLOSED: [2023-06-26 Mon 19:42]
NXF_OPTS=-D"user.name=${USER}" nextflow run main.nf -profile standard,helios --input="/Work/Groups/bisonex/data/giab/*_R{1,2}_001.fastq.gz" --id=NA12878-T2T -bg
SCHEDULED: <2023-06-14 Wed>
*** DONE Haplotypecaller
CLOSED: [2023-06-26 Mon 19:42] SCHEDULED: <2023-06-15 Thu>
*** TODO Filtres
SCHEDULED: <2023-07-27 Thu>
*** Liftover pipelines
:PROPERTIES:
:ID: d2280207-3f65-4a31-a291-41fa9a9658c2
:END:
Contient les chain files
** PROJ Indicateurs 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
** PROJ vérifier si normalisation
** PROJ Rajouter vérification hgvs
** 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/genomeRef.fna --plugin CADD,/Work/Users/apraga/bisonex/work/13/9287a7fef17ab9365f5696f20710cd/gnomad.genomes.r3.0.snv.tsv.gz,/Work/Users/apraga/bisonex/work/13/9287a7fef17ab9365f5696f20710cd/gnomad.genomes.r3.0.indel.tsv.gz --dir_plugins ../VEP_plugins/ -v
#+end_src
Test
#+begin_src sh
vep --id "1 230710048 230710048 A/G 1" --offline --dir /Work/Projects/bisonex/data/vep/GRCh38/ --merged --vcf --fasta /Work/Projects/bisonex/data/genome/GRCh38.p13/genomeRef.fna --plugin CADD,/Work/Users/apraga/bisonex/work/13/9287a7fef17ab9365f5696f20710cd/gnomad.genomes.r3.0.snv.tsv.gz,/Work/Users/apraga/bisonex/work/13/9287a7fef17ab9365f5696f20710cd/gnomad.genomes.r3.0.indel.tsv.gz --hgvsg --plugin pLI --plugin LOEUF -o lol
#+end_src
CSQ=G|missense_variant|MODERATE|AGT|ENSG00000135744|Transcript|ENST00000366667|protein_coding|2/5||||843|776|259|M/T|aTg/aCg|||-1||HGNC|HGNC:333||Ensembl||A|A||1:g.230710048A>G|0.347|-0.277922|
Correspond bien à https://www.ensembl.org/Homo_sapiens/Tools/VEP/Results?tl=I7ZsIbrj14P6lD43-9115494
***** DONE Utiliser whole genome
CLOSED: [2023-04-29 Sat 15:46]
***** KILL Renommer les chromosome avant ...
CLOSED: [2023-05-01 Mon 09:14] SCHEDULED: <2023-04-30 Sun>
Trop long !
- Téléchargement de CADD: 4h20
- renommer les chromosome pour SNV : 6h20
- tabix sur les SNV : job tué au bout de 21h....
***** DONE annoter séparément et fusionner les tableaux
CLOSED: [2023-05-07 Sun 14:45] SCHEDULED: <2023-05-01 Mon>
NB: on pourrait filtrer CADD avec tabix pour se restreindre à nos variants
**** DONE clinvar
CLOSED: [2023-04-22 Sat 15:31]
**** KILL Vérifier résultats HGVS avec mutalyzer
CLOSED: [2023-05-01 Mon 09:26]
**** TODO Parallélisation
***** HOLD par chromosome avec workflow VEP
https://github.com/Ensembl/ensembl-vep/blob/release/109/nextflow/workflows/run_vep.nf
***** HOLD Avec option --fork
**** DONE Utiliser la version de nf-core de VEP
CLOSED: [2023-05-13 Sat 18:27] SCHEDULED: <2023-05-07 Sun>
**** DONE OMIM
CLOSED: [2023-05-08 Mon 15:02] SCHEDULED: <2023-05-01 Mon>
**** TODO Grantham
**** TODO ACMG incidental
**** TODO Gnomad ?
**** TODO ACMG incidental
**** TODO Gnomad ?
**** DONE Filtrer après VEP avec filter_vep
CLOSED: [2023-04-29 Sat 15:47]
nNon testé
*** TODO Comparer les annotations sur 63003856
**** Relancer le nouveau pipeline
*** HOLD Ancienne version
**** TODO HGVS
**** TODO Filtrer après VEP
**** TODO OMIM
**** TODO clinvar
**** TODO ACMG incidental
**** TODO Grantham
**** KILL LRG
CLOSED: [2023-04-18 mar. 17:22] SCHEDULED: <2023-04-18 Tue>
Vu avec alexis, n’est plus à jour
**** TODO Gnomad
** DONE Porter exactement la version d'Alexis sur Helios
CLOSED: [2023-01-14 Sat 17:56]
Branche "prod"
** KILL Tester version d'alexis avec Nix
CLOSED: [2023-06-14 Wed 22:37]
*** DONE Ajouter clinvar
CLOSED: [2022-11-13 Sun 19:37]
*** DONE Alignement
CLOSED: [2022-11-13 Sun 12:52]
*** DONE Haplotype caller
CLOSED: [2022-11-13 Sun 13:00]
*** KILL Filter
CLOSED: [2023-06-14 Wed 22:37]
- [X] depth
- [ ] comon snp not path
Problème avec liste des ID
**** KILL variant annotation
CLOSED: [2023-06-14 Wed 22:37]
Besoin de vep
*** KILL Variant calling
CLOSED: [2023-06-14 Wed 22:37]
** STRT Tester sarek
#+begin_src sh
module load apptainer/1.1.8
nextflow run nf-core/sarek -profile test,singularity --outdir test-sarek
#+end_src
Les dépendences ne se téléchargent pas correctement, on les extrait à la main
#+begin_src sh
rg -IN galaxyproject modules | sed 's/ //g;s/:$//' | sort | uniq > deps.txt
#+end_src
Nettoyage à la main
Puis
#+begin_src sh
cat deps.txt | xargs -L1 singularity pull
#+end_src
* Amélioration :amelioration:
* Documentation
:PROPERTIES:
:CATEGORY: doc
:END:
** DONE Procédure d'installation nix + dependences pour VM CHU
CLOSED: [2023-04-22 Sat 15:27] SCHEDULED: <2023-04-13 Thu>
* Manuscript
:PROPERTIES:
:CATEGORY: manuscript
:END:
* Tests :tests:
** KILL Non régression : version prod
CLOSED: [2023-05-23 Tue 08:46]
*** DONE ID common snp
CLOSED: [2022-11-19 Sat 21:36]
#+begin_src
$ wc -l ID_of_common_snp.txt
23194290 ID_of_common_snp.txt
$ wc -l /Work/Users/apraga/bisonex/database/dbSNP/ID_of_common_snp.txt
23194290 /Work/Users/apraga/bisonex/database/dbSNP/ID_of_common_snp.txt
#+end_src
*** DONE ID common snp not clinvar patho
CLOSED: [2022-12-11 Sun 20:11]
**** DONE Vérification du problème
CLOSED: [2022-12-11 Sun 16:30]
Sur le J:
21155134 /Work/Groups/bisonex/data/dbSNP/GRCh38.p13/ID_of_common_snp_not_clinvar_patho.txt.ref
Version de "non-régression"
21155076 database/dbSNP/ID_of_common_snp_not_clinvar_patho.txt
Nouvelle version
23193391 /Work/Groups/bisonex/data/dbSNP/GRCh38.p13/ID_of_common_snp_not_clinvar_patho.txt
Si on enlève les doublons
$ sort database/dbSNP/ID_of_common_snp_not_clinvar_patho.txt | uniq > old.txt
$ wc -l old.txt
21107097 old.txt
$ sort /Work/Groups/bisonex/data/dbSNP/GRCh38.p13/ID_of_common_snp_not_clinvar_patho.txt | uniq > new.txt
$ wc -l new.txt
21174578 new.txt
$ sort /Work/Groups/bisonex/data/dbSNP/GRCh38.p13/ID_of_common_snp_not_clinvar_patho.txt.ref | uniq > ref.txt
$ wc -l ref.txt
21107155 ref.txt
Si on regarde la différence
comm -23 ref.txt old.txt
rs1052692
rs1057518973
rs1057518973
rs11074121
rs112848754
rs12573787
rs145033890
rs147889095
rs1553904159
rs1560294695
rs1560296615
rs1560310926
rs1560325547
rs1560342418
rs1560356225
rs1578287542
...
On cherche le premier
bcftools query -i 'ID="rs1052692"' database/dbSNP/dbSNP_common.vcf.gz -f '%CHROM %POS %REF %ALT\n'
NC_000019.10 1619351 C A,T
Il est bien patho...
$ bcftools query -i 'POS=1619351' database/clinvar/clinvar.vcf.gz -f '%CHROM %POS %REF %ALT %INFO/CLNSIG\n'
19 1619351 C T Conflicting_interpretations_of_pathogenicity
On vérifie pour tous les autres
$ comm -23 ref.txt old.txt > tocheck.txt
On génère les régions à vérifier (chromosome number:position)
$ bcftools query -i 'ID=@tocheck.txt' database/dbSNP/dbSNP_common.vcf.gz -f '%CHROM\t%POS\n' > tocheck.pos
On génère le mapping inverse (chromosome number -> NC)
$ awk ' { t = $1; $1 = $2; $2 = t; print; } ' database/RefSeq/refseq_to_number_only_consensual.txt > mapping.txt
On remap clinvar
$ bcftools annotate --rename-chrs mapping.txt database/clinvar/clinvar.vcf.gz -o clinvar_remapped.vcf.gz
$ tabix clinvar_remapped.vcf.gz
Enfin, on cherche dans clinvar la classification
$ bcftools query -R tocheck.pos clinvar_remapped.vcf.gz -f '%CHROM %POS %INFO/CLNSIG\n'
$ bcftools query -R tocheck.pos database/dbSNP/dbSNP_common.vcf.gz -f '%CHROM %POS %ID \n' | grep '^NC'
#+RESULTS:
**** DONE Comprendre pourquoi la nouvelle version donne un résultat différent
CLOSED: [2022-12-11 Sun 20:11]
***** DONE Même version dbsnp et clinvar ?
CLOSED: [2022-12-10 Sat 23:02]
Clinvar différent !
$ bcftools stats clinvar.gz
clinvar (Alexis)
SN 0 number of samples: 0
SN 0 number of records: 1492828
SN 0 number of no-ALTs: 965
SN 0 number of SNPs: 1338007
SN 0 number of MNPs: 5562
SN 0 number of indels: 144580
SN 0 number of others: 3714
SN 0 number of multiallelic sites: 0
SN 0 number of multiallelic SNP sites: 0
clinvar (new)
SN 0 number of samples: 0
SN 0 number of records: 1493470
SN 0 number of no-ALTs: 965
SN 0 number of SNPs: 1338561
SN 0 number of MNPs: 5565
SN 0 number of indels: 144663
SN 0
c -l work/e4/9981dc539a2373c2beeaa0affc3497/Agilent_SureSelect_All_Exons_v7_hg38_Regions_hg38.interval_list
On a donc perdu 1000 zones
***** DONE Liftovervcf avec variant échangé référence/alternative ?
CLOSED: [2023-07-02 Sun 23:09]
***** TODO Comprendre ma
uvais résultat
SCHEDULED: <2023-07-03 Mon>
****** DONE 2x moins de variants, beaucoup trop de FP : erreur de FILTER
CLOSED: [2023-07-08 Sat 11:17] SCHEDULED: <2023-07-07 Fri>
******* DONE [#A] Certains FP sont des vrais FP: erreur de flag et non d'happy
CLOSED: [2023-07-08 Sat 10:43] SCHEDULED: <2023-07-07 Fri>
******** Ex: chr1:408793
G C 600.64 . BS=408793;Regions=CONF,TS_contained GT:BD:BK:BI:BVT:BLT:QQ ./.:.:.:.:NOCALL:nocall:. 0/1:FP:.:tv:SNP:het:600.64
CLOSED: [2023-07-07 Fri 20:03]
********* DONE Vérifier que l'on est bien dans la zone "high confidence" définie dans le bed
oui:
chr1 408514 414397 . 500 +
********* DONE Vérifier que le variant est bien dans le truth et query
CLOSED: [2023-07-07 Fri 20:14]
truth
chr1 408793 . G C 50 MismatchedRefAllele AttemptedAlleles=C*->G;AttemptedLocus=chr1:408793-408793;SwappedAlleles;callable=CS_HiSeqPE300xGATK_callable,CS_10XLRGATK_callable,CS_CCS15kb_20kbGATK4_callable,CS_CGnormal_callable,CS_HiSeqPE300xfreebayes_callable;callsetnames=HiSeqPE300xGATK,CCS15kb_20kbGATK4,CGnormal,HiSeqPE300xfreebayes,CCS15kb_20kbDV,10XLRGATK;callsets=6;datasetnames=HiSeqPE300x,CCS15kb_20kb,CGnormal,10XChromiumLR;datasets=4;datasetsmissingcall=IonExome,SolidSE75bp;filt=CS_CCS15kb_20kbDV_filt,CS_CCS15kb_20kbGATK4_filt;platformnames=Illumina,PacBio,CG,10X;platforms=4 GT:AD:ADALL:DP:GQ 1/0:153,159:141,132:689:99
query
chr1 408793 . G C 600.64 . AC=1;AF=0.500;AN=2;BaseQRankSum=-1.390;DP=64;ExcessHet=0.0000;FS=0.961;MLEAC=1;MLEAF=0.500;MQ=60.00;MQRankSum=0.000;QD=9.53;ReadPosRankSum=-3.146;SOR=0.906 GT:AD:DP:GQ:PL 0/1:33,30:63:99:608,0,798
********* DONE Tester happy sur ce variant: non retrouvé
CLOSED: [2023-07-08 Sat 10:42]
Il faut au moins 2 variant + les index (sinon "no chromosome in common")
Donc on augmente la taille de la région
#+begin_src sh :dir ~/code/bisonex/out
bcftools view HG001_GRCh38_1_22_v4_lifted_merged.vcf.gz -o lifted_test.vcf.gz chr1:408793-408900
bcftools view HG001-SRX11061486_SRR14724513-T2T.vcf.gz -o run_test.vcf.gz chr1:408793-408900
bcftools index lifted_test.vcf.gz
bcftools index run_test.vcf.gz
#+end_src
#+begin_src sh
hap.py lifted_test.vcf.gz run_test.vcf.gz --reference ../data/chm13v2.0.fa -o test
#+end_src
On trouve bien les 2 variants. L'indel est retrouvé mais pas le SNP
chr1 408793 . G C 600.64 . BS=408793 GT:BD:BK:BI:BVT:BLT:QQ ./.:.:.:.:NOCALL:nocall:. 0/1:FP:.:tv:SNP:het:600.64
chr1 408874 . CGAA C 1476.6 . BS=408874 GT:BD:BK:BI:BVT:BLT:QQ 0/1:TP:gm:d1_5:INDEL:het:1476.6 0/1:TP:gm:d1_5:INDEL:het:1476.6
********* DONE Changer flag : mismatch -> PASS: OUI
CLOSED: [2023-07-08 Sat 10:42]
********* DONE Changer haplotype 1/0 -> 0/1 truth: idem
CLOSED: [2023-07-08 Sat 10:35]
********* DONE Tester avec vcfeval : idemnt
CLOSED: [2023-07-08 Sat 10:43]
******* DONE Comparer hg38 et T2T: 2x moinsr de variants, trop de FP et FN
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 Fi
lter 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 ?
SCHEDULED: <2023-07-08 Sat>
******* DONE Regarder avec Julia si ce sont vraiment des FP: 61/5277 qui ne le sont pas
CLOSED: [2023-07-09 Sun 12:09]
******* HOLD Examiner les FP
******* HOLD Tester un FP
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
******* TODO Enlever les FP qui correspondent à un changement dans le génome
SCHEDULED: <2023-07-09 Sun>
******** Condition:
- pas de variation à la position en GRCh38
- variantion homozygote
- la varation en T2T correspond au changement de pair de base GRC38 -> T2T
pour les SNP:
alt_T2T[i] = DNA_GRC38[j]
avec i la position en T2T et j la position en GRCh38
Note: définir un ID n'est pas correct car les variants peuvent être modifié par happy !
******** Idée
- Pour chaque FP, c'est un "faux" FP si
- REF en hg38 == ALT en T2T
- et REF en hg38 != REF en T2T
- et variant homozygote
Comment obtenir les séquences de réferences ?
1. liftover
2. blat sur la séquence autour du variant
3. identifier quelques reads contenant le variant et regarder leur aligneement en hg38
Après discussion avec Alexis: solution 3
******** Algorithme
1. Extraire les coordonnées en T2T des faux positifs *homozygote*
2. Pour chaque faux positif
1. lister 10 reads contenant le variant
2. pour chacun de ces reads, récupérer la séquence en T2T et GRCh38 via le nom du read dans le bam
3. si la séquence en T2T modifiée par le variant est "identique" à celle en GRCh38, alors on ignore ce faux positif
Note: on ignore les reads qui ont changé de chromosome entre les version
******** DONE Résultat préliminaire
CLOSED: [2023-07-23 Sun 14:30]
cf [[file:~/roam/research/bisonex/code/giab/giab-corrected.csv][script julia]]
3498 faux positifs en moins, soit 0.89 sensibilité
julia> tp=15479
julia> fp=5277
julia> tp/(tp+fp)
0.7457602620928888
julia> tp/(tp+(fp-3498))
0.8969173716537258
On est toujours en dessous des 97%
******** TODO Corriger proprement VCF ou résultats Happy
SCHEDULED: <2023-07-23 Sun>
******* 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]
******* TODO Méthodologie du pangenome
***** KILL Mail Yannis
CLOSED: [2023-07-08 Sat 10:44]
***** DONE Mail GIAB pour version T2T
CLOSED: [2023-07-07 Fri 18:37]
**** DONE NA12878 :na12878:hg38:
CLOSED: [2023-06-30 Fri 22:30]
***** DONE Discussion alexis : Mail
CLOSED: [2023-03-29 Wed 22:40]
Avec le patient NA12878 et comparaison avec hap.py du VCF de Genome In A Bottle ("gold" standard), on avait pour rappel
- sensibilité (=recall) 71% pour indel, 85% SNP
- précision (= VPP) 69 et 97% respectivement
| Type | TRUTH | TP | FN | QUERY | FP | UNK | FP.gt | FP.al | Recall | Precision |
| INDEL | 4871 | 3461 | 1410 | 7048 | 1554 | 1987 | 193 | 346 | 0.710532 | 0.692946 |
| SNP | 46032 | 39369 | 6663 | 44600 | 1186 | 4041 | 304 | 30 | 0.855253 | 0.970759 |
Les statistiques sur les génomes sont bien meilleurs (cf precisionFDA challenge).
Pour les exome, un article [1] a fait a des meilleures stats sur ce patient avec BWA et GATK mais ils ont moins de variant (on a presque un facteur 2 !).
Je soupçonne qu'on ne travaille pas sur les mêmes zones de capture (pas réussi à récupérer leur .bed)
| Exome | Type | TP | FP | FN | Sensitivity | Precision | F-Score | FDR |
| 1 | SNV | 23689 | 1397 | 613 | 0.975 | 0.944 | 0.959 | 0.057 |
| 2 | SNV | 23946 | 865 | 356 | 0.985 | 0.965 | 0.975 | 0.036 |
| 1 | indel | 1254 | 72 | 75 | 0.944 | 0.946 | 0.945 | 0.054 |
| 2 | indel | 1309 | 10 | 20 | 0.985 | 0.992 | 0.989 | 0.008 |
Pour essayer d'améliorer les statistiques :
- La version du génome GRC38 vs GRCh38.p13 ne change quasiment rien
- Désactiver dbSNP ne change strictement rien pour le variant calling
J'ai exploré les faux négatifs :
- la grande majorité n'est juste pas vue (ce n'est pas un problème d'haploïde/génotype)
- la répartition par chromosome est relativement homogène, sauf sur le 6 ()
- la majorité est en 5' et 3'UTR (selon Best refseq)
Conclusion: je pense m'arrêter là pour la validation du variant calling par manque de temps. Il faudrait creuser pour savoir pourquoi certains variants ne sont pas vus par GATK mais ce n'est pas la majorité. En tout cas, je peux justifier d'une première analyse pour la thèse.
Ça te va ?
[1]
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-019-2928-9
Résultats ici https://static-content.springer.com/esm/art%3A10.1186%2Fs12859-019-2928-9/MediaObjects/12859_2019_2928_MOESM8_ESM.pdf
***** DONE Comparaison
CLOSED: [2023-03-04 Sat 11:14]
HGREF=/Work/Groups/bisonex/data-alexis-reference/genome/GRCh38_latest_genomic.fna ./result/bin/hap.py /Work/Groups/bisonex/NA12878/HG001_GRCh38_1_22_v4.2.1
_benchmark_renamed.vcf.gz script/files/vcf/NA12878_NIST7035_vep_annot.vcf -f /Work/Groups/bison
ex/NA12878/HG001_GRCh38_1_22_v4.2.1_benchmark.bed -o test
na1878.slurm
#+begin_src slurm
#!/bin/bash
#SBATCH -c 4
#SBATCH -p smp
#SBATCH --time=01:00:00
#SBATCH --mem=32G
module load nix/2.11.0
export HGREF=/Work/Groups/bisonex/data-alexis-reference/genome/GRCh38_latest_genomic.fna
dir=/Work/Groups/bisonex/data/NA12878/GRCh38
hap.py ${dir}/HG001_GRCh38_1_22_v4.2.1_benchmark.vcf.gz script/files/vcf/NA12878_NIST7035.vcf -f ${dir}/HG001_GRCh38_1_22_v4.2.1_benchmark.bed -o test
#+end_src
****** KILL beaucoup trop de faux négatifs
CLOSED: [2023-02-17 Fri 19:37]
******* DONE Test 1 : vep annot : beaucoup tro
c -l work/e4/9981dc539a2373c2beeaa0affc3497/Agilent_SureSelect_All_Exons_v7_hg38_Regions_hg38.interval_list
On a donc perdu 1000 zones
***** DONE Liftovervcf avec variant échangé référence/alternative ?
CLOSED: [2023-07-02 Sun 23:09]
**** DONE NA12878 :na12878:hg38:
CLOSED: [2023-06-30 Fri 22:30]
***** DONE Discussion alexis : Mail
CLOSED: [2023-03-29 Wed 22:40]
Avec le patient NA12878 et comparaison avec hap.py du VCF de Genome In A Bottle ("gold" standard), on avait pour rappel
- sensibilité (=recall) 71% pour indel, 85% SNP
- précision (= VPP) 69 et 97% respectivement
| Type | TRUTH | TP | FN | QUERY | FP | UNK | FP.gt | FP.al | Recall | Precision |
| INDEL | 4871 | 3461 | 1410 | 7048 | 1554 | 1987 | 193 | 346 | 0.710532 | 0.692946 |
| SNP | 46032 | 39369 | 6663 | 44600 | 1186 | 4041 | 304 | 30 | 0.855253 | 0.970759 |
Les statistiques sur les génomes sont bien meilleurs (cf precisionFDA challenge).
Pour les exome, un article [1] a fait a des meilleures stats sur ce patient avec BWA et GATK mais ils ont moins de variant (on a presque un facteur 2 !).
Je soupçonne qu'on ne travaille pas sur les mêmes zones de capture (pas réussi à récupérer leur .bed)
| Exome | Type | TP | FP | FN | Sensitivity | Precision | F-Score | FDR |
| 1 | SNV | 23689 | 1397 | 613 | 0.975 | 0.944 | 0.959 | 0.057 |
| 2 | SNV | 23946 | 865 | 356 | 0.985 | 0.965 | 0.975 | 0.036 |
| 1 | indel | 1254 | 72 | 75 | 0.944 | 0.946 | 0.945 | 0.054 |
| 2 | indel | 1309 | 10 | 20 | 0.985 | 0.992 | 0.989 | 0.008 |
Pour essayer d'améliorer les statistiques :
- La version du génome GRC38 vs GRCh38.p13 ne change quasiment rien
- Désactiver dbSNP ne change strictement rien pour le variant calling
J'ai exploré les faux négatifs :
- la grande majorité n'est juste pas vue (ce n'est pas un problème d'haploïde/génotype)
- la répartition par chromosome est relativement homogène, sauf sur le 6 ()
- la majorité est en 5' et 3'UTR (selon Best refseq)
Conclusion: je pense m'arrêter là pour la validation du variant calling par manque de temps. Il faudrait creuser pour savoir pourquoi certains variants ne sont pas vus par GATK mais ce n'est pas la majorité. En tout cas, je peux justifier d'une première analyse pour la thèse.
Ça te va ?
[1]
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-019-2928-9
Résultats ici https://static-content.springer.com/esm/art%3A10.1186%2Fs12859-019-2928-9/MediaObjects/12859_2019_2928_MOESM8_ESM.pdf
***** DONE Comparaison
CLOSED: [2023-03-04 Sat 11:14]
HGREF=/Work/Groups/bisonex/data-alexis-reference/genome/GRCh38_latest_genomic.fna ./result/bin/hap.py /Work/Groups/bisonex/NA12878/HG001_GRCh38_1_22_v4.2.1
_benchmark_renamed.vcf.gz script/files/vcf/NA12878_NIST7035_vep_annot.vcf -f /Work/Groups/bison
ex/NA12878/HG001_GRCh38_1_22_v4.2.1_benchmark.bed -o test
na1878.slurm
#+begin_src slurm
#!/bin/bash
#SBATCH -c 4
#SBATCH -p smp
#SBATCH --time=01:00:00
#SBATCH --mem=32G
module load nix/2.11.0
export HGREF=/Work/Groups/bisonex/data-alexis-reference/genome/GRCh38_latest_genomic.fna
dir=/Work/Groups/bisonex/data/NA12878/GRCh38
hap.py ${dir}/HG001_GRCh38_1_22_v4.2.1_benchmark.vcf.gz script/files/vcf/NA12878_NIST7035.vcf -f ${dir}/HG001_GRCh38_1_22_v4.2.1_benchmark.bed -o test
#+end_src
****** KILL beaucoup trop de faux négatifs
CLOSED: [2023-02-17 Fri 19:37]
******* DONE Test 1 : vep annot : beaucoup tro
| Thresho
ld | True-pos-baseline | True-pos-call | False-pos | False-neg | Precision | Sensitivity | F-measure |
|-----------+-------------------+---------------+-----------+-----------+-----------+-------------+-----------|
| 3.000 | 42789 | 42416 | 2598 | 8080 | 0.9423 | 0.8412 | 0.8889 |
| None | 42798 | 42425 | 2616 | 8071 | 0.9419 | 0.8413 | 0.8888 |
Indel avec le plus petit seuil : zcat NA12878.non_snp_roc.tsv.gz
Attention à inverser precision et recall !
zcat NA12878.non_snp_roc.tsv.gz | tail -n 1 | awk '{print $7 $6}'
0.71390.7136
SNP avec le plus petit seuil : zcat NA12878.non_snp_roc.tsv.gz
Attention à inverser precision et recall !
$ zcat NA12878.snp_roc.tsv.gz | tail -n 1 | awk '{print $7 $6}'
0.85470.9727
compareNA12878-giab/vcfeval/NA12878.summary.txt
| Threshold | True-pos-baseline | True-pos-call | False-pos | False-neg | Precision | Sensitivity | F-measure |
| 1.000 | 44812 | 44812 | 2878 | 6057 | 0.9397 | 0.8809 | 0.9093 |
| None | 44813 | 44813 | 2882 | 6056 | 0.9396 | 0.8809 | 0.9093 |
SNP:
$ zcat NA12878.snp_roc.tsv.gz | tail -n 1 | awk '{print $7 $
6}'
0.89370.9621
indel
$ zcat NA12878.non_snp_roc.tsv.gz | tail -n 1 | awk '{print $7 $6}'
0.75980.7445
compareNA12878-giab/happy/NA12878.summary.csv
| 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 | 4871 | 3678 | 1193 | 7036 | 1299 | 2011 | 208 | 217 | 0.755081 | 0.741493 | 0.285816 | 0.748225 | | | 1.6174985978687606 | 2.5240506329113925 |
| INDEL | PASS | 4871 | 3678 | 1193 | 7036 | 1299 | 2011 | 208 | 217 | 0.755081 | 0.741493 | 0.285816 | 0.748225 | | | 1.6174985978687606 | 2.5240506329113925 |
| SNP | ALL | 46032 | 41138 | 4894 | 47694 | 1622 | 4930 | 362 | 31 | 0.893683 | 0.962071 | 0.103367 | 0.926617 | 2.529551552318896 | 2.4124463519313304 | 1.6206857273037931 | 1.6888675840288743 |
| SNP | PASS | 46032 | 41138 | 4894 | 47694 | 1622 | 4930 | 362 | 31 | 0.893683 | 0.962071 | 0.103367 | 0.926617 | 2.529551552318896 | 2.4124463519313304 | 1.6206857273037931 | 1.688867584028874 |
***** KILL Résultats sans trimming
CLOSED: [2023-06-25 Sun 15:53] SCHEDULED: <2023-06-26 Mon>
***** DONE Refaire : HiSeq4000 + agilent sureselect + génome "prêt à l'emploi"
CLOSED: [2023-06-30 Fri 22:08] SCHEDULED: <2023-06-25 Sun>
#+begin_src
nextflow run workflows/compareVCF.nf -profile standard,helios --outdir=out/HG001-SRX11061486_SRR14724513-GRCh38 --query=out/HG001-SRX11061486_SRR14724513-GRCh38/callVariant/haplotypecaller/HG001-SRX11061486_SRR14724513-GRCh38.vcf.gz --compare=vcfeval,happy -lib lib --capture=capture/Agilent_SureSelect_All_Exons_v7_hg38_Regions.bed --id=HG001
#+end_src
Meilleurs résultats !
| 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.89071 | 0.88551 | 0.378198 | 0.888102 | | | 1.86096256684492 | 2.247272727272727 |
| INDEL | PASS | 549 | 489 | 60 | 899 | 64 | 340 | 8 | 17 | 0.89071 | 0.88551 | 0.378198 | 0.888102 | | | 1.86096256684492 | 2.247272727272727 |
| SNP | ALL | 21973 | 21462 | 511 | 26285 | 563 | 4263 | 68 | 16 | 0.976744 | 0.974435 | 0.162184 | 0.975588 | 3.007110300820419 | 2.78468624064479 | 1.5918102430965306 | 1.8161449399656946 |
| SNP | PASS | 21973 | 21462 | 511 | 26285 | 563 | 4263 | 68 | 16 | 0.976744 | 0.974435 | 0.162184 | 0.975588 | 3.007110300820419 | 2.78468624064479 | 1.5918102430965306 | 1.8161449399656946 |
***** KILL Utiliser d'autres données brutes ?
CLOSED: [2023-06-25 Sun 15:58]
https://zenodo.org/record/3597727
Capture en hg37 également. Serait intéressant mais pas le temps..
***** KILL Comparer avec UCSCS liftover
CLOSED: [2023-06-26 Mon 19:02] SCHEDULED: <2023-06-25 Sun>
Picard liftoverinterval est basé sur UCSCS
Mais on n'aurait pas la différence pour NA12878 qu'on voit...
**** TODO HG002 :hg002:hg38:
SCHEDULED: <2023-07-25 Tue>
#+begin_src
NXF_OPTS=-D"user.name=${USER}" nextflow run workflows/giabFastq.nf -profile standard,helios
NXF_OPTS=-D"user.name=${USER}" nextflow run main.nf -profile standard,helios -resume --input="/Work/Groups/bisonex/data/giab/GRCh38/HG002_{1,2}.fq.gz --test.id=HG002
Only the capture file differs. Results are better using the capture file given by Agilent, stored in data/
NXF_OPTS=-D"user.name=${USER}" nextflow run workflows/compareVCF.nf -profile standard,helios -resume --outdir=compareHG002 --test.id=HG002 --test.query=out/HG002_1/variantCalling/haplotypecaller/HG002_1.vcf.gz --test.compare=vcfeval,happy --test.capture=data/AgilentSureSelectv05_hg38.bed
#
#+end_src
***** DONE Mauvais résultats
CLOSED: [2023-04-14 Fri 09:42]
avec vcfeval
Threshold True-pos-baseline True-pos-call False-pos False-neg Precision Sensitivity F-measure
----------------------------------------------------------------------------------------------------
0.000 24585 24390 10060 39415 0.7080 0.3841 0.4980
None 24585 24390 10060 39415 0.7080 0.3841 0.4980
La sortie du variantCalling est celle d'happy ???
On relance...
***** DONE Vérifier vcf en hg38
CLOSED: [2023-04-12 Wed 10:33] SCHEDULED: <2023-04-12 Wed>
***** KILL Capture en hg19 ?
CLOSED: [2023-04-13 Thu 09:46] SCHEDULED: <2023-04-12 Wed>
***** KILL Vraiment fichier de capture ou zone d'intérêt ?
CLOSED: [2023-04-13 Thu 09:45] SCHEDULED: <2023-04-12 Wed>
"target region" +/- 50bp
[[https://ftp-trace.ncbi.nlm.nih.gov/ReferenceSamples/giab/data/AshkenazimTrio/analysis/OsloUniversityHospital_Exome_GATK_jointVC_11242015/README.txt][README]]
list file describing the variant calling regions (target regions extended with 50 bp on each end)
***** DONE .bed fourni par AGilent: sensbilité très mauvaise
CLOSED: [2023-04-13 Thu 09:46] SCHEDULED: <2023-04-13 Thu>
Agilent SureSelect Human All Exon V5 kit
Disponible en hg38
Threshold True-pos-baseline True-pos-call False-pos False-neg Precision Sensitivity F-measure
----------------------------------------------------------------------------------------------------
0.000 19653 19501 6410 21657 0.7526 0.4757 0.5830
None 19653 19501 6410 21657 0.7526 0.4757 0.5830
***** DONE Trier par nom avec samtools sort : bons résultats
CLOSED: [2023-04-14 Fri 09:25] SCHEDULED: <2023-04-13 Thu>
Avec capture fourni par GIAB
vcf eval
Threshold True-pos-baseline True-pos-call False-pos False-neg Precision Sensitivity F-measure
----------------------------------------------------------------------------------------------------
5.000 57443 57032 984 6557 0.9830 0.8975 0.9383
None 57457 57046 1009 6543 0.9826 0.8978 0.9383
Happy
| 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 | 6150 | 5007 | 1143 | 6978 | 556 | 1346 | 151 | 168 | 0.814146 | 0.901278 | 0.192892 | 0.8555 | | | 1.5434221840068787 | 1.9467178175618074 |
| INDEL | PASS | 6150 | 5007 | 1143 | 6978 | 556 | 1346 | 151 | 168 | 0.814146 | 0.901278 | 0.192892 | 0.8555 | | | 1.5434221840068787 | 1.9467178175618074 |
| SNP | ALL | 57818 | 52464 | 5354 | 56016 | 500 | 3046 | 90 | 30 | 0.907399 | 0.990561 | 0.054377 | 0.947158 | 2.4892012548262548 | 2.426824047458871 | 1.5904527117884357 | 1.6107795598657217 |
| SNP | PASS | 57818 | 52464 | 5354 | 56016 | 500 | 3046 | 90 | 30 | 0.907399 | 0.990561 | 0.054377 | 0.947158 | 2.4892012548262548 | 2.426824047458871 | 1.5904527117884357 | 1.6107795598657217 |
***** DONE Capture agilent légment meilleur que celui fourni par GIAB (padding ?)
CLOSED: [2023-04-14 Fri 09:48]
GIAB:
vcf eval
Threshold True-pos-baseline True-pos-call False-pos False-neg Precision Sensitivity F-measure
----------------------------------------------------------------------------------------------------
5.000 57443 57032 984 6557 0.9830 0.8975 0.9383
None 57457 57046 1009 6543 0.9826 0.8978 0.9383
Happy
| 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 | 6150 | 5007 | 1143 | 6978 | 556 | 1346 | 151 | 168 | 0.814146 | 0.901278 | 0.192892 | 0.8555 | | | 1.5434221840068787 | 1.9467178175618074 |
| INDEL | PASS | 6150 | 5007 | 1143 | 6978 | 556 | 1346 | 151 | 168 | 0.814146 | 0.901278 | 0.192892 | 0.8555 | | | 1.5434221840068787 | 1.9467178175618074 |
| SNP | ALL | 57818 | 52464 | 5354 | 56016 | 500 | 3046 | 90 | 30 | 0.907399 | 0.990561 | 0.054377 | 0.947158 | 2.4892012548262548 | 2.426824047458871 | 1.5904527117884357 | 1.6107795598657217 |
| SNP | PASS | 57818 | 52464 | 5354 | 56016 | 500 | 3046 | 90 | 30 | 0.907399 | 0.990561 | 0.054377 | 0.947158 | 2.4892012548262548 | 2.426824047458871 | 1.5904527117884357 | 1.6107795598657217 |
Agilent
Threshold True-pos-baseline True-pos-call False-pos False-neg Precision Sensitivity F-measure
----------------------------------------------------------------------------------------------------
6.000 37241 36965 449 4069 0.9880 0.9015 0.9428
None 37248 36972 461 4062 0.9877 0.9017 0.9427
| 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 | 2909 | 2477 | 432 | 3229 | 207 | 519 | 52 | 50 | 0.851495 | 0.923616 | 0.160731 | 0.886091 | | | 1.4964850615114236 | 1.8339222614840989 |
| INDEL | PASS | 2909 | 2477 | 432 | 3229 | 207 | 519 | 52 | 50 | 0.851495 | 0.923616 | 0.160731 | 0.886091 | | | 1.4964850615114236 | 1.8339222614840989 |
| SNP | ALL | 38406 | 34793 | 3613 | 36935 | 275 | 1868 | 37 | 15 | 0.905926 | 0.992158 | 0.050575 | 0.947083 | 2.6247759222568168 | 2.5752854654538417 | 1.588953331534934 | 1.6192536889897844 |
| SNP | PASS | 38406 | 34793 | 3613 | 36935 | 275 | 1868 | 37 | 15 | 0.905926 | 0.992158 | 0.050575 | 0.947083 | 2.6247759222568168 | 2.5752854654538417 | 1.588953331534934 | 1.6192536889897844 |
***** TODO Refaire : HiSeq4000 + agilent sureselect + génome "prêt à l'emploi"
SCHEDULED: <2023-07-23 Sun>
**** TODO HG003 :hg003:hg38:
***** Notes
#+begin_src sh
NXF_OPTS=-D"user.name=${USER}" nextflow run main.nf -profile standard,helios --input /Work/Groups/bisonex/data/giab/GRCh38/HG003_{1,2}.fq.gz -bg
#+end_src
#+begin_src sh
NXF_OPTS=-D"user.name=${USER}" nextflow run workflows/compareVCF.nf -profile standard,helios -resume --outdir=compareHG003 --test.id=HG003 --test.query=out/HG003_1/variantCalling/haplotypecaller/HG003_1.vcf.gz --test.compare=vcfeval,happy --test.capture=data/AgilentSureSelectv05_hg38.bed
#+end_src
vcfeval
Threshold True-pos-baseline True-pos-call False-pos False-neg Precision Sensitivity F-measure
----------------------------------------------------------------------------------------------------
5.000 36745 36473 486 3988 0.9869 0.9021 0.9426
None 36748 36476 495 3985 0.9866 0.9022 0.9425
$ zcat NA12878.snp_roc.tsv.gz | tail -n 1 | awk '{print $7 $6}'
happy
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 2731 2290 441 3092 208 577 62 53 0.838521 0.917296 0.186611 0.876141 NaN NaN 1.505145 1.888993
INDEL PASS 2731 2290 441 3092 208 577 62 53 0.838521 0.917296 0.186611 0.876141 NaN NaN 1.505145 1.888993
SNP ALL 37997 34481 3516 36861 306 2074 33 13 0.907466 0.991204 0.056265 0.947488 2.611269 2.565915 1.555780 1.621727
SNP PASS 37997 34481 3516 36861 306 2074 33 13 0.907466 0.991204 0.056265 0.947488 2.611269 2.5659
***** TODO Refaire : HiSeq4000 + agilent sureselect + génome "prêt à l'emploi"
SCHEDULED: <2023-07-23 Sun>
**** TODO HG004 :hg38:hg004:
#+begin_src sh
NXF_OPTS=-D"user.name=${USER}" nextflow run main.nf -profile standard,helios --input /Work/Groups/bisonex/data/giab/GRCh38/HG004_{1,2}.fq.gz -bg
#+end_src
vcfeval
Threshold True-pos-baseline True-pos
-call False-pos False-neg Precision Sensitivity F-measure
----------------------------------------------------------------------------------------------------
6.000 36938 36678 421 4040 0.9887 0.9014 0.9430
None 36942 36682 432 4036 0.9884 0.9015 0.9429
happy
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 2787 2388 399 3183 195 580 53 38 0.856835 0.925086 0.182218 0.889654 NaN NaN 1.507834 1.848649
INDEL PASS 2787 2388 399 3183 195 580 53 38 0.856835 0.925086 0.182218 0.889654 NaN NaN 1.507834 1.848649
SNP ALL 38185 34560 3625 36921 254 2107 46 7 0.905067 0.992704 0.057068 0.946862 2.589175 2.553546 1.632595 1.653534
SNP PASS 38185 34560 3625 36921 254 2107 46 7 0.905067 0.992704 0.057068 0.946862 2.589175 2.553546 1.632595 1.653534
***** TODO Refaire : HiSeq4000 + agilent sureselect + génome "prêt à l'emploi"
SCHEDULED: <2023-07-23 Sun>
**** STRT HG001 :hg001:T2T:
SCHEDULED: <2023-07-03 Mon>
Avec liftover : 10x moins de variants...
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,,,2.4285714285714284,2.4651162790697674
INDEL,PASS,413,246,167,751,289,215,2,93,0.595642,0.460821,0.286285,0.519629,,,2.4285714285714284,2.4651162790697674
SNP,ALL,11236,10985,251,23597,9771,2841,26,58,0.977661,0.529245,0.120397,0.686734,3.1146100329549617,2.857049501715406,3.640644361833953,2.1146328578975173
SNP,PASS,11236,10985,251,23597,9771,2841,26,58,0.977661,0.529245,0.120397,0.686734,3.1146100329549617,2.857049501715406,3.640644361833953,2.1146328578975173
**** TODO HG002 :hg002:T2T:
**** TODO HG003 :hg003:T2T:
**** TODO HG004 :hg004:T2T:
**** TODO Résumer résultats pour Paul + article :resultats:hg38:
SCHEDULED: <2023-07-29 Sat>
Refaire résultats
**** TODO Plot : ashkenazim trio :hg38:
SCHEDULED: <2023-07-29 Sat>
/Entered on/ [2023-04-16 Sun 17:29]
Refaire résultats
*** KILL Platinum genome
CLOSED: [2023-06-14 Wed 22:37]
https://emea.illumina.com/platinumgenomes.html
*** TODO Séquencer NA12878 :cento:hg001:
Discussion avec Paul : sous-traitant ne nous donnera pas les données, il faut commander l'ADN
**** DONE ADN commandé
CLOSED: [2023-06-30 Fri 22:29]
**** TODO Sauvegarder les données brutes
SCHEDULED: <2023-07-19 Wed>
K, scality, S
**** TODO Récupérer le fichier de capture
SCHEDULED: <2023-07-23 Sun>
Par défaut, on utilisera https://www.twistbioscience.com/products/ngs/alliance-panels#tab-3
ANnonce récente pour nouveau panel Twist : https://www.centogene.com/news-events/news/newsdetails/twist-bioscience-and-centogene-launch-three-panels-to-advance-rare-disease-and-hereditary-cancer-research-and-support-diagnostics
Masi pas de fichier BED
***** TODO Mail centogène
DEADLINE: <2023-07-23 Sun>
**** STRT Comparer à GIAB
SCHEDULED: <2023-07-18 Tue>
#+begin_src sh
nextflow run main.nf -profile standard,helios --input="/Work/Groups/bisonex/centogene/2300346867_63118093_NA12878/63118093_S260_R{1,2}_001.fastq.gz" --id=2300346867_63118093_NA12878-GRCh38 --genome=GRCh38 -bg
#+end_src
** TODO Insilico :cento:
*** TODO tous les variants centogène
**** DONE Extraire liste des SNVs
CLOSED: [2023-04-22 Sat 17:32] SCHEDULED: <2023-04-17 Mon>
***** DONE Corriger manquant à la main
CLOSED: [2023-04-22 Sat 17:31]
La sortie est sauvegardé dans git-annex : variants_success.csv
***** DONE Automatique
CLOSED: [2023-04-22 Sat 17:31]
**** DONE Convert SNVs : transcript -> génomique
CLOSED: [2023-06-03 Sat 17:16]
***** DONE Variant_recoder
CLOSED: [2023-04-26 Wed 21:21] SCHEDULED: <2023-04-22 Sat>
****** KILL Haskell: 160 manquant : recoded-success.csv
CLOSED: [2023-04-25 Tue 18:32]
La liste des variants a été générée en Haskel l et nettoyée à la main.
On générer une liste de variant pour variant_rec oder et on soumet tout d'un coup.
[[file:~/recherche/bisonex/parsevariants/app/Main.hs][parsevariant]]
#+begin_src haskell
recodeVariant = do
prepareVariantRecod er "variant_success.csv" "renamed.csv"
runVariantRecoder "renamed.csv" "recoded.json"
#+end_src
#+RESULTS:
: <interactive>:4:3-19: error:
: Variable not in scope: runVariantRecoder :: String -> String -> t
: gh
Problème : 160 n'ont pas pu être lu sur 820, probablement à cause du numéro mineur de transcrit
La sortie est sauvegardé dans git-annex : variants-recoded-raw.json.
****** KILL Julia
CLOSED: [2023-04-25 Tue 18:32]
On regénère la liste de variant et on passe à Julia pour préparer l'appel en parallèle à variant recoder
[[file:~/recherche/bisonex/parsevariants/variantRecoder.jl][variantRecoder.jl]]
#+begin_src julia
setupVariantRecoder(unique(init), n)
#+end_src
Puis
#+begin_src sh
parallel -a parallel-recoder.sh --jobs 10
#+end_src
On récupère les résultats
#+begin_src julia
(fails, success) = mergeVariantRecoder(n)
CSV.write(fSuccess, success)
CSV.write(fFailures, fails)
#+end_src
Certains variants ne sont pas trouvé, donc on prépare un nouveau job en enlevant les versionrs mineures des transcrits
#+begin_src julia
# Cleanup json and txt
if isfile(fSuccess) && isfile(fFailures)
foreach(rm, variantRecoderInput())
foreach(rm, variantRecoderOutput())
end
redoFails(fFailures)
#+end_src
Puis
#+begin_src sh
parallel -a parallel-recoder.sh --jobs 3
#+end_src
Il manque encore 70 transcrits
***** DONE Julia avec mobidetails: recode-failures-mobidetails.csv
CLOSED: [2023-04-25 Tue 18:58]
Nouvelle stratégie : on essaie une fois variant recoder.
Pour tous les échecs, on utilise mobidetails (~170).
Si l'ID n'est pas trouvé, on incrémente le numéro de version 2 fois
***** DONE Reste une dizaine à corriger à la main
CLOSED: [2023-04-26 Wed 21:21]
- [X] certains transcrits ont juste été supprimé
- [X] Erreur de parsing, manque souvent un -
#+begin_src julia
lastTryMobidetails("recoded-failures-mobidetails.csv")
#+end_src
***** DONE Fusionner données
CLOSED: [2023-04-26 Wed 22:35]
#+begin_src julia
function mergeAllGenomic()
dNew = mergeAll("recoded-success.csv",
"recoded-failures-mobideta
| Threshold | True-pos-baseline | True-pos-call | False-pos | False-neg | Precision | Sensitivity | F-measure |
|-----------+-------------------+---------------+-----------+-----------+-----------+-------------+-----------|
| 3.000 | 42789 | 42416 | 2598 | 8080 | 0.9423 | 0.8412 | 0.8889 |
| None | 42798 | 42425 | 2616 | 8071 | 0.9419 | 0.8413 | 0.8888 |
Indel avec le plus petit seuil : zcat NA12878.non_snp_roc.tsv.gz
Attention à inverser precision et recall !
zcat NA12878.non_snp_roc.tsv.gz | tail -n 1 | awk '{print $7 $6}'
0.71390.7136
SNP avec le plus petit seuil : zcat NA12878.non_snp_roc.tsv.gz
Attention à inverser precision et recall !
$ zcat NA12878.snp_roc.tsv.gz | tail -n 1 | awk '{print $7 $6}'
0.85470.9727
compareNA12878-giab/vcfeval/NA12878.summary.txt
| Threshold | True-pos-baseline | True-pos-call | False-pos | False-neg | Precision | Sensitivity | F-measure |
| 1.000 | 44812 | 44812 | 2878 | 6057 | 0.9397 | 0.8809 | 0.9093 |
| None | 44813 | 44813 | 2882 | 6056 | 0.9396 | 0.8809 | 0.9093 |
SNP:
$ zcat NA12878.snp_roc.tsv.gz | tail -n 1 | awk '{print $7 $6}'
0.89370.9621
indel
$ zcat NA12878.non_snp_roc.tsv.gz | tail -n 1 | awk '{print $7 $6}'
0.75980.7445
compareNA12878-giab/happy/NA12878.summary.csv
| 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 | 4871 | 3678 | 1193 | 7036 | 1299 | 2011 | 208 | 217 | 0.755081 | 0.741493 | 0.285816 | 0.748225 | | | 1.6174985978687606 | 2.5240506329113925 |
| INDEL | PASS | 4871 | 3678 | 1193 | 7036 | 1299 | 2011 | 208 | 217 | 0.755081 | 0.741493 | 0.285816 | 0.748225 | | | 1.6174985978687606 | 2.5240506329113925 |
| SNP | ALL | 46032 | 41138 | 4894 | 47694 | 1622 | 4930 | 362 | 31 | 0.893683 | 0.962071 | 0.103367 | 0.926617 | 2.529551552318896 | 2.4124463519313304 | 1.6206857273037931 | 1.6888675840288743 |
| SNP | PASS | 46032 | 41138 | 4894 | 47694 | 1622 | 4930 | 362 | 31 | 0.893683 | 0.962071 | 0.103367 | 0.926617 | 2.529551552318896 | 2.4124463519313304 | 1.6206857273037931 | 1.688867584028874 |
***** KILL Résultats sans trimming
CLOSED: [2023-06-25 Sun 15:53] SCHEDULED: <2023-06-26 Mon>
***** DONE Refaire : HiSeq4000 + agilent sureselect + génome "prêt à l'emploi"
CLOSED: [2023-06-30 Fri 22:08] SCHEDULED: <2023-06-25 Sun>
#+begin_src
nextflow run workflows/compareVCF.nf -profile standard,helios --outdir=out/HG001-SRX11061486_SRR14724513-GRCh38 --query=out/HG001-SRX11061486_SRR14724513-GRCh38/callVariant/haplotypecaller/HG001-SRX11061486_SRR14724513-GRCh38.vcf.gz --compare=vcfeval,happy -lib lib --capture=capture/Agilent_SureSelect_All_Exons_v7_hg38_Regions.bed --id=HG001
#+end_src
Meilleurs résultats !
| 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.89071 | 0.88551 | 0.378198 | 0.888102 | | | 1.86096256684492 | 2.247272727272727 |
| INDEL | PASS | 549 | 489 | 60 | 899 | 64 | 340 | 8 | 17 | 0.89071 | 0.88551 | 0.378198 | 0.888102 | | | 1.86096256684492 | 2.247272727272727 |
| SNP | ALL | 21973 | 21462 | 511 | 26285 | 563 | 4263 | 68 | 16 | 0.976744 | 0.974435 | 0.162184 | 0.975588 | 3.007110300820419 | 2.78468624064479 | 1.5918102430965306 | 1.8161449399656946 |
| SNP | PASS | 21973 | 21462 | 511 | 26285 | 563 | 4263 | 68 | 16 | 0.976744 | 0.974435 | 0.162184 | 0.975588 | 3.007110300820419 | 2.78468624064479 | 1.5918102430965306 | 1.8161449399656946 |
***** KILL Utiliser d'autres données brutes ?
CLOSED: [2023-06-25 Sun 15:58]
https://zenodo.org/record/3597727
Capture en hg37 également. Serait intéressant mais pas le temps..
***** KILL Comparer avec UCSCS liftover
CLOSED: [2023-06-26 Mon 19:02] SCHEDULED: <2023-06-25 Sun>
Picard liftoverinterval est basé sur UCSCS
Mais on n'aurait pas la différence pour NA12878 qu'on voit...
**** DONE HG002 :hg002:hg38:
CLOSED: [2023-07-30 Sun 14:25] SCHEDULED: <2023-07-25 Tue>
#+begin_src
NXF_OPTS=-D"user.name=${USER}" nextflow run workflows/giabFastq.nf -profile standard,helios
NXF_OPTS=-D"user.name=${USER}" nextflow run main.nf -profile standard,helios -resume --input="/Work/Groups/bisonex/data/giab/GRCh38/HG002_{1,2}.fq.gz --test.id=HG002
Only the capture file differs. Results are better using the capture file given by Agilent, stored in data/
NXF_OPTS=-D"user.name=${USER}" nextflow run workflows/compareVCF.nf -profile standard,helios -resume --outdir=compareHG002 --test.id=HG002 --test.query=out/HG002_1/variantCalling/haplotypecaller/HG002_1.vcf.gz --test.compare=vcfeval,happy --test.capture=data/AgilentSureSelectv05_hg38.bed
#
#+end_src
***** DONE Mauvais résultats
CLOSED: [2023-04-14 Fri 09:42]
avec vcfeval
Threshold True-pos-baseline True-pos-call False-pos False-neg Precision Sensitivity F-measure
----------------------------------------------------------------------------------------------------
0.000 24585 24390 10060 39415 0.7080 0.3841 0.4980
None 24585 24390 10060 39415 0.7080 0.3841 0.4980
La sortie du variantCalling est celle d'happy ???
On relance...
***** DONE Vérifier vcf en hg38
CLOSED: [2023-04-12 Wed 10:33] SCHEDULED: <2023-04-12 Wed>
***** KILL Capture en hg19 ?
CLOSED: [2023-04-13 Thu 09:46] SCHEDULED: <2023-04-12 Wed>
***** KILL Vraiment fichier de capture ou zone d'intérêt ?
CLOSED: [2023-04-13 Thu 09:45] SCHEDULED: <2023-04-12 Wed>
"target region" +/- 50bp
[[https://ftp-trace.ncbi.nlm.nih.gov/ReferenceSamples/giab/data/AshkenazimTrio/analysis/OsloUniversityHospital_Exome_GATK_jointVC_11242015/README.txt][README]]
list file describing the variant calling regions (target regions extended with 50 bp on each end)
***** DONE .bed fourni par AGilent: sensbilité très mauvaise
CLOSED: [2023-04-13 Thu 09:46] SCHEDULED: <2023-04-13 Thu>
Agilent SureSelect Human All Exon V5 kit
Disponible en hg38
Threshold True-pos-baseline True-pos-call False-pos False-neg Precision Sensitivity F-measure
----------------------------------------------------------------------------------------------------
0.000 19653 19501 6410 21657 0.7526 0.4757 0.5830
None 19653 19501 6410 21657 0.7526 0.4757 0.5830
***** DONE Trier par nom avec samtools sort : bons résultats
CLOSED: [2023-04-14 Fri 09:25] SCHEDULED: <2023-04-13 Thu>
Avec capture fourni par GIAB
vcf eval
Threshold True-pos-baseline True-pos-call False-pos False-neg Precision Sensitivity F-measure
----------------------------------------------------------------------------------------------------
5.000 57443 57032 984 6557 0.9830 0.8975 0.9383
None 57457 57046 1009 6543 0.9826 0.8978 0.9383
Happy
| 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 | 6150 | 5007 | 1143 | 6978 | 556 | 1346 | 151 | 168 | 0.814146 | 0.901278 | 0.192892 | 0.8555 | | | 1.5434221840068787 | 1.9467178175618074 |
| INDEL | PASS | 6150 | 5007 | 1143 | 6978 | 556 | 1346 | 151 | 168 | 0.814146 | 0.901278 | 0.192892 | 0.8555 | | | 1.5434221840068787 | 1.9467178175618074 |
| SNP | ALL | 57818 | 52464 | 5354 | 56016 | 500 | 3046 | 90 | 30 | 0.907399 | 0.990561 | 0.054377 | 0.947158 | 2.4892012548262548 | 2.426824047458871 | 1.5904527117884357 | 1.6107795598657217 |
| SNP | PASS | 57818 | 52464 | 5354 | 56016 | 500 | 3046 | 90 | 30 | 0.907399 | 0.990561 | 0.054377 | 0.947158 | 2.4892012548262548 | 2.426824047458871 | 1.5904527117884357 | 1.6107795598657217 |
***** DONE Capture agilent légment meilleur que celui fourni par GIAB (padding ?)
CLOSED: [2023-04-14 Fri 09:48]
GIAB:
vcf eval
Threshold True-pos-baseline True-pos-call False-pos False-neg Precision Sensitivity F-measure
----------------------------------------------------------------------------------------------------
5.000 57443 57032 984 6557 0.9830 0.8975 0.9383
None 57457 57046 1009 6543 0.9826 0.8978 0.9383
Happy
| 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 | 6150 | 5007 | 1143 | 6978 | 556 | 1346 | 151 | 168 | 0.814146 | 0.901278 | 0.192892 | 0.8555 | | | 1.5434221840068787 | 1.9467178175618074 |
| INDEL | PASS | 6150 | 5007 | 1143 | 6978 | 556 | 1346 | 151 | 168 | 0.814146 | 0.901278 | 0.192892 | 0.8555 | | | 1.5434221840068787 | 1.9467178175618074 |
| SNP | ALL | 57818 | 52464 | 5354 | 56016 | 500 | 3046 | 90 | 30 | 0.907399 | 0.990561 | 0.054377 | 0.947158 | 2.4892012548262548 | 2.426824047458871 | 1.5904527117884357 | 1.6107795598657217 |
| SNP | PASS | 57818 | 52464 | 5354 | 56016 | 500 | 3046 | 90 | 30 | 0.907399 | 0.990561 | 0.054377 | 0.947158 | 2.4892012548262548 | 2.426824047458871 | 1.5904527117884357 | 1.6107795598657217 |
Agilent
Threshold True-pos-baseline True-pos-call False-pos False-neg Precision Sensitivity F-measure
----------------------------------------------------------------------------------------------------
6.000 37241 36965 449 4069 0.9880 0.9015 0.9428
None 37248 36972 461 4062 0.9877 0.9017 0.9427
| 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 | 2909 | 2477 | 432 | 3229 | 207 | 519 | 52 | 50 | 0.851495 | 0.923616 | 0.160731 | 0.886091 | | | 1.4964850615114236 | 1.8339222614840989 |
| INDEL | PASS | 2909 | 2477 | 432 | 3229 | 207 | 519 | 52 | 50 | 0.851495 | 0.923616 | 0.160731 | 0.886091 | | | 1.4964850615114236 | 1.8339222614840989 |
| SNP | ALL | 38406 | 34793 | 3613 | 36935 | 275 | 1868 | 37 | 15 | 0.905926 | 0.992158 | 0.050575 | 0.947083 | 2.6247759222568168 | 2.5752854654538417 | 1.588953331534934 | 1.6192536889897844 |
| SNP | PASS | 38406 | 34793 | 3613 | 36935 | 275 | 1868 | 37 | 15 | 0.905926 | 0.992158 | 0.050575 | 0.947083 | 2.6247759222568168 | 2.5752854654538417 | 1.588953331534934 | 1.6192536889897844 |
***** DONE Refaire : HiSeq4000 + agilent sureselect + génome "prêt à l'emploi"
CLOSED: [2023-07-30 Sun 14:24] SCHEDULED: <2023-07-23 Sun>
| 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 | 626 | 536 | 90 | 900 | 23 | 334 | 6 | 14 | 0.85623 | 0.959364 | 0.371111 | 0.904868 | | | 1.5696202531645569 | 2.406844106463878 |
| INDEL | PASS | 626 | 536 | 90 | 900 | 23 | 334 | 6 | 14 | 0.85623 | 0.959364 | 0.371111 | 0.904868 | | | 1.5696202531645569 | 2.406844106463878 |
| SNP | ALL | 23136 | 22346 | 790 | 26289 | 103 | 3845 | 77 | 4 | 0.965854 | 0.995411 | 0.146259 | 0.98041 | 2.9282199219412863 | 2.7752583237657866 | 1.6348301800775018 | 1.8423330808354075 |
| SNP | PASS | 23136 | 22346 | 790 | 26289 | 103 | 3845 | 77 | 4 | 0.965854 | 0.995411 | 0.146259 | 0.98041 | 2.9282199219412863 | 2.7752583237657866 | 1.6348301800775018 | 1.8423330808354075 |
**** DONE HG003 :hg003:hg38:
CLOSED: [2023-07-30 Sun 14:26]
***** Notes
#+begin_src sh
NXF_OPTS=-D"user.name=${USER}" nextflow run main.nf -profile standard,helios --input /Work/Groups/bisonex/data/giab/GRCh38/HG003_{1,2}.fq.gz -bg
#+end_src
#+begin_src sh
NXF_OPTS=-D"user.name=${USER}" nextflow run workflows/compareVCF.nf -profile standard,helios -resume --outdir=compareHG003 --test.id=HG003 --test.query=out/HG003_1/variantCalling/haplotypecaller/HG003_1.vcf.gz --test.compare=vcfeval,happy --test.capture=data/AgilentSureSelectv05_hg38.bed
#+end_src
vcfeval
Threshold True-pos-baseline True-pos-call False-pos False-neg Precision Sensitivity F-measure
----------------------------------------------------------------------------------------------------
5.000 36745 36473 486 3988 0.9869 0.9021 0.9426
None 36748 36476 495 3985 0.9866 0.9022 0.9425
$ zcat NA12878.snp_roc.tsv.gz | tail -n 1 | awk '{print $7 $6}'
happy
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 2731 2290 441 3092 208 577 62 53 0.838521 0.917296 0.186611 0.876141 NaN NaN 1.505145 1.888993
INDEL PASS 2731 2290 441 3092 208 577 62 53 0.838521 0.917296 0.186611 0.876141 NaN NaN 1.505145 1.888993
SNP ALL 37997 34481 3516 36861 306 2074 33 13 0.907466 0.991204 0.056265 0.947488 2.611269 2.565915 1.555780 1.621727
SNP PASS 37997 34481 3516 36861 306 2074 33 13 0.907466 0.991204 0.056265 0.947488 2.611269 2.5659
***** DONE Refaire : HiSeq4000 + agilent sureselect + génome "prêt à l'emploi"
CLOSED: [2023-07-30 Sun 14:25] SCHEDULED: <2023-07-23 Sun>
| 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 | 644 | 538 | 106 | 914 | 32 | 337 | 7 | 19 | 0.835404 | 0.944541 | 0.368709 | 0.886626 | | | 1.7444933920704846 | 2.3138686131386863 |
| INDEL | PASS | 644 | 538 | 106 | 914 | 32 | 337 | 7 | 19 | 0.835404 | 0.944541 | 0.368709 | 0.886626 | | | 1.7444933920704846 | 2.3138686131386863 |
| SNP | ALL | 23126 | 22271 | 855 | 26405 | 135 | 4002 | 90 | 20 | 0.963029 | 0.993974 | 0.151562 | 0.978257 | 2.949462182004439 | 2.7766657134686876 | 1.6080333972695475 | 1.8465106245280984 |
| SNP | PASS | 23126 | 22271 | 855 | 26405 | 135 | 4002 | 90 | 20 | 0.963029 | 0.993974 | 0.151562 | 0.978257 | 2.949462182004439 | 2.7766657134686876 | 1.6080333972695475 | 1.8465106245280984 |
**** TODO HG004 :hg38:hg004:
#+begin_src sh
NXF_OPTS=-D"user.name=${USER}" nextflow run main.nf -profile standard,helios --input /Work/Groups/bisonex/data/giab/GRCh38/HG004_{1,2}.fq.gz -bg
#+end_src
vcfeval
Threshold True-pos-baseline True-pos-call False-pos False-neg Precision Sensitivity F-measure
----------------------------------------------------------------------------------------------------
6.000 36938 36678 421 4040 0.9887 0.9014 0.9430
None 36942 36682 432 4036 0.9884 0.9015 0.9429
happy
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 2787 2388 399 3183 195 580 53 38 0.856835 0.925086 0.182218 0.889654 NaN NaN 1.507834 1.848649
INDEL PASS 2787 2388 399 3183 195 580 53 38 0.856835 0.925086 0.182218 0.889654 NaN NaN 1.507834 1.848649
SNP ALL 38185 34560 3625 36921 254 2107 46 7 0.905067 0.992704 0.057068 0.946862 2.589175 2.553546 1.632595 1.653534
SNP PASS 38185 34560 3625 36921 254 2107 46 7 0.905067 0.992704 0.057068 0.946862 2.589175 2.553546 1.632595 1.653534
***** DONE Refaire : HiSeq4000 + agilent sureselect + génome "prêt à l'emploi"
CLOSED: [2023-07-30 Sun 14:39] SCHEDULED: <2023-07-23 Sun>
| 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 | 588 | 511 | 77 | 873 | 15 | 332 | 7 | 8 | 0.869048 | 0.972274 | 0.380298 | 0.917767 | | | 1.6111111111111112 | 2.3984375 |
| INDEL | PASS | 588 | 511 | 77 | 873 | 15 | 332 | 7 | 8 | 0.869048 | 0.972274 | 0.380298 | 0.917767 | | | 1.6111111111111112 | 2.3984375 |
| SNP | ALL | 23041 | 22225 | 816 | 26302 | 114 | 3972 | 87 | 5 | 0.964585 | 0.994895 | 0.151015 | 0.979505 | 2.91407709288504 | 2.7368645271229766 | 1.6883829538820783 | 1.8632748665431964 |
| SNP | PASS | 23041 | 22225 | 816 | 26302 | 114 | 3972 | 87 | 5 | 0.964585 | 0.994895 | 0.151015 | 0.979505 | 2.91407709288504 | 2.7368645271229766 | 1.6883829538820783 | 1.8632748665431964 |
**** STRT HG001 :hg001:T2T:
Avec liftover : 10x moins de variants...
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,,,2.4285714285714284,2.4651162790697674
INDEL,PASS,413,246,167,751,289,215,2,93,0.595642,0.460821,0.286285,0.519629,,,2.4285714285714284,2.4651162790697674
SNP,ALL,11236,10985,251,23597,9771,2841,26,58,0.977661,0.529245,0.120397,0.686734,3.1146100329549617,2.857049501715406,3.640644361833953,2.1146328578975173
SNP,PASS,11236,10985,251,23597,9771,2841,26,58,0.977661,0.529245,0.120397,0.686734,3.1146100329549617,2.857049501715406,3.640644361833953,2.1146328578975173
***** TODO Comprendre mauvais résultat
****** DONE 2x moins de variants, beaucoup trop de FP : erreur de FILTER
CLOSED: [2023-07-08 Sat 11:17] SCHEDULED: <2023-07-07 Fri>
******* DONE [#A] Certains FP sont des vrais FP: erreur de flag et non d'happy
CLOSED: [2023-07-08 Sat 10:43] SCHEDULED: <2023-07-07 Fri>
******** Ex: chr1:408793
G C 600.64 . BS=408793;Regions=CONF,TS_contained GT:BD:BK:BI:BVT:BLT:QQ ./.:.:.:.:NOCALL:nocall:. 0/1:FP:.:tv:SNP:het:600.64
CLOSED: [2023-07-07 Fri 20:03]
********* DONE Vérifier que l'on est bien dans la zone "high confidence" définie dans le bed
oui:
chr1 408514 414397 . 500 +
********* DONE Vérifier que le variant est bien dans le truth et query
CLOSED: [2023-07-07 Fri 20:14]
truth
chr1 408793 . G C 50 MismatchedRefAllele AttemptedAlleles=C*->G;AttemptedLocus=chr1:408793-408793;SwappedAlleles;callable=CS_HiSeqPE300xGATK_callable,CS_10XLRGATK_callable,CS_CCS15kb_20kbGATK4_callable,CS_CGnormal_callable,CS_HiSeqPE300xfreebayes_callable;callsetnames=HiSeqPE300xGATK,CCS15kb_20kbGATK4,CGnormal,HiSeqPE300xfreebayes,CCS15kb_20kbDV,10XLRGATK;callsets=6;datasetnames=HiSeqPE300x,CCS15kb_20kb,CGnormal,10XChromiumLR;datasets=4;datasetsmissingcall=IonExome,SolidSE75bp;filt=CS_CCS15kb_20kbDV_filt,CS_CCS15kb_20kbGATK4_filt;platformnames=Illumina,PacBio,CG,10X;platforms=4 GT:AD:ADALL:DP:GQ 1/0:153,159:141,132:689:99
query
chr1 408793 . G C 600.64 . AC=1;AF=0.500;AN=2;BaseQRankSum=-1.390;DP=64;ExcessHet=0.0000;FS=0.961;MLEAC=1;MLEAF=0.500;MQ=60.00;MQRankSum=0.000;QD=9.53;ReadPosRankSum=-3.146;SOR=0.906 GT:AD:DP:GQ:PL 0/1:33,30:63:99:608,0,798
********* DONE Tester happy sur ce variant: non retrouvé
CLOSED: [2023-07-08 Sat 10:42]
Il faut au moins 2 variant + les index (sinon "no chromosome in common")
Donc on augmente la taille de la région
#+begin_src sh :dir ~/code/bisonex/out
bcftools view HG001_GRCh38_1_22_v4_lifted_merged.vcf.gz -o lifted_test.vcf.gz chr1:408793-408900
bcftools view HG001-SRX11061486_SRR14724513-T2T.vcf.gz -o run_test.vcf.gz chr1:408793-408900
bcftools index lifted_test.vcf.gz
bcftools index run_test.vcf.gz
#+end_src
#+begin_src sh
hap.py lifted_test.vcf.gz run_test.vcf.gz --reference ../data/chm13v2.0.fa -o test
#+end_src
On trouve bien les 2 variants. L'indel est retrouvé mais pas le SNP
chr1 408793 . G C 600.64 . BS=408793 GT:BD:BK:BI:BVT:BLT:QQ ./.:.:.:.:NOCALL:nocall:. 0/1:FP:.:tv:SNP:het:600.64
chr1 408874 . CGAA C 1476.6 . BS=408874 GT:BD:BK:BI:BVT:BLT:QQ 0/1:TP:gm:d1_5:INDEL:het:1476.6 0/1:TP:gm:d1_5:INDEL:het:1476.6
********* DONE Changer flag : mismatch -> PASS: OUI
CLOSED: [2023-07-08 Sat 10:42]
********* DONE Changer haplotype 1/0 -> 0/1 truth: idem
CLOSED: [2023-07-08 Sat 10:35]
********* DONE Tester avec vcfeval : idemnt
CLOSED: [2023-07-08 Sat 10:43]
******* DONE Comparer hg38 et T2T: 2x moinsr de variants, trop de FP et FN
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 ?
SCHEDULED: <2023-07-08 Sat>
******* DONE Regarder avec Julia si ce sont vraiment des FP: 61/5277 qui ne le sont pas
CLOSED: [2023-07-09 Sun 12:09]
******* HOLD Examiner les FP
******* HOLD Tester un FP
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
******* TODO Enlever les FP qui correspondent à un changement dans le génome
******** Condition:
- pas de variation à la position en GRCh38
- variantion homozygote
- la varation en T2T correspond au changement de pair de base GRC38 -> T2T
pour les SNP:
alt_T2T[i] = DNA_GRC38[j]
avec i la position en T2T et j la position en GRCh38
Note: définir un ID n'est pas correct car les variants peuvent être modifié par happy !
******** Idée
- Pour chaque FP, c'est un "faux" FP si
- REF en hg38 == ALT en T2T
- et REF en hg38 != REF en T2T
- et variant homozygote
Comment obtenir les séquences de réferences ?
1. liftover
2. blat sur la séquence autour du variant
3. identifier quelques reads contenant le variant et regarder leur aligneement en hg38
Après discussion avec Alexis: solution 3
******** Algorithme
1. Extraire les coordonnées en T2T des faux positifs *homozygote*
2. Pour chaque faux positif
1. lister 10 reads contenant le variant
2. pour chacun de ces reads, récupérer la séquence en T2T et GRCh38 via le nom du read dans le bam
3. si la séquence en T2T modifiée par le variant est "identique" à celle en GRCh38, alors on ignore ce faux positif
Note: on ignore les reads qui ont changé de chromosome entre les version
******** DONE Résultat préliminaire
CLOSED: [2023-07-23 Sun 14:30]
cf [[file:~/roam/research/bisonex/code/giab/giab-corrected.csv][script julia]]
3498 faux positifs en moins, soit 0.89 sensibilité
julia> tp=15479
julia> fp=5277
julia> tp/(tp+fp)
0.7457602620928888
julia> tp/(tp+(fp-3498))
0.8969173716537258
On est toujours en dessous des 97%
******** PROJ Corriger proprement VCF ou résultats Happy
******* 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]
****** TODO Méthodologie du pangenome
SCHEDULED: <2023-07-30 Sun>
***** KILL Mail Yannis
CLOSED: [2023-07-08 Sat 10:44]
***** DONE Mail GIAB pour version T2T
CLOSED: [2023-07-07 Fri 18:37]
**** TODO HG002 :hg002:T2T:
**** TODO HG003 :hg003:T2T:
**** TODO HG004 :hg004:T2T:
**** TODO Plot : ashkenazim trio :hg38:
SCHEDULED: <2023-07-29 Sat>
/Entered on/ [2023-04-16 Sun 17:29]
Refaire résultats
*** KILL Platinum genome
CLOSED: [2023-06-14 Wed 22:37]
https://emea.illumina.com/platinumgenomes.html
*** TODO Séquencer NA12878 :cento:hg001:
Discussion avec Paul : sous-traitant ne nous donnera pas les données, il faut commander l'ADN
**** DONE ADN commandé
CLOSED: [2023-06-30 Fri 22:29]
**** DONE Sauvegarder les données brutes
CLOSED: [2023-07-30 Sun 14:22] SCHEDULED: <2023-07-19 Wed>
K, scality, S
**** KILL Récupérer le fichier de capture
CLOSED: [2023-07-30 Sun 14:25] SCHEDULED: <2023-07-23 Sun>
Par défaut, on utilisera https://www.twistbioscience.com/products/ngs/alliance-panels#tab-3
ANnonce récente pour nouveau panel Twist : https://www.centogene.com/news-events/news/newsdetails/twist-bioscience-and-centogene-launch-three-panels-to-advance-rare-disease-and-hereditary-cancer-research-and-support-diagnostics
Masi pas de fichier BED
***** DONE Mail centogène
CLOSED: [2023-07-30 Sun 14:22] DEADLINE: <2023-07-23 Sun>
**** TODO Vérifier si le panel Twist Alliance VCGS Exome suffit
SCHEDULED: <2023-07-30 Sun>
**** STRT Comparer à GIAB
SCHEDULED: <2023-07-18 Tue>
#+begin_src sh
nextflow run main.nf -profile standard,helios --input="/Work/Groups/bisonex/centogene/2300346867_63118093_NA12878/63118093_S260_R{1,2}_001.fastq.gz" --id=2300346867_63118093_NA12878-GRCh38 --genome=GRCh38 -bg
#+end_src
** TODO Insilico :cento:
*** TODO tous les variants centogène
**** DONE Extraire liste des SNVs
CLOSED: [2023-04-22 Sat 17:32] SCHEDULED: <2023-04-17 Mon>
***** DONE Corriger manquant à la main
CLOSED: [2023-04-22 Sat 17:31]
La sortie est sauvegardé dans git-annex : variants_success.csv
***** DONE Automatique
CLOSED: [2023-04-22 Sat 17:31]
**** DONE Convert SNVs : transcript -> génomique
CLOSED: [2023-06-03 Sat 17:16]
***** DONE Variant_recoder
CLOSED: [2023-04-26 Wed 21:21] SCHEDULED: <2023-04-22 Sat>
****** KILL Haskell: 160 manquant : recoded-success.csv
CLOSED: [2023-04-25 Tue 18:32]
La liste des variants a été générée en Haskel l et nettoyée à la main.
On générer une liste de variant pour variant_rec oder et on soumet tout d'un coup.
[[file:~/recherche/bisonex/parsevariants/app/Main.hs][parsevariant]]
#+begin_src haskell
recodeVariant = do
prepareVariantRecod er "variant_success.csv" "renamed.csv"
runVariantRecoder "renamed.csv" "recoded.json"
#+end_src
#+RESULTS:
: <interactive>:4:3-19: error:
: Variable not in scope: runVariantRecoder :: String -> String -> t
: gh
Problème : 160 n'ont pas pu être lu sur 820, probablement à cause du numéro mineur de transcrit
La sortie est sauvegardé dans git-annex : variants-recoded-raw.json.
****** KILL Julia
CLOSED: [2023-04-25 Tue 18:32]
On regénère la liste de variant et on passe à Julia pour préparer l'appel en parallèle à variant recoder
[[file:~/recherche/bisonex/parsevariants/variantRecoder.jl][variantRecoder.jl]]
#+begin_src julia
setupVariantRecoder(unique(init), n)
#+end_src
Puis
#+begin_src sh
parallel -a parallel-recoder.sh --jobs 10
#+end_src
On récupère les résultats
#+begin_src julia
(fails, success) = mergeVariantRecoder(n)
CSV.write(fSuccess, success)
CSV.write(fFailures, fails)
#+end_src
Certains variants ne sont pas trouvé, donc on prépare un nouveau job en enlevant les versionrs mineures des transcrits
#+begin_src julia
# Cleanup json and txt
if isfile(fSuccess) && isfile(fFailures)
foreach(rm, variantRecoderInput())
foreach(rm, variantRecoderOutput())
end
redoFails(fFailures)
#+end_src
Puis
#+begin_src sh
parallel -a parallel-recoder.sh --jobs 3
#+end_src
Il manque encore 70 transcrits
***** DONE Julia avec mobidetails: recode-failures-mobidetails.csv
CLOSED: [2023-04-25 Tue 18:58]
Nouvelle stratégie : on essaie une fois variant recoder.
Pour tous les échecs, on utilise mobidetails (~170).
Si l'ID n'est pas trouvé, on incrémente le numéro de version 2 fois
***** DONE Reste une dizaine à corriger à la main
CLOSED: [2023-04-26 Wed 21:21]
- [X] certains transcrits ont juste été supprimé
- [X] Erreur de parsing, manque souvent un -
#+begin_src julia
lastTryMobidetails("recoded-failures-mobidetails.csv")
#+end_src
***** DONE Fusionner données
CLOSED: [2023-04-26 Wed 22:35]
#+begin_src julia
function mergeAllGenomic()
dNew = mergeAll("recoded-success.csv",
"recoded-failures-mobideta
.5% chr15_ML143370v1_fix + 172243 172370 128 What is chrom_fix?
browser details YourSeq 124 1 128 128 98.5% chr15 + 74342974 74343101 128
browser details YourSeq 23 1 25 128 96.0% chr19 - 33396097 33396121 25
Second
--------------------------------------------------------------------------------------------------------------
browser details YourSeq 126 1 128 128 99.3% chr15_ML143370v1_fix - 172243 172370 128 What is chrom_fix?
browser details YourSeq 126 1 128 128 99.3% chr15
- 74342974 74343101 128
browser details YourSeq 23 104 128 128 96.0% chr19 + 33396097 33396121 25
******** DONE Bwa mem à la main GRCh38.p13 : on est dans une zone NW
CLOSED: [2023-06-04 Sun 21:51]
On met les 2 reads dans des fichiers séparés puis
#+begin_src sh
cd /Work/Users/apraga/bisonex/tests/xamscissors/align
bwa mem /Work/Groups/bisonex/data/genome/GRCh38.p13/bwa/genomeRef test1.fq test2.fq
#+end_src
A00853:477:HMLWYDSX3:2:2444:22354:28870 97 NW_021160016.1 172243 0 128M = 172243 128 CACCGTGTCCACCCCTCCTGCCGGCATCTCTGTGACGTTGGCCTTGATGTCCTTGAAGGACATCTTGCTGTCTCCCAGGAGTCTGTAGAGGATGCCACGGTAATCGTGGTGAACACTTCCTTTCTGTC FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFF:FFFFFFFFFF::FFFFFFFFFFF:FFFFFFFFFFFFFF:FFFFFFF,FFFFFF,FFFFFFFFFFFF:FF::FF NM:i:2 MD:Z:22A30C7MC:Z:128M AS:i:118 XS:i:118 XA:Z:NC_000015.10,+74342974,128M,2;
A00853:477:HMLWYDSX3:2:2444:22354:28870 145 NW_021160016.1 172243 0 128M = 172243 -128 CACCGTGTCCACCCCTCCTGCCGGCATCTCTGTGACGTTGGCCTTGATGTCCTCGAAGGACATCTTGCTGTCTCCCAGGAGTCTGTAGAGGATGCCACGGTAATCGTGGTGAACACTTCCTTTCTGTC 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.p14: idem
CLO
SED: [2023-06-04 Sun 21:51]
A00853:477:HMLWYDSX3:2:2444:22354:28870 97 NW_021160016.1 172243 0 128M = 172243 128 CACCGTGTCCACCCCTCCTGCCGGCATCTCTGTGACGTTGGCCTTGATGTCCTTGAAGGACATCTTGCTGTCTCCCAGGAGTCTGTAGAGGATGCCACGGTAATCGTGGTGAACACTTCCTTTCTGTC FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFF:FFFFFFFFFF::FFFFFFFFFFF:FFFFFFFFFFFFFF:FFFFFFF,FFFFFF,FFFFFFFFFFFF:FF::FF NM:i:2 MD:Z:22A30C7MC:Z:128M AS:i:118 XS:i:118 XA:Z:NC_000015.10,+74342974,128M,2;
A00853:477:HMLWYDSX3:2:2444:22354:28870 145 NW_021160016.1 172243 0 128M = 172243 -128 CACCGTGTCCACCCCTCCTGCCGGCATCTCTGTGACGTTGGCCTTGATGTCCTCGAAGGACATCTTGCTGTCTCCCAGGAGTCTGTAGAGGATGCCACGGTAATCGTGGTGAACACTTCCTTTCTGTC 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_
***** TODO Phase 2 : chr22, vaf variable :T2T:
SCHEDULED: <2023-08-02 Wed>
****** TODO Phase 3 : tous SNV, vaf variable :T2T:
SCHEDULED: <2023-07-27 Thu>
***** TODO Test Indel
**** 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
.5% chr15_ML143370v1_fix + 172243 172370 128 What is chrom_fix?
browser details YourSeq 124 1 128 128 98.5% chr15 + 74342974 74343101 128
browser details YourSeq 23 1 25 128 96.0% chr19 - 33396097 33396121 25
Second
--------------------------------------------------------------------------------------------------------------
browser details YourSeq 126 1 128 128 99.3% chr15_ML143370v1_fix - 172243 172370 128 What is chrom_fix?
browser details YourSeq 126 1 128 128 99.3% chr15 - 74342974 74343101 128
browser details YourSeq 23 104 128 128 96.0% chr19 + 33396097 33396121 25
******** DONE Bwa mem à la main GRCh38.p13 : on est dans une zone NW
CLOSED: [2023-06-04 Sun 21:51]
On met les 2 reads dans des fichiers séparés puis
#+begin_src sh
cd /Work/Users/apraga/bisonex/tests/xamscissors/align
bwa mem /Work/Groups/bisonex/data/genome/GRCh38.p13/bwa/genomeRef test1.fq test2.fq
#+end_src
A00853:477:HMLWYDSX3:2:2444:22354:28870 97 NW_021160016.1 172243 0 128M = 172243 128 CACCGTGTCCACCCCTCCTGCCGGCATCTCTGTGACGTTGGCCTTGATGTCCTTGAAGGACATCTTGCTGTCTCCCAGGAGTCTGTAGAGGATGCCACGGTAATCGTGGTGAACACTTCCTTTCTGTC FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFF:FFFFFFFFFF::FFFFFFFFFFF:FFFFFFFFFFFFFF:FFFFFFF,FFFFFF,FFFFFFFFFFFF:FF::FF NM:i:2 MD:Z:22A30C7MC:Z:128M AS:i:118 XS:i:118 XA:Z:NC_000015.10,+74342974,128M,2;
A00853:477:HMLWYDSX3:2:2444:22354:28870 145 NW_021160016.1 172243 0 128M = 172243 -128 CACCGTGTCCACCCCTCCTGCCGGCATCTCTGTGACGTTGGCCTTGATGTCCTCGAAGGACATCTTGCTGTCTCCCAGGAGTCTGTAGAGGATGCCACGGTAATCGTGGTGAACACTTCCTTTCTGTC 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.p14: idem
CLOSED: [2023-06-04 Sun 21:51]
A00853:477:HMLWYDSX3:2:2444:22354:28870 97 NW_021160016.1 172243 0 128M = 172243 128 CACCGTGTCCACCCCTCCTGCCGGCATCTCTGTGACGTTGGCCTTGATGTCCTTGAAGGACATCTTGCTGTCTCCCAGGAGTCTGTAGAGGATGCCACGGTAATCGTGGTGAACACTTCCTTTCTGTC FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFF:FFFFFFFFFF::FFFFFFFFFFF:FFFFFFFFFFFFFF:FFFFFFF,FFFFFF,FFFFFFFFFFFF:FF::FF NM:i:2 MD:Z:22A30C7MC:Z:128M AS:i:118 XS:i:118 XA:Z:NC_000015.10,+74342974,128M,2;
A00853:477:HMLWYDSX3:2:2444:22354:28870 145 NW_021160016.1 172243 0 128M = 172243 -128 CACCGTGTCCACCCCTCCTGCCGGCATCTCTGTGACGTTGGCCTTGATGTCCTCGAAGGACATCTTGCTGTCTCCCAGGAGTCTGTAGAGGATGCCACGGTAATCGTGGTGAACACTTCCTTTCTGTC 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_
***** TODO Phase 2 : chr22, vaf variable :T2T:
***** TODO Phase 3 : tous SNV, vaf variable :T2T:
***** TODO Test Indel
**** 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
* DONE Cadeaux Maxence + Emy
CLOSED: [2023-07-07 Fri 18:40]
:PROPERTIES:
:ARCHIVE_TIME: 2023-07-30 Sun 14:46
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Famille
:ARCHIVE_CATEGORY: projects
:ARCHIVE_TODO: DONE
:END:
/Entered on/ [2023-07-02 Sun 10:53]
Maxence : Éveil musical
* Japonais
:PROPERTIES:
:CATEGORY: japonais
:ARCHIVE_TIME: 2023-07-30 Sun 14:46
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Langues
:ARCHIVE_CATEGORY: japonais
:END:
** Miura [7/7]
*** DONE Leçon 1 [/]
**** DONE Lire
**** DONE Anki
*** KILL Leçon 2 [2/2]
CLOSED: [2023-07-07 Fri 18:48]
**** DONE Lire
**** KILL Anki
CLOSED: [2023-07-07 Fri 18:48]
***** KILL Grammaire
CLOSED: [2023-07-07 Fri 18:48]
*** KILL Leçon 3
CLOSED: [2023-07-07 Fri 18:44]
**** DONE Lire
**** KILL Anki
CLOSED: [2023-07-07 Fri 18:44]
***** KILL Grammaire
CLOSED: [2023-07-07 Fri 18:44]
*** KILL Leçon 4
CLOSED: [2023-07-07 Fri 18:44]
**** DONE Lire
**** KILL Anki
CLOSED: [2023-07-07 Fri 18:44]
***** KILL Grammaire
CLOSED: [2023-07-07 Fri 18:44]
*** KILL Leçon 5
CLOSED: [2023-07-07 Fri 18:44]
**** DONE Lire
**** KILL Anki
CLOSED: [2023-07-07 Fri 18:44]
***** KILL Grammaire
CLOSED: [2023-07-07 Fri 18:44]
*** KILL Leçon 6
CLOSED: [2023-07-07 Fri 18:44]
**** DONE Lire
**** KILL Anki
CLOSED: [2023-07-07 Fri 18:44]
***** KILL Grammaire
CLOSED: [2023-07-07 Fri 18:44]
*** KILL Leçon 7
CLOSED: [2023-07-07 Fri 18:44]
**** KILL Lire
CLOSED: [2023-07-07 Fri 18:44]
**** KILL Anki
CLOSED: [2023-07-07 Fri 18:44]
***** KILL Grammaire
CLOSED: [2023-07-07 Fri 18:44]
*** Lire
** Leçon Aya
:PROPERTIES:
:CATEGORY: aya
:END:
*** KILL Lire dialogue fin leçon 10
CLOSED: [2022-12-03 Sat 12:34] SCHEDULED: <2022-07-30 Sat>
* CentoX
:PROPERTIES:
:ARCHIVE_TIME: 2023-07-30 Sun 14:47
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Projets personnel
:ARCHIVE_CATEGORY: projects
:END:
** Raw data
*** DONE Ne plus utiliser les .size mais récupérer directement la taille sur le serveur
CLOSED: [2022-07-26 Tue 17:36]
*** DONE Faire fonctionner taches récurrente avec Windows
CLOSED: [2022-11-19 Sat 17:34]
Erreur 0x1 : a priori résolu en démarrant le script dans le bon répertoire...
** Notes
*** Extraction de données
- Trop compliqué de travailles sur la structure du pdf
- Extraire le tableau avec python ?
- Comparaison
- pdftotext : bon résultats sur page 1. Sur les ségrégations, il n’y a pas de retour à la ligne avant l’indication
- pdfminer donne des résultats légèrement supérieurs, beaucoup d’espaces sur les ségrégations
- pypdf2 : trop de retours à la lignes intempestifs dans le texte
La structure du tableau est perdue dans tous les cas
*** Parser
Liste de parser : https://tomassetti.me/parsing-in-python/
* Assistant
:PROPERTIES:
:CATEGORY: assistant
:ARCHIVE_TIME: 2023-07-30 Sun 14:47
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Projets personnel
:ARCHIVE_CATEGORY: assistant
:END:
** DONE Regarder ce qu'Yvain a fait
* DONE Amende
CLOSED: [2023-07-30 Sun 14:47]
:PROPERTIES:
:ARCHIVE_TIME: 2023-07-30 Sun 14:47
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Voiture/Mazda 5
:ARCHIVE_CATEGORY: projects
:ARCHIVE_TODO: DONE
:ARCHIVE_ITAGS: voiture
:END:
** DONE Changement d'adresse carte grise
CLOSED: [2023-06-11 Sun 21:40]
** DONE Envoyer photocopie carte grise pour éviter majoration
CLOSED: [2023-07-02 Sun 10:52] SCHEDULED: <2023-06-18 Sun>
* DONE Contrôle technique
CLOSED: [2023-07-27 Thu 23:32] DEADLINE: <2023-06-01 Thu>
:PROPERTIES:
:ARCHIVE_TIME: 2023-07-30 Sun 14:47
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Voiture/Mazda 5
:ARCHIVE_CATEGORY: projects
:ARCHIVE_TODO: DONE
:ARCHIVE_ITAGS: voiture
:END:
** DONE Prendre RV
CLOSED: [2023-05-28 Sun 10:03] SCHEDULED: <2023-05-07 Sun>
** DONE Changer amortisseurs
CLOSED: [2023-07-02 Sun 10:52] SCHEDULED: <2023-06-13 Tue>
** DONE Changer phare avant
CLOSED: [2023-07-02 Sun 10:52] SCHEDULED: <2023-06-13 Tue>
** DONE Contrôle pollution
CLOSED: [2023-07-02 Sun 10:52] SCHEDULED: <2023-06-13 Tue>
** DONE Prendre rendez-vous pour contre-visite
CLOSED: [2023-07-21 Fri 17:45] SCHEDULED: <2023-07-02 Sun>
** DONE Contre-visite
CLOSED: [2023-07-27 Thu 23:31] DEADLINE: <2023-07-26 Wed>
* KILL Changer plaquettes +/- disques
CLOSED: [2023-06-11 Sun 18:39] SCHEDULED: <2023-05-09 Tue>
:PROPERTIES:
:ARCHIVE_TIME: 2023-07-30 Sun 14:47
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Voiture/Mazda 5
:ARCHIVE_CATEGORY: projects
:ARCHIVE_TODO: KILL
:ARCHIVE_ITAGS: voiture
:END:
Écrou grippé ? Voir avec fils M. Chouffe à Gennes, chemin du vernois (voiture 607 bleue)
* DONE Changer pneus avant
CLOSED: [2022-09-11 Sun 22:05] SCHEDULED: <2022-09-03 Sat>
:PROPERTIES:
:ARCHIVE_TIME: 2023-07-30 Sun 14:47
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Voiture/Mazda 5
:ARCHIVE_CATEGORY: projects
:ARCHIVE_TODO: DONE
:ARCHIVE_ITAGS: voiture
:END:
Trop abimé pour prendre le risque, on changera les arrières plus tard
* DONE Héberger arbre généaloqiue
CLOSED: [2023-06-24 Sat 15:42] SCHEDULED: <2023-04-14 Fri>
:PROPERTIES:
:ARCHIVE_TIME: 2023-07-30 Sun 14:49
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Divers
:ARCHIVE_CATEGORY: projects
:ARCHIVE_TODO: DONE
:END:
- Github : genealogy
- Sourcehut : genealogy
- Proton drive
- Mail <2023-06-24 Sat>
* DONE Enterrement Mme Karl
CLOSED: [2023-05-28 Sun 10:02]
:PROPERTIES:
:ARCHIVE_TIME: 2023-07-30 Sun 14:49
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Divers
:ARCHIVE_CATEGORY: projects
:ARCHIVE_TODO: DONE
:END:
** DONE Commander bouquets
CLOSED: [2023-04-13 Thu 09:11] SCHEDULED: <2023-04-12 Wed>
** DONE Message avec les bouquets
CLOSED: [2023-04-13 Thu 09:11] SCHEDULED: <2023-04-13 Thu>
** DONE Remboursement [5/5]
CLOSED: [2023-05-28 Sun 10:02] SCHEDULED: <2023-04-20 Thu>
*** DONE Aurélien
CLOSED: [2023-04-22 Sat 15:27]
*** DONE Élise
CLOSED: [2023-04-22 Sat 15:27]
*** DONE Yvain
CLOSED: [2023-05-28 Sun 10:02]
*** DONE Papa
CLOSED: [2023-04-22 Sat 15:27]
*** DONE Thierry
CLOSED: [2023-04-13 Thu 09:12]
** DONE Carte personnalisée
CLOSED: [2023-04-26 Wed 21:10] SCHEDULED: <2023-04-17 Mon>
* DONE Don index nzb
CLOSED: [2023-04-22 Sat 15:27] SCHEDULED: <2023-04-19 Wed>
:PROPERTIES:
:ARCHIVE_TIME: 2023-07-30 Sun 14:49
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Divers
:ARCHIVE_CATEGORY: projects
:ARCHIVE_TODO: DONE
:END:
/Entered on/ [2023-04-16 Sun 16:53]
* DONE Remboursement TER Grenoble du 9 avril
CLOSED: [2023-05-06 Sat 09:06] SCHEDULED: <2023-05-03 Wed>
:PROPERTIES:
:ARCHIVE_TIME: 2023-07-30 Sun 14:49
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Divers
:ARCHIVE_CATEGORY: projects
:ARCHIVE_TODO: DONE
:END:
/Entered on/ [2023-04-26 Wed 21:03]
Demande envoyé <2023-04-26 Wed>
Refusé
* DONE Demander accès déchetteries Saône
CLOSED: [2023-07-30 Sun 14:49]
:PROPERTIES:
:ARCHIVE_TIME: 2023-07-30 Sun 14:49
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Divers
:ARCHIVE_CATEGORY: projects
:ARCHIVE_TODO: DONE
:END:
/Entered on/ [2023-05-28 Sun 10:02]
* Mustard :mustard:
:PROPERTIES:
:ARCHIVE_TIME: 2023-07-30 Sun 14:51
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Recherche
:ARCHIVE_CATEGORY: recherche
:END:
** Scripts
*** DONE Script pour données labkey
on convertit tous les pdf en png puis OCR avec tesseract pour les transformer en texte
On supprimer les header et footer à la main
Cf ~/code/scripts/python/mustard/courrier.py
*** DONE Renommer les dossiers PED
#+begin_src python :results output
import pandas as pd
import os
import os.path
dir1 = "/alexi/Documents/mustard/"
dir2 = "/alexi/Documents/mustard-new/"
p = pd.read_csv(os.path.join(dir1, "Patients_2022-02-02_11-44-03.tsv"), sep='\t')
# id + p.nom + " " + p.prenom + " " + p.date_de_naissance
for i in p.index:
split = p['patientID'][i].split(".")
# Only store the index case
if split[1] == "1":
dest = p.nom[i].upper() + " " + p.prenom[i] + " " + p.date_de_naissance[i]
print(f"ok {split[0]} {dest}")
src = os.path.join(dir1, split[0])
if os.path.exists(src):
if p.nom[i] != "Non renseigné":
os.rename(src, os.path.join(dir2, dest))
else:
os.rename(src, os.path.join(dir2, split[0]))
#+end_src
*** DONE Générer clinique
#+begin_src python :results output
import pandas as pd
import os
import os.path
dir = "/alexi/Documents/mustard/"
p = pd.read_csv(os.path.join(dir, "Patients_2022-02-02_11-44-03.tsv"), sep='\t')
# id + p.nom + " " + p.prenom + " " + p.date_de_naissance
f = open(os.path.join(dir, "clinique2.csv"), 'w')
for i in p.index:
split = p['patientID'][i].split(".")
# Only store the index case
if split[1] == "1":
folder = p.nom[i].upper() + " " + p.prenom[i] + " " + p.date_de_naissance[i]
if os.path.exists(os.path.join(dir, folder)):
f.write(split[0] + ";" + p.nom[i].upper() + ";" + p.prenom[i] + ";" + p.date_de_naissance[i] + "\n")
#+end_src
*** KILL Stats sur la balance allélique pour Paul
CLOSED: [2023-07-07 Fri 18:47]
**** DONE Besançon seul : total, par variant
CLOSED: [2022-10-28 Fri 10:57]
**** DONE Dijon + Besançon seul : total, par variant et par type de prélèvement
CLOSED: [2022-12-03 Sat 12:35]
Dans "variations à vérifier". 1 seul variant normalement en miseq, parfois plusieurs en exome
AB = "allelic balance"
**** KILL Rajouter une colonne balance allélique
CLOSED: [2023-07-07 Fri 18:47]
***** KILL Ancien panel
CLOSED: [2023-07-07 Fri 18:44]
***** KILL Nouveau panel
CLOSED: [2023-07-07 Fri 18:44]
***** KILL Dijon
CLOSED: [2023-07-07 Fri 18:44]
**** KILL Version executable pour paul
CLOSED: [2023-07-07 Fri 18:44]
Avec colonne dédiée
** Données
*** DONE Import Labkey
*** KILL Clinique, OCR et nettoyage données labkey [1199/1199]
CLOSED: [2023-07-07 Fri 18:44]
DONE = sur scality (mis dans ~/annex/mustard/done)
SRT = traité, non transféré (en attente dans ~/annex/mustard)
**** DONE PED0052
**** DONE PED0105
**** DONE PED1001
**** DONE PED1004
**** DONE PED1007
**** DONE PED1009
**** DONE PED1013
**** DONE PED1015
**** DONE PED1026
**** DONE PED1027
CLOSED: [2022-08-01 Mon 09:44]
**** DONE PED1034
CLOSED: [2022-08-01 Mon 09:44]
**** DONE PED1035
CLOSED: [2022-08-01 Mon 09:44]
**** DONE PED1036
**** DONE PED1037
**** DONE PED1038
CLOSED: [2022-11-08 Tue 22:20]
**** DONE PED1040
CLOSED: [2022-11-08 Tue 22:20]
**** DONE PED1042
CLOSED: [2022-11-08 Tue 22:20]
**** DONE PED1043
CLOSED: [2022-11-08 Tue 22:20]
**** DONE PED1044
CLOSED: [2022-11-08 Tue 22:20]
**** DONE PED1045
CLOSED: [2022-11-08 Tue 22:20]
**** DONE PED1064
CLOSED: [2022-11-08 Tue 22:20]
**** DONE PED1068
CLOSED: [2022-11-08 Tue 22:20]
**** DONE PED1069
CLOSED: [2022-11-08 Tue 22:20]
**** DONE PED1070
CLOSED: [2022-11-08 Tue 22:20]
**** DONE PED1071
CLOSED: [2022-11-08 Tue 22:20]
**** DONE PED1072
CLOSED: [2022-11-08 Tue 22:20]
**** DONE PED1075
CLOSED: [2022-11-08 Tue 22:20]
**** DONE PED1077
CLOSED: [2022-11-08 Tue 22:20]
**** KILL PED1078
CLOSED: [2023-07-07 Fri 18:44]
**** KILL PED1079
CLOSED: [2023-07-07 Fri 18:44]
**** KILL PED1080
CLOSED: [2023-07-07 Fri 18:44]
**** KILL PED1083
CLOSED: [2023-07-07 Fri 18:44]
**** KILL PED1084
CLOSED: [2023-07-07 Fri 18:44]
**** KILL PED1085
**** KILL PED1086
**** KILL PED1087
**** KILL PED1088
**** KILL PED1089
**** KILL PED1150
**** KILL PED1151
**** KILL PED1152
**** KILL PED1153
**** KILL PED1154
**** KILL PED1155
**** KILL PED1156
**** KILL PED1157
**** KILL PED1158
**** KILL PED1159
**** KILL PED1160
**** KILL PED1161
**** KILL PED1165
**** KILL PED1166
**** KILL PED1167
**** KILL PED1168
**** KILL PED1174
**** KILL PED1190
**** KILL PED1191
**** KILL PED1192
**** KILL PED1193
**** KILL PED1194
**** KILL PED1227
**** KILL PED1228
**** KILL PED1273
**** KILL PED1274
**** KILL PED1275
**** KILL PED1276
**** KILL PED1277
**** KILL PED1278
**** KILL PED1344
**** KILL PED1346
**** KILL PED1347
**** KILL PED1348
**** KILL PED1351
**** KILL PED1352
**** KILL PED1402
**** KILL PED1404
**** KILL PED1405
**** KILL PED1406
**** KILL PED1407
**** KILL PED1408
**** KILL PED1409
**** KILL PED1410
**** KILL PED1411
**** KILL PED1412
**** KILL PED1413
**** KILL PED1425
**** KILL PED1429
**** KILL PED1451
**** KILL PED1494
**** KILL PED1495
**** KILL PED1496
**** KILL PED1497
**** KILL PED1498
**** KILL PED1499
**** KILL PED1500
**** KILL PED1501
**** KILL PED1502
**** KILL PED1503
**** KILL PED1523
**** KILL PED1524
**** KILL PED1570
**** KILL PED1582
**** KILL PED1583
**** KILL PED1584
**** KILL PED1585
**** KILL PED1586
**** KILL PED1587
**** KILL PED1588
**** KILL PED1589
**** KILL PED1590
**** KILL PED1591
**** KILL PED1592
**** KILL PED1593
**** KILL PED1594
**** KILL PED1595
**** KILL PED1609
**** KILL PED1610
**** KILL PED1622
**** KILL PED1623
**** KILL PED1633
**** DONE PED1634
**** KILL PED1635
**** KILL PED1638
**** KILL PED1679
**** KILL PED1680
**** KILL PED1681
**** KILL PED1683
**** KILL PED1685
**** KILL PED1687
**** KILL PED1815
**** KILL PED1816
**** KILL PED1881
**** KILL PED1882
**** KILL PED1883
**** KILL PED1884
**** KILL PED1885
**** KILL PED1886
**** KILL PED1887
**** KILL PED1888
**** KILL PED1901
**** KILL PED1915
**** KILL PED1916
**** KILL PED1917
**** KILL PED1931
**** KILL PED1933
**** KILL PED1934
**** KILL PED1935
**** KILL PED1947
**** KILL PED1949
**** KILL PED1950
**** KILL PED1951
**** KILL PED1953
**** KILL PED1954
**** KILL PED1955
**** KILL PED1956
**** KILL PED1957
**** KILL PED1959
**** KILL PED1962
**** KILL PED1963
**** KILL PED1965
**** KILL PED1969
**** KILL PED1970
**** KILL PED1971
**** KILL PED1972
**** KILL PED1974
**** KILL PED1975
**** KILL PED1976
**** KILL PED1977
**** KILL PED1978
**** KILL PED1979
**** KILL PED1981
**** KILL PED1982
**** KILL PED1983
**** KILL PED1984
**** KILL PED1985
**** KILL PED1986
**** KILL PED1987
**** KILL PED1988
**** KILL PED1989
**** KILL PED1990
**** KILL PED1991
**** KILL PED1992
**** KILL PED1993
**** KILL PED1996
**** KILL PED2015
**** KILL PED2016
**** KILL PED2017
**** KILL PED2018
**** KILL PED2019
**** KILL PED2050
**** KILL PED2052
**** KILL PED2068
**** KILL PED2069
**** KILL PED2070
**** KILL PED2071
**** KILL PED2072
**** KILL PED2073
**** KILL PED2074
**** KILL PED2075
**** KILL PED2076
**** KILL PED2082
**** KILL PED2086
**** KILL PED2094
**** KILL PED2097
**** KILL PED2098
**** KILL PED2099
**** KILL PED2105
**** KILL PED2111
**** KILL PED2114
**** KILL PED2128
**** KILL PED2129
**** KILL PED2134
**** KILL PED2140
**** KILL PED2141
**** KILL PED2147
**** KILL PED2153
**** KILL PED2154
**** KILL PED2155
**** KILL PED2156
**** KILL PED2157
**** KILL PED2172
**** KILL PED2173
**** KILL PED2178
**** KILL PED2179
**** KILL PED2184
**** KILL PED2191
**** KILL PED2195
**** KILL PED2200
**** KILL PED2201
**** KILL PED2202
**** KILL PED2203
**** KILL PED2204
**** KILL PED2205
**** KILL PED2212
**** KILL PED2216
**** KILL PED2217
**** KILL PED2219
**** KILL PED2220
**** KILL PED2222
**** KILL PED2227
**** KILL PED2252
**** KILL PED2253
**** KILL PED2254
**** KILL PED2262
**** KILL PED2265
**** KILL PED2270
**** KILL PED2281
**** KILL PED2282
**** KILL PED2286
**** KILL PED2301
**** KILL PED2304
**** KILL PED2306
**** KILL PED2307
**** KILL PED2308
**** KILL PED2309
**** KILL PED2310
**** KILL PED2311
**** KILL PED2312
**** KILL PED2313
**** KILL PED2317
**** KILL PED2323
**** KILL PED2325
**** KILL PED2333
**** KILL PED2338
**** KILL PED2339
**** KILL PED2341
**** KILL PED2345
**** KILL PED2346
**** KILL PED2350
**** KILL PED2353
**** KILL PED2354
**** KILL PED2355
**** KILL PED2356
**** KILL PED2357
**** KILL PED2360
**** KILL PED2363
**** KILL PED2364
**** KILL PED2366
**** KILL PED2368
**** KILL PED2369
**** KILL PED2371
**** KILL PED2376
**** KILL PED2379
**** KILL PED2380
**** KILL PED2381
**** KILL PED2392
**** KILL PED2394
**** KILL PED2396
**** KILL PED2397
**** KILL PED2398
**** KILL PED2402
**** KILL PED2405
**** KILL PED2411
**** KILL PED2412
**** KILL PED2415
**** KILL PED2417
**** KILL PED2418
**** KILL PED2421
**** KILL PED2424
**** KILL PED2428
**** KILL PED2430
**** KILL PED2441
**** KILL PED2442
**** KILL PED2476
**** KILL PED2479
**** KILL PED2480
**** KILL PED2485
**** KILL PED2486
**** KILL PED2488
**** KILL PED2492
**** KILL PED2493
**** KILL PED2494
**** KILL PED2498
**** KILL PED2500
**** KILL PED2508
**** KILL PED2513
**** KILL PED2553
**** KILL PED2558
**** KILL PED2565
**** KILL PED2569
**** KILL PED2578
**** KILL PED2579
**** KILL PED2580
**** KILL PED2583
**** KILL PED2586
**** KILL PED2587
**** KILL PED2588
**** KILL PED2593
**** KILL PED2594
**** KILL PED2597
**** KILL PED2598
**** KILL PED2605
**** KILL PED2606
**** KILL PED2613
**** KILL PED2615
**** KILL PED2616
**** KILL PED2619
**** KILL PED2621
**** KILL PED2623
**** KILL PED2627
**** KILL PED2629
**** KILL PED2634
**** KILL PED2636
**** KILL PED2637
**** KILL PED2640
**** KILL PED2643
**** KILL PED2656
**** KILL PED2659
**** KILL PED2660
**** KILL PED2661
**** KILL PED2662
**** KILL PED2674
**** KILL PED2678
**** KILL PED2679
**** KILL PED2682
**** KILL PED2687
**** KILL PED2689
**** KILL PED2690
**** KILL PED2694
**** KILL PED2697
**** KILL PED2699
**** KILL PED2702
**** KILL PED2705
**** KILL PED2714
**** KILL PED2715
**** KILL PED2716
**** KILL PED2718
**** KILL PED2722
**** KILL PED2725
**** KILL PED2726
**** KILL PED2727
**** KILL PED2728
**** KILL PED2737
**** KILL PED2738
**** KILL PED2739
**** KILL PED2741
**** KILL PED2742
**** KILL PED2743
**** KILL PED2744
**** KILL PED2747
**** KILL PED2756
**** KILL PED2758
**** KILL PED2760
**** KILL PED2761
**** KILL PED2765
**** KILL PED2766
**** KILL PED2767
**** KILL PED2769
**** KILL PED2771
**** KILL PED2774
**** KILL PED2780
**** KILL PED2781
**** KILL PED2782
**** KILL PED2787
**** KILL PED2792
**** KILL PED2793
**** KILL PED2799
**** KILL PED2800
**** KILL PED2801
**** KILL PED2802
**** KILL PED2820
**** KILL PED2824
**** KILL PED2825
**** KILL PED2828
**** KILL PED2832
**** KILL PED2836
**** KILL PED2837
**** KILL PED2838
**** KILL PED2844
**** KILL PED2846
**** KILL PED2848
**** KILL PED2850
**** KILL PED2852
**** KILL PED2862
**** KILL PED2866
**** KILL PED2872
**** KILL PED2875
**** KILL PED2877
**** KILL PED2878
**** KILL PED2882
**** KILL PED2884
**** KILL PED2885
**** KILL PED2899
**** KILL PED2904
**** KILL PED2905
**** KILL PED2909
**** KILL PED2919
**** KILL PED2920
**** KILL PED2925
**** KILL PED3004
**** KILL PED3018
**** KILL PED3020
**** KILL PED3025
**** KILL PED3027
**** KILL PED3029
**** KILL PED3030
**** KILL PED3032
**** KILL PED3033
**** KILL PED3035
**** KILL PED3037
**** KILL PED3043
**** KILL PED3046
**** KILL PED3048
**** KILL PED3075
**** KILL PED3076
**** KILL PED3077
**** KILL PED3078
**** KILL PED3152
**** KILL PED3155
**** KILL PED3161
**** KILL PED3163
**** KILL PED3165
**** KILL PED3170
**** KILL PED3173
**** KILL PED3174
**** KILL PED3176
**** KILL PED3179
**** KILL PED3248
**** KILL PED3256
**** KILL PED3265
**** KILL PED3294
**** KILL PED3302
**** KILL PED3304
**** KILL PED3324
**** KILL PED3331
**** KILL PED3337
**** KILL PED3342
**** KILL PED3344
**** KILL PED3348
**** KILL PED3351
**** KILL PED3366
**** KILL PED3370
**** KILL PED3385
**** KILL PED3396
**** KILL PED3397
**** KILL PED3410
**** KILL PED3416
**** KILL PED3417
**** KILL PED3426
**** KILL PED3456
**** KILL PED3458
**** KILL PED3464
**** KILL PED3467
**** KILL PED3472
**** KILL PED3475
**** KILL PED3477
**** KILL PED3480
**** KILL PED3485
**** KILL PED3496
**** KILL PED3524
**** KILL PED3530
**** KILL PED3534
**** KILL PED3550
**** KILL PED3563
**** KILL PED3569
**** KILL PED3576
**** KILL PED3577
**** KILL PED3578
**** KILL PED3645
**** KILL PED3649
**** KILL PED3655
**** KILL PED3661
**** KILL PED3664
**** KILL PED3670
**** KILL PED3680
**** KILL PED3681
**** KILL PED3683
**** KILL PED3685
**** KILL PED3689
**** KILL PED3692
**** KILL PED3708
**** KILL PED3714
**** KILL PED3723
**** KILL PED3725
**** KILL PED3727
**** KILL PED3730
**** KILL PED3749
**** KILL PED3751
**** KILL PED3752
**** KILL PED3753
**** KILL PED3760
**** KILL PED3765
**** KILL PED3766
**** KILL PED3767
**** KILL PED3771
**** KILL PED3781
**** KILL PED3782
**** KILL PED3791
**** KILL PED3792
**** KILL PED3796
**** KILL PED3798
**** KILL PED3823
**** KILL PED3829
**** KILL PED3839
**** KILL PED3840
**** KILL PED3848
**** KILL PED3849
**** KILL PED3862
**** KILL PED3881
**** KILL PED3883
**** KILL PED3886
**** KILL PED3894
**** KILL PED3895
**** KILL PED3901
**** KILL PED3904
**** KILL PED3915
**** KILL PED3919
**** KILL PED3927
**** KILL PED3928
**** KILL PED3930
**** KILL PED3937
**** KILL PED3939
**** KILL PED3940
**** KILL PED3943
**** KILL PED3951
**** KILL PED3955
**** KILL PED3956
**** KILL PED3959
**** KILL PED3960
**** KILL PED3961
**** KILL PED3970
**** KILL PED3979
**** KILL PED3996
**** KILL PED3999
**** KILL PED4001
**** KILL PED4009
**** KILL PED4037
**** KILL PED4040
**** KILL PED4044
**** KILL PED4046
**** KILL PED4048
**** KILL PED4051
**** KILL PED4065
**** KILL PED4068
**** KILL PED4069
**** KILL PED4079
**** KILL PED4080
**** KILL PED4100
**** KILL PED4104
**** KILL PED4110
**** KILL PED4111
**** KILL PED4113
**** KILL PED4114
**** KILL PED4118
**** KILL PED4128
**** KILL PED4131
**** KILL PED4133
**** KILL PED4135
**** KILL PED4136
**** KILL PED4142
**** KILL PED4161
**** KILL PED4163
**** KILL PED4164
**** KILL PED4165
**** KILL PED4199
**** KILL PED4203
**** KILL PED4204
**** KILL PED4208
**** KILL PED4213
**** KILL PED4214
**** KILL PED4223
**** KILL PED4226
**** KILL PED4227
**** KILL PED4234
**** KILL PED4235
**** KILL PED4236
**** KILL PED4237
**** KILL PED4238
**** KILL PED4239
**** KILL PED4240
**** KILL PED4241
**** KILL PED4248
**** KILL PED4256
**** KILL PED4260
**** KILL PED4263
**** KILL PED4266
**** KILL PED4275
**** KILL PED4284
**** KILL PED4287
**** KILL PED4302
**** KILL PED4309
**** KILL PED4321
**** KILL PED4326
**** KILL PED4332
**** KILL PED4336
**** KILL PED4338
**** KILL PED4347
**** KILL PED4363
**** KILL PED4376
**** KILL PED4377
**** KILL PED4383
**** KILL PED4384
**** KILL PED4387
**** KILL PED4396
**** KILL PED4416
**** KILL PED4421
**** KILL PED4433
**** KILL PED4439
**** KILL PED4440
**** KILL PED4443
**** KILL PED4445
**** KILL PED4447
**** KILL PED4452
**** KILL PED4457
**** KILL PED4461
**** KILL PED4464
**** KILL PED4470
**** KILL PED4479
**** KILL PED4485
**** KILL PED4500
**** KILL PED4503
**** KILL PED4507
**** KILL PED4527
**** KILL PED4528
**** KILL PED4529
**** KILL PED4530
**** KILL PED4535
**** KILL PED4538
**** KILL PED4540
**** KILL PED4558
**** KILL PED4565
**** KILL PED4581
**** KILL PED4590
**** KILL PED4594
**** KILL PED4597
**** KILL PED4599
**** KILL PED4601
**** KILL PED4622
**** KILL PED4624
**** KILL PED4629
**** KILL PED4638
**** KILL PED4642
**** KILL PED4648
**** KILL PED4670
**** KILL PED4674
**** KILL PED4677
**** KILL PED4679
**** KILL PED4683
**** KILL PED4684
**** KILL PED4685
**** KILL PED4686
**** KILL PED4695
**** KILL PED4699
**** KILL PED4711
**** KILL PED4713
**** KILL PED4719
**** KILL PED4720
**** KILL PED4726
**** KILL PED4729
**** KILL PED4744
**** KILL PED4760
**** KILL PED4764
**** KILL PED4768
**** KILL PED4777
**** KILL PED4788
**** KILL PED4789
**** KILL PED4794
**** KILL PED4799
**** KILL PED4800
**** KILL PED4801
**** KILL PED4818
**** KILL PED4820
**** KILL PED4848
**** KILL PED4849
**** KILL PED4850
**** KILL PED4872
**** KILL PED4877
**** KILL PED4889
**** KILL PED4895
**** KILL PED4905
**** KILL PED4914
**** KILL PED4917
**** KILL PED4920
**** KILL PED4921
**** KILL PED4928
**** KILL PED4940
**** KILL PED4941
**** KILL PED4942
**** KILL PED4943
**** KILL PED4944
**** KILL PED4955
**** KILL PED4959
**** KILL PED4965
**** KILL PED4967
**** KILL PED4968
**** KILL PED4975
**** KILL PED4983
**** KILL PED4984
**** KILL PED4989
**** KILL PED4997
**** KILL PED5000
**** KILL PED5005
**** KILL PED5006
**** KILL PED5007
**** KILL PED5013
**** KILL PED5014
**** KILL PED5031
**** KILL PED5042
**** KILL PED5045
**** KILL PED5053
**** KILL PED5058
**** KILL PED5059
**** KILL PED5066
**** KILL PED5076
**** KILL PED5087
**** KILL PED5099
**** KILL PED5103
**** KILL PED5104
**** KILL PED5113
**** KILL PED5121
**** KILL PED5125
**** KILL PED5144
**** KILL PED5145
**** KILL PED5146
**** KILL PED5148
**** KILL PED5152
**** KILL PED5160
**** KILL PED5162
**** KILL PED5163
**** KILL PED5164
**** KILL PED5177
**** KILL PED5182
**** KILL PED5183
**** KILL PED5184
**** KILL PED5185
**** KILL PED5189
**** KILL PED5197
**** KILL PED5201
**** KILL PED5202
**** KILL PED5206
**** KILL PED5211
**** KILL PED5214
**** KILL PED5221
**** KILL PED5234
**** KILL PED5242
**** KILL PED5258
**** KILL PED5263
**** KILL PED5264
**** KILL PED5292
**** KILL PED5293
**** KILL PED5312
**** KILL PED5319
**** KILL PED5327
**** KILL PED5328
**** KILL PED5329
**** KILL PED5330
**** KILL PED5331
**** KILL PED5332
**** KILL PED5333
**** KILL PED5337
**** KILL PED5345
**** KILL PED5351
**** KILL PED5352
**** KILL PED5353
**** KILL PED5372
**** KILL PED5380
**** KILL PED5384
**** KILL PED5389
**** KILL PED5399
**** KILL PED5401
**** KILL PED5402
**** KILL PED5403
**** KILL PED5409
**** KILL PED5415
**** KILL PED5419
**** KILL PED5427
**** KILL PED5439
**** KILL PED5440
**** KILL PED5442
**** KILL PED5452
**** KILL PED5461
**** KILL PED5465
**** KILL PED5488
**** KILL PED5489
**** KILL PED5508
**** KILL PED5511
**** KILL PED5514
**** KILL PED5515
**** KILL PED5523
**** KILL PED5524
**** KILL PED5525
**** KILL PED5543
**** KILL PED5552
**** KILL PED5553
**** KILL PED5558
**** KILL PED5571
**** KILL PED5574
**** KILL PED5576
**** KILL PED5582
**** KILL PED5584
**** KILL PED5585
**** KILL PED5586
**** KILL PED5592
**** KILL PED5593
**** KILL PED5594
**** KILL PED5599
**** KILL PED5607
**** KILL PED5608
**** KILL PED5619
**** KILL PED5620
**** KILL PED5629
**** KILL PED5639
**** KILL PED5642
**** KILL PED5653
**** KILL PED5661
**** KILL PED5662
**** KILL PED5666
**** KILL PED5669
**** KILL PED5670
**** KILL PED5672
**** KILL PED5676
**** KILL PED5684
**** KILL PED5697
**** KILL PED5700
**** KILL PED5718
**** KILL PED5724
**** KILL PED5725
**** KILL PED5726
**** KILL PED5727
**** KILL PED5730
**** KILL PED5731
**** KILL PED5737
**** KILL PED5738
**** KILL PED5743
**** KILL PED5749
**** KILL PED5760
**** KILL PED5768
**** KILL PED5769
**** KILL PED5781
**** KILL PED5796
**** KILL PED5798
**** KILL PED5807
**** KILL PED5812
**** KILL PED5815
**** KILL PED5816
**** KILL PED5827
**** KILL PED5866
**** KILL PED5867
**** KILL PED5868
**** KILL PED5870
**** KILL PED5871
**** KILL PED5873
**** KILL PED5900
**** KILL PED5901
**** KILL PED5911
**** KILL PED5926
**** KILL PED5928
**** KILL PED5930
**** KILL PED6035
**** KILL PED6048
**** KILL PED6049
**** KILL PED6056
**** KILL PED6066
**** KILL PED6079
**** KILL PED6080
**** KILL PED6087
**** KILL PED6088
**** KILL PED6100
**** KILL PED6101
**** KILL PED6107
**** KILL PED6113
**** KILL PED6114
**** KILL PED6115
**** KILL PED6116
**** KILL PED6117
**** KILL PED6118
**** KILL PED6121
**** KILL PED6135
**** KILL PED6143
**** KILL PED6144
**** KILL PED6158
**** KILL PED6174
**** KILL PED6187
**** KILL PED6189
**** KILL PED6190
**** KILL PED6196
**** KILL PED6205
**** KILL PED6206
**** KILL PED6208
**** KILL PED6213
**** KILL PED6217
**** KILL PED6220
**** KILL PED6222
**** KILL PED6223
**** KILL PED6224
**** KILL PED6233
**** KILL PED6235
**** KILL PED6241
**** KILL PED6252
**** KILL PED6256
**** KILL PED6263
**** KILL PED6275
**** KILL PED6280
**** KILL PED6347
**** KILL PED6359
**** KILL PED6369
**** KILL PED6370
**** KILL PED6385
**** KILL PED6414
**** KILL PED6430
**** KILL PED6438
**** KILL PED6450
**** KILL PED6460
**** KILL PED6467
**** KILL PED6468
**** KILL PED6474
**** KILL PED6915
**** KILL PED6918
**** KILL PED6928
**** KILL PED6931
**** KILL PED6940
**** KILL PED6941
**** KILL PED6945
**** KILL PED6956
**** KILL PED6988
**** KILL PED7001
**** KILL PED7016
**** KILL PED7041
**** KILL PED7047
**** KILL PED7051
**** KILL PED7052
**** KILL PED7053
**** KILL PED7054
**** KILL PED7057
**** KILL PED7061
**** KILL PED7067
**** KILL PED7076
**** KILL PED7086
**** KILL PED7092
**** KILL PED7101
**** KILL PED7105
**** KILL PED7121
**** KILL PED7162
**** KILL PED7163
**** KILL PED7165
**** KILL PED7167
**** KILL PED7187
**** KILL PED7197
**** KILL PED7198
**** KILL PED7201
**** KILL PED7202
**** KILL PED7207
**** KILL PED7227
**** KILL PED7228
**** KILL PED7230
**** KILL PED7252
**** KILL PED7277
**** KILL PED7281
**** KILL PED7289
**** KILL PED7293
**** KILL PED7321
**** KILL PED7329
**** KILL PED7331
**** KILL PED7341
**** KILL PED7343
**** KILL PED7347
**** KILL PED7391
**** KILL PED7393
**** KILL PED7394
**** KILL PED7421
**** KILL PED7422
**** KILL PED7432
**** KILL PED7435
**** KILL PED7436
**** KILL PED7437
**** KILL PED7447
**** KILL PED7471
**** KILL PED7472
**** KILL PED7507
**** KILL PED7508
**** KILL PED7509
**** KILL PED7534
**** KILL PED7548
**** KILL PED7557
**** KILL PED7568
**** KILL PED7575
**** KILL PED7581
**** KILL PED7582
**** KILL PED7589
**** KILL PED7601
**** KILL PED7612
**** KILL PED7613
**** KILL PED7637
**** KILL PED7638
**** KILL PED7643
**** KILL PED7647
**** KILL PED7653
**** KILL PED7665
**** KILL PED7674
**** KILL PED7718
**** KILL PED7722
**** KILL PED7732
**** KILL PED7735
**** KILL PED7740
**** KILL PED7741
**** KILL PED7745
**** KILL PED7756
**** KILL PED7761
**** KILL PED7767
**** KILL PED7769
**** KILL PED7770
**** KILL PED7773
**** KILL PED7778
**** KILL PED7791
**** KILL PED7806
**** KILL PED7807
**** KILL PED7808
**** KILL PED7817
**** KILL PED7823
**** KILL PED7827
**** KILL PED7835
**** KILL PED7846
**** KILL PED7857
**** KILL PED7875
**** KILL PED7876
**** KILL PED7885
**** KILL PED7902
**** KILL PED7905
**** KILL PED7914
**** KILL PED7937
**** KILL PED7938
**** KILL PED7942
**** KILL PED7962
**** KILL PED7963
**** KILL PED7964
**** KILL PED7965
**** KILL PED7966
**** KILL PED7967
**** KILL PED7997
**** KILL PED8002
**** KILL PED8003
**** KILL PED8013
**** KILL PED8014
**** KILL PED8015
**** KILL PED8021
**** KILL PED8035
**** KILL PED8050
**** KILL PED8052
**** KILL PED8056
**** KILL PED8074
**** KILL PED8098
**** KILL PED8099
**** KILL PED8105
**** KILL PED8114
**** KILL PED8121
**** KILL PED8130
**** KILL PED8149
**** KILL PED8151
**** KILL PED8155
**** KILL PED8172
**** KILL PED8195
**** KILL PED8203
**** KILL PED8210
**** KILL PED8214
**** KILL PED8267
**** KILL PED8294
**** KILL PED8295
**** KILL PED8315
**** KILL PED8321
**** KILL PED8323
**** KILL PED8334
**** KILL PED8366
**** KILL PED8368
**** KILL PED8375
**** KILL PED8376
**** KILL PED8379
**** KILL PED8429
**** KILL PED8437
**** KILL PED8461
**** KILL PED8494
**** KILL PED8501
**** KILL PED8511
**** KILL PED8517
**** KILL PED8525
**** KILL PED8540
**** KILL PED8541
**** KILL PED8558
**** KILL PED8580
**** KILL PED8582
**** KILL PED8593
**** KILL PED8595
**** KILL PED8603
**** KILL PED8608
**** KILL PED8614
**** KILL PED8615
**** KILL PED8617
**** KILL PED8618
**** KILL PED8622
**** KILL PED8624
**** KILL PED8631
**** KILL PED8634
**** KILL PED8635
**** KILL PED8636
**** KILL PED8637
**** KILL PED8638
**** KILL PED8641
**** KILL PED8654
**** KILL PED8660
**** KILL PED8661
**** KILL PED8663
**** KILL PED8670
**** KILL PED8680
**** KILL PED8685
**** KILL PED8687
**** KILL PED8690
**** KILL PED8693
**** KILL PED8709
**** KILL PED8722
**** KILL PED8790
**** KILL PED8801
**** KILL PED8807
**** KILL PED8810
**** KILL PED8816
**** KILL PED8818
**** KILL PED8832
**** KILL PED8852
**** KILL PED8866
**** KILL PED8869
**** KILL PED8870
**** KILL PED8878
**** KILL PED8894
**** KILL PED8917
**** KILL PED8937
**** KILL PED8947
**** KILL PED8951
**** KILL PED8961
**** KILL PED9013
**** KILL PED9024
**** KILL PED9051
**** KILL PED9057
**** KILL PED9074
**** KILL PED9083
**** KILL PED9088
**** KILL PED9095
**** KILL PED9131
**** KILL PED9152
**** KILL PED9181
**** KILL PED9200
**** KILL PED9202
**** KILL PED9252
**** KILL PED9270
**** KILL PED9271
**** KILL PED9281
**** KILL PED9282
**** KILL PED9285
**** KILL PED9286
**** KILL PED9287
**** KILL PED9345
**** KILL PED9367
**** KILL PED9368
**** KILL PED9405
**** KILL PED9430
**** KILL PED9440
**** KILL PED9445
**** KILL PED9456
**** KILL PED9458
**** KILL PED9528
**** KILL PED9559
**** KILL PED9740
*** DONE Fusionner exome dijon pour Paul
CLOSED: [2022-08-04 Thu 17:42]
**** DONE Enlever les doublons
CLOSED: [2022-09-13 Tue 21:36]
*** DONE Fusionner panel Dijons
*** DONE Fusion variants à vérifier de dijon
CLOSED: [2022-12-04 Sun 22:32]
*** KILL Dxcare
**** DONE Demande Dijon
**** KILL Demande DPO Besançon
*** KILL donnée pierre
**CLOSED: [2022-05-05 jeu. 17:53]
***** KILL Format de données final
CLOSED: [2023-07-07 Fri 18:44]
Voir avec Paul
** Stockage
*** DONE Accès scality au travail
*** KILL VPN pour Jehanne
CLOSED: [2023-05-28 Sun 10:04]
** Notes
- Sur phénotype mélanocytaire, il peut valoir le coup de faire de la CGH sur biopsie
Inconvénient du panel : on passe à côté
Inconvénient de l’exome : faible profondeur
En général, pas d’ADN suffisant pour les 3 !
- Idée de pipeline : CNV (mais il faut les références)
- 2 approches : exome direct ou CGH + panel
- Exome envoyé à integragen (ou CNR): problème = perte de financement car plus de centre de référence à Dijon
envoi dans le privé compliqué vu le coût...
* KILL DIU dysmorpho
:PROPERTIES:
:CATEGORY: dysmorpho
:ARCHIVE_TIME: 2023-07-30 Sun 15:03
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Génétique
:ARCHIVE_CATEGORY: dysmorpho
:ARCHIVE_TODO: KILL
:END:
** KILL Relire + notes [1/92]
*** KILL Intro dysmorpho - Verloes
CLOSED: [2023-07-07 Fri 18:43]
*** KILL Empreinte génomique
*** KILL Beckwith, Silver Russel
*** KILL Scoliose
*** KILL Syndromes cytogénétique - Salanville
*** KILL Dysostose mandibulo faciale
*** KILL Williams dup 7p11.2
*** KILL Pathologie génétique de la reproduction
*** KILL Malformations oculaires
*** KILL Comprendre les test génétiques
*** KILL Fente
*** KILL Gonosome
*** KILL Smith-Mangenis
*** KILL 22q11
*** KILL Dysmorpho nouveau-né
*** KILL Autopsie foetale
*** KILL Dysmorphologie - généralités (A Verloes)
*** KILL Dysmorphologie du nouveau né (M Vincent)
*** KILL Registre des malformations (N Lelong)
*** KILL Comprendre les tests génétiques - Mutations - NGS (Y Vial)
*** KILL Cytogénétique (C Missirian)
*** KILL NGS et syndromologie (F Tran-Mau-Them)
*** KILL Empreinte génomique (F Brioudé) (seq 15 Beckwith Wiedemann Syndrome et SRussel S)
*** KILL Autopsie foetale (F Guimiot)
*** KILL Tumeur et développement (H Cave)
*** KILL Dysmorphologie foetale (MH Saint Frison)
*** KILL Pathologie génétique de la reproduction (F Vialard)
*** KILL Le dysmorphologiste en prénatal (N Gruchy)
*** KILL Régulation génique et anomalies du développement (F Petit)
*** KILL Echographie fœtale et dysmorphologie (C Rozel)
*** KILL Déficience intellectuelle (A Curie)
*** KILL Autisme et génétique (A Maruani)
*** KILL Tests neuropsy
*** KILL XLID(A Toutain)
*** KILL Anomalies du développement embryonnaire précoce (C Quelin)
*** KILL Anomalies de fermeture du tube neural (C Quelin)
*** KILL FAS (D Germanaud)
*** KILL Médicaments et grossesse (C Vauzelle)
*** KILL Syndromes avec fentes oro-faciales- (J Van-Gils)
*** KILL Syndromes avec craniosténose (C Collet)
*** KILL Dents & syndromes (I Bailleul)
*** KILL Dysostoses Mandibulo faciales (J Amiel)
*** KILL Avances staturales (A Putoux)
*** KILL Retards staturaux syndromiques (A Putoux)
*** KILL Syndromes avec obésité (G Diene)
*** KILL Spliceosomopathies (P Edery)
*** KILL Microcéphalies (S Passemard)
*** KILL Anomalies du cervelet : Joubert, NPH ... (L Burglen)
*** KILL Epilepsie et syndromes (C Mignot)
*** KILL Holoprosencéphalie (S Odent)
*** KILL Hydrocephalie (S Odent)
*** KILL Anomalies de migration (S Passemard)
*** KILL Chondrodysplasies (G Baujat)
*** KILL Anomalies de segmentation et scoliose (J Thévenon)
*** KILL Génétique du développement des membres et principaux syndromes (F Petit)
*** KILL Classification des malformations des membres (F Petit)
*** KILL Prise en charge des anomalies des membres (N Quintero)
*** KILL Syndromes avec anomalies uro-néphrologiques pré- et postnatal (G Morin)
*** KILL Syndromes avec anomalies génitales et DSD (B Leheup)
*** KILL Du coeur au syndrome (D Genevieve)
*** KILL Malformation cardiaque en anténatal (D Genevieve)
*** KILL Base génétique du déterminisme du sexe (C Colson)
*** KILL Surdités syndromiques (S Marlin)
*** KILL Malformations oculaires (N Chassaing)
*** KILL Dermatologie et développement (P Vabres)
*** KILL Dysmorphologie et métabolisme (M Barth)
*** KILL Maladies de surcharge (D Germain)
*** KILL Trisomie 21 (R Touraine)
*** KILL S. Williams - duplication 7q11.2 (M Rossi)
*** KILL Délétion 22q11.2 (L Perrin)
*** KILL Syndromes cytogénétiques (D Sanlaville)
*** KILL Gonosomes (J Leger)
*** KILL Parcours de soin des patients avec anomalies du développement (N Jean-Marçais)
*** KILL Prise en charge médicosociale du handicap (D Juzeau)
*** KILL Fanconi (T Leblanc)
*** KILL Ehlers-Danlos (D Germain)
*** KILL Chromatinopathies: TAD - Kabuki, Rubinstein-Taybi, Wiedemann-Steiner, SBYSS... (D Genevieve)
*** KILL Marfan et syndromes apparentés (G Jondeau)
*** KILL RASopathies (Y Capri)
*** KILL Syndromes de Pitt Hopkins, Angelman, Rett et Rett-like (N Bahi-Buisson)
*** KILL Filaminopathies A (C Goizet)
*** KILL Achondroplasie (G Baujat)
*** KILL OI (G Baujat)
*** KILL Ciliopathies: approche globale (T Attie-Bitach)
*** KILL Smith-Magenis (L Perrin)
*** KILL Cohésinopathies : Cornelia de Lange, Coffin-Siris/NB, CHOPS... (A Goldenberg)
*** KILL Albinisme et syndromes apparentés (B Arveiler)
*** KILL Beckwith Wiedemann Syndrome & Silver Russel Syndrome (F Brioude)
*** KILL Neurofibromatoses - STB (C Goizet)
*** KILL Cowden, Gorlin (P Goizet)
*** KILL Syndrome de Kleefstra (L Perrin)
*** KILL Téloméropathies (T Leblanc)
* DONE DES [4/4]
CLOSED: [2023-07-07 Fri 18:47]
:PROPERTIES:
:ARCHIVE_TIME: 2023-07-30 Sun 15:03
:ARCHIVE_FILE: ~/roam/personal/projects.org
:ARCHIVE_OLPATH: Génétique
:ARCHIVE_CATEGORY: maison
:ARCHIVE_TODO: DONE
:END:
** DONE Valider cours sur sides
** KILL Vérifier que toutes les diapos sont sur one drive
CLOSED: [2023-07-07 Fri 18:47]
** DONE Examen sur sides
** KILL Lire les cours
CLOSED: [2023-07-07 Fri 18:47]
*** KILL Presentiel session 1 [9/9]
CLOSED: [2022-11-19 Sat 17:43]
**** DONE Introduction à la dysmorphologie
**** DONE Structuration du génome et mécanismes mutationnels
**** DONE Oncogénétique: introduction
**** KILL Diagnostic prénatal
CLOSED: [2022-11-19 Sat 17:35]
**** DONE Grandes technologies et bioinformatique
**** DONE Aspects réglementaires et éthiques
**** DONE Mucoviscidose
CLOSED: [2022-09-10 Sat 18:34]
**** KILL Bases sur le conseil génétique
CLOSED: [2022-11-19 Sat 17:35]
**** KILL SEPI et TD
CLOSED: [2022-11-19 Sat 17:35]
*** DONE E-learning session 1 [6/6]
**** DONE maladies endocriniennes et métabolisme
**** DONE anomalies de la croissance
**** DONE hématologie
**** DONE maladies du tissu conjonctif
**** DONE Oncogénétique
**** DONE dermatogénétique
*** KILL Presentiel session 2 [0/5]
CLOSED: [2022-11-19 Sat 17:43]
**** KILL Déficience intellectuelle
CLOSED: [2022-11-19 Sat 17:35]
**** KILL Génétique clinique et formelle
CLOSED: [2022-11-19 Sat 17:35]
**** KILL Pathologies fréquentes en génétique clinique
CLOSED: [2022-11-19 Sat 17:35]
**** KILL Génome humain : normal et pathologique
CLOSED: [2022-11-19 Sat 17:35]
**** KILL Maladies métaboliques
CLOSED: [2022-11-19 Sat 17:35]
*** KILL E-learning session 2 [6/6]
CLOSED: [2023-07-07 Fri 18:47]
**** DONE Infertilité
-> cours 1, diapo 31
**** DONE Syndromes microdélétionnels
**** DONE Dysgonosomies
**** DONE Cancer du colon: Maladie de Lynch et CMMRD
**** DONE Déficience intellectuelle
**** KILL Pathologies neuromusculaires
CLOSED: [2023-07-07 Fri 18:47]