From 79bb4315fd53f7f03522a81c44cb5ab8649e82b3 Mon Sep 17 00:00:00 2001 From: LaraFuhrmann <55209716+LaraFuhrmann@users.noreply.github.com> Date: Mon, 8 Apr 2024 17:55:27 +0200 Subject: [PATCH] Setup emergennce new variant -- figure 6 in VILOCA manuscript (#4) * viloca version + insert file * add collect co-occ muts * collect the samples that are ready * correct script name and output name * update bed file to only process necessary amplicons to distinguish BA.2 and BA.5 * reduce amount of samples to only cover the once including June * add test sample set * --keep-incomplete * rerun-incomplete false * --rerun-triggers mtime * update test sample * update * remove samples from sept from the analysis * samples that have high prio to be processed * increase viloca resource * exclude sample since: error of no reads found in requested region * skip merging because we loose too many reads * add envp mode * reduce mutation of interest where noting is happening in the data * process all samples from april and may -- exclude june for now * update viloca params * exclude samples end of may * new version of viloca * exclude samples with super low coverage * get coverage information of all samples * update output * update output * update output * typo * fix col of result dataframe * include june samples * updated notebook, 0 freq in white and no data in gray * update notebook with the final figure for the manuscript * update sample list and clean up * [add] readme with description of recreating figure * [add] readme with description of recreating figure * remove space --- config/config.yaml | 2 +- .../setup_emergence_new_variant/README.md | 13 +- .../config/config.yaml | 2 +- .../config/samples.csv | 199 ---- .../profile_simple/config.yaml | 4 +- .../resources/SARS-CoV-2.insert.bed | 99 ++ .../SARS-CoV-2.insert.reduced.250bp.bed | 11 + .../resources/SARS-CoV-2.insert.reduced.bed | 12 + .../run_workflow.sh | 2 + .../workflow/Snakefile | 39 +- .../workflow/envs/collect_mutations.yaml | 7 + .../workflow/notebooks/rise_of_ba.5.ipynb | 955 ++++++++++++++++++ .../workflow/scripts/collect_coverage.py | 25 + .../workflow/scripts/collect_mutations.py | 27 + workflow/envs/viloca.yaml | 2 +- workflow/scripts/run_viloca.py | 6 +- 16 files changed, 1193 insertions(+), 212 deletions(-) create mode 100644 resources/setup_emergence_new_variant/resources/SARS-CoV-2.insert.bed create mode 100644 resources/setup_emergence_new_variant/resources/SARS-CoV-2.insert.reduced.250bp.bed create mode 100644 resources/setup_emergence_new_variant/resources/SARS-CoV-2.insert.reduced.bed create mode 100644 resources/setup_emergence_new_variant/workflow/envs/collect_mutations.yaml create mode 100644 resources/setup_emergence_new_variant/workflow/notebooks/rise_of_ba.5.ipynb create mode 100644 resources/setup_emergence_new_variant/workflow/scripts/collect_coverage.py create mode 100644 resources/setup_emergence_new_variant/workflow/scripts/collect_mutations.py diff --git a/config/config.yaml b/config/config.yaml index 5c2f441..8bb470a 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -1,4 +1,4 @@ fname_reference: resources/NC_045512.2.fasta -fname_insert_bed: resources/SARS-CoV-2.v532.insert.bed +fname_insert_bed: resources/SARS-CoV-2.v4.insert.bed fname_samples: config/samples.csv dir_path_samples: # add path to samples here diff --git a/resources/setup_emergence_new_variant/README.md b/resources/setup_emergence_new_variant/README.md index 428b1e7..7b86abd 100644 --- a/resources/setup_emergence_new_variant/README.md +++ b/resources/setup_emergence_new_variant/README.md @@ -1 +1,12 @@ -This is a workflow that uses the parent workflow to process a specific set of samples to compute their divesity. +This workflow produces Figure 6 in the Manuscript of VILOCA. + +To reproduce the results and figure: +1.) Clone the repository. + +2.) Move into this directory: `cd resources/setup_emergence_new_variant` + +3.) Install conda enviroments needed for the the workflow:`snakemake --conda-create-envs-only --use-conda -c1 --rerun-incomplete` + +4.) Execute workflow. On slurm cluster the script `run_workflow.sh` can be used. + +5.) When you received the two needed output files `results/all_cooccurring_mutations.csv` and `results/samples.all_coverage.csv`, figure can be generated with the notebook `workflow/notebooks/rise_of_ba.5.ipynb` diff --git a/resources/setup_emergence_new_variant/config/config.yaml b/resources/setup_emergence_new_variant/config/config.yaml index 97c436b..75d4ffb 100644 --- a/resources/setup_emergence_new_variant/config/config.yaml +++ b/resources/setup_emergence_new_variant/config/config.yaml @@ -1,4 +1,4 @@ fname_reference: ../NC_045512.2.fasta -fname_insert_bed: ../SARS-CoV-2.insert.bed +fname_insert_bed: resources/SARS-CoV-2.insert.reduced.250bp.bed fname_samples: config/samples.csv dir_path_samples: /cluster/project/pangolin/work-vp-test/results/ diff --git a/resources/setup_emergence_new_variant/config/samples.csv b/resources/setup_emergence_new_variant/config/samples.csv index 194197c..46112f8 100644 --- a/resources/setup_emergence_new_variant/config/samples.csv +++ b/resources/setup_emergence_new_variant/config/samples.csv @@ -1,259 +1,60 @@ ,sample,batch -0,A2_10_2022_04_07,20220422_HTN5VDRXY 1,A2_10_2022_04_14,20220429_HTYNFDRXY 2,A2_10_2022_04_21,20220506_HTYK5DRXY 3,A2_10_2022_04_28,20220513_HTLLHDRXY 4,A2_10_2022_05_05,20220520_HTYK7DRXY 5,A2_10_2022_05_12,20220530_HTYKCDRXY -6,A2_10_2022_05_19,20220603_H7WH5DRX2 -7,A2_10_2022_05_28,20220610_H7W3KDRX2 8,A2_10_2022_06_02,20220617_H7FWCDRX2 9,A2_10_2022_06_09,20220624_H327YDRX2 -10,A2_10_2022_06_16,20220701_H32LGDRX2 -11,A2_10_2022_06_23,20220708_o28874 -12,A2_10_2022_06_30,20220715_H53L7DRX2 -13,A2_10_2022_07_07,20220722_H7GYWDRX2 -14,A2_10_2022_07_21,20220805_HHMMWDRX2 -15,A2_10_2022_07_28,20220812_H7CKVDRX2 -16,A2_10_2022_08_04,20220819_HHMMYDRX2 -17,A2_10_2022_08_11,20220826_HHVTYDRX2 -18,A2_10_2022_08_18,20220902_HGTHMDRX2 -19,A2_10_2022_08_25,20220909_HHM33DRX2 -20,A2_10_2022_09_01,20220916_HJK3KDRX2 -21,A2_10_2022_09_08,20220923_HJ5H7DRX2 -22,A2_10_2022_09_15,20221003_HJK2VDRX2 -23,A2_10_2022_09_22,20221007_HJK2LDRX2 -24,A2_10_2022_09_29,20221018_HJ3MWDRX2 -25,B2_10_2022_04_01,20220414_HTNCFDRXY -26,B2_10_2022_04_08,20220422_HTN5VDRXY 27,B2_10_2022_04_15,20220429_HTYNFDRXY 28,B2_10_2022_04_22,20220506_HTYK5DRXY 29,B2_10_2022_04_29,20220513_HTLLHDRXY 30,B2_10_2022_05_06,20220520_HTYK7DRXY 31,B2_10_2022_05_13,20220530_HTYKCDRXY -32,B2_10_2022_05_20,20220603_H7WH5DRX2 -33,B2_10_2022_05_29,20220610_H7W3KDRX2 34,B2_10_2022_06_03,20220617_H7FWCDRX2 35,B2_10_2022_06_10,20220624_H327YDRX2 36,B2_10_2022_06_17,20220701_H32LGDRX2 37,B2_10_2022_06_24,20220708_o28874 -38,B2_10_2022_07_01,20220715_H53L7DRX2 -39,B2_10_2022_07_08,20220722_H7GYWDRX2 -40,B2_10_2022_07_22,20220805_HHMMWDRX2 -41,B2_10_2022_07_29,20220812_H7CKVDRX2 -42,B2_10_2022_08_05,20220819_HHMMYDRX2 -43,B2_10_2022_08_12,20220826_HHVTYDRX2 -44,B2_10_2022_08_19,20220902_HGTHMDRX2 -45,B2_10_2022_08_26,20220909_HHM33DRX2 -46,B2_10_2022_09_02,20220916_HJK3KDRX2 -47,B2_10_2022_09_09,20220923_HJ5H7DRX2 -48,B2_10_2022_09_16,20221003_HJK2VDRX2 -49,B2_10_2022_09_23,20221007_HJK2LDRX2 -50,B2_10_2022_09_30,20221018_HJ3MWDRX2 -51,B6_10_2022_09_05,20220916_HJK3KDRX2 -52,C2_10_2022_04_02,20220414_HTNCFDRXY -53,C2_10_2022_04_09,20220422_HTN5VDRXY 54,C2_10_2022_04_16,20220429_HTYNFDRXY 55,C2_10_2022_04_23,20220506_HTYK5DRXY 56,C2_10_2022_04_30,20220513_HTLLHDRXY 57,C2_10_2022_05_07,20220520_HTYK7DRXY 58,C2_10_2022_05_14,20220530_HTYKCDRXY -59,C2_10_2022_05_21,20220603_H7WH5DRX2 60,C2_10_2022_05_30,20220610_H7W3KDRX2 61,C2_10_2022_06_04,20220617_H7FWCDRX2 62,C2_10_2022_06_11,20220624_H327YDRX2 -63,C2_10_2022_06_18,20220701_H32LGDRX2 64,C2_10_2022_06_25,20220708_o28874 -65,C2_10_2022_07_02,20220715_H53L7DRX2 -66,C2_10_2022_07_09,20220722_H7GYWDRX2 -67,C2_10_2022_07_23,20220805_HHMMWDRX2 -68,C2_10_2022_07_30,20220812_H7CKVDRX2 -69,C2_10_2022_08_06,20220819_HHMMYDRX2 -70,C2_10_2022_08_13,20220826_HHVTYDRX2 -71,C2_10_2022_08_20,20220902_HGTHMDRX2 -72,C2_10_2022_08_27,20220909_HHM33DRX2 -73,C2_10_2022_09_03,20220916_HJK3KDRX2 -74,C2_10_2022_09_10,20220923_HJ5H7DRX2 -75,C2_10_2022_09_17,20221003_HJK2VDRX2 -76,C2_10_2022_09_24,20221007_HJK2LDRX2 77,C6_10_2022_05_16,20220603_H7WH5DRX2 -78,D2_10_2022_04_03,20220414_HTNCFDRXY -79,D2_10_2022_04_10,20220422_HTN5VDRXY 80,D2_10_2022_04_17,20220429_HTYNFDRXY 81,D2_10_2022_04_24,20220506_HTYK5DRXY 82,D2_10_2022_05_01,20220513_HTLLHDRXY 83,D2_10_2022_05_08,20220520_HTYK7DRXY 84,D2_10_2022_05_15,20220530_HTYKCDRXY -85,D2_10_2022_05_22,20220603_H7WH5DRX2 -86,D2_10_2022_05_31,20220610_H7W3KDRX2 87,D2_10_2022_06_05,20220617_H7FWCDRX2 88,D2_10_2022_06_12,20220624_H327YDRX2 -89,D2_10_2022_06_19,20220701_H32LGDRX2 90,D2_10_2022_06_26,20220708_o28874 -91,D2_10_2022_07_03,20220715_H53L7DRX2 -92,D2_10_2022_07_10,20220722_H7GYWDRX2 -93,D2_10_2022_07_24,20220805_HHMMWDRX2 -94,D2_10_2022_07_31,20220812_H7CKVDRX2 -95,D2_10_2022_08_07,20220819_HHMMYDRX2 -96,D2_10_2022_08_14,20220826_HHVTYDRX2 -97,D2_10_2022_08_21,20220902_HGTHMDRX2 -98,D2_10_2022_08_28,20220909_HHM33DRX2 -99,D2_10_2022_09_04,20220916_HJK3KDRX2 -100,D2_10_2022_09_11,20220923_HJ5H7DRX2 -101,D2_10_2022_09_25,20221007_HJK2LDRX2 -102,D3_10_2022_09_18,20221003_HJK2VDRX2 -103,E2_10_2022_04_04,20220414_HTNCFDRXY -104,E2_10_2022_04_11,20220422_HTN5VDRXY 105,E2_10_2022_04_18,20220429_HTYNFDRXY 106,E2_10_2022_04_25,20220506_HTYK5DRXY 107,E2_10_2022_05_02,20220513_HTLLHDRXY 108,E2_10_2022_05_09,20220520_HTYK7DRXY -109,E2_10_2022_05_16,20220530_HTYKCDRXY -110,E2_10_2022_05_23,20220603_H7WH5DRX2 111,E2_10_2022_06_06,20220617_H7FWCDRX2 112,E2_10_2022_06_13,20220624_H327YDRX2 113,E2_10_2022_06_20,20220701_H32LGDRX2 -114,E2_10_2022_06_27,20220708_o28874 -115,E2_10_2022_07_04,20220715_H53L7DRX2 -116,E2_10_2022_07_11,20220722_H7GYWDRX2 -117,E2_10_2022_07_25,20220805_HHMMWDRX2 -118,E2_10_2022_08_01,20220812_H7CKVDRX2 -119,E2_10_2022_08_08,20220819_HHMMYDRX2 -120,E2_10_2022_08_15,20220826_HHVTYDRX2 -121,E2_10_2022_08_22,20220902_HGTHMDRX2 -122,E2_10_2022_08_29,20220909_HHM33DRX2 -123,E2_10_2022_09_12,20220923_HJ5H7DRX2 -124,E2_10_2022_09_19,20221003_HJK2VDRX2 -125,E2_10_2022_09_26,20221007_HJK2LDRX2 -126,F1_10_2022_05_25,20220610_H7W3KDRX2 -127,F2_10_2022_04_05,20220414_HTNCFDRXY 128,F2_10_2022_04_12,20220422_HTN5VDRXY 129,F2_10_2022_04_19,20220429_HTYNFDRXY 130,F2_10_2022_04_26,20220506_HTYK5DRXY 131,F2_10_2022_05_03,20220513_HTLLHDRXY 132,F2_10_2022_05_10,20220520_HTYK7DRXY -133,F2_10_2022_05_17,20220530_HTYKCDRXY -134,F2_10_2022_05_24,20220603_H7WH5DRX2 135,F2_10_2022_06_07,20220617_H7FWCDRX2 136,F2_10_2022_06_14,20220624_H327YDRX2 137,F2_10_2022_06_21,20220701_H32LGDRX2 -138,F2_10_2022_06_28,20220708_o28874 -139,F2_10_2022_07_05,20220715_H53L7DRX2 -140,F2_10_2022_07_12,20220722_H7GYWDRX2 -141,F2_10_2022_07_26,20220805_HHMMWDRX2 -142,F2_10_2022_08_02,20220812_H7CKVDRX2 -143,F2_10_2022_08_09,20220819_HHMMYDRX2 -144,F2_10_2022_08_16,20220826_HHVTYDRX2 -145,F2_10_2022_08_23,20220902_HGTHMDRX2 -146,F2_10_2022_08_30,20220909_HHM33DRX2 -147,F2_10_2022_09_06,20220916_HJK3KDRX2 -148,F2_10_2022_09_13,20220923_HJ5H7DRX2 -149,F2_10_2022_09_20,20221003_HJK2VDRX2 -150,F2_10_2022_09_27,20221007_HJK2LDRX2 -151,G1_10_2022_05_26,20220610_H7W3KDRX2 -152,H1_10_2022_04_06,20220422_HTN5VDRXY 153,H1_10_2022_04_13,20220429_HTYNFDRXY 154,H1_10_2022_04_20,20220506_HTYK5DRXY 155,H1_10_2022_04_27,20220513_HTLLHDRXY 156,H1_10_2022_05_04,20220520_HTYK7DRXY 157,H1_10_2022_05_11,20220530_HTYKCDRXY 158,H1_10_2022_05_18,20220603_H7WH5DRX2 -159,H1_10_2022_05_27,20220610_H7W3KDRX2 160,H1_10_2022_06_01,20220617_H7FWCDRX2 161,H1_10_2022_06_08,20220624_H327YDRX2 162,H1_10_2022_06_15,20220701_H32LGDRX2 -163,H1_10_2022_06_22,20220708_o28874 164,H1_10_2022_06_29,20220715_H53L7DRX2 -165,H1_10_2022_07_06,20220722_H7GYWDRX2 -166,H1_10_2022_07_20,20220805_HHMMWDRX2 -167,H1_10_2022_07_27,20220812_H7CKVDRX2 -168,H1_10_2022_08_03,20220819_HHMMYDRX2 -169,H1_10_2022_08_10,20220826_HHVTYDRX2 -170,H1_10_2022_08_17,20220902_HGTHMDRX2 -171,H1_10_2022_08_24,20220909_HHM33DRX2 -172,H1_10_2022_08_31,20220916_HJK3KDRX2 -173,H1_10_2022_09_07,20220923_HJ5H7DRX2 -174,H1_10_2022_09_14,20221003_HJK2VDRX2 -175,H1_10_2022_09_21,20221007_HJK2LDRX2 -176,H1_10_2022_09_28,20221018_HJ3MWDRX2 -177,A2_10_2022_10_06,20221021_HJ3NNDRX2 -178,A2_10_2022_10_13,20221028_HL53FDRX2 -179,A2_10_2022_10_27,20221111_HL3KJDRX2 -180,B2_10_2022_10_07,20221021_HJ3NNDRX2 -181,B2_10_2022_10_14,20221028_HL53FDRX2 -182,B2_10_2022_10_28,20221111_HL3KJDRX2 -183,C2_10_2022_10_01,20221018_HJ3MWDRX2 -184,C2_10_2022_10_08,20221021_HJ3NNDRX2 -185,C2_10_2022_10_15,20221028_HL53FDRX2 -186,C2_10_2022_10_29,20221111_HL3KJDRX2 -187,D2_10_2022_10_02,20221018_HJ3MWDRX2 -188,D2_10_2022_10_09,20221021_HJ3NNDRX2 -189,D2_10_2022_10_16,20221028_HL53FDRX2 -190,D2_10_2022_10_30,20221111_HL3KJDRX2 -191,E2_10_2022_10_03,20221018_HJ3MWDRX2 -192,E2_10_2022_10_10,20221021_HJ3NNDRX2 -193,E2_10_2022_10_17,20221028_HL53FDRX2 -194,E2_10_2022_10_31,20221111_HL3KJDRX2 -195,F2_10_2022_10_04,20221018_HJ3MWDRX2 -196,F2_10_2022_10_11,20221021_HJ3NNDRX2 -197,F2_10_2022_10_18,20221028_HL53FDRX2 -198,H1_10_2022_10_05,20221021_HJ3NNDRX2 -199,H1_10_2022_10_12,20221028_HL53FDRX2 -200,H1_10_2022_10_26,20221111_HL3KJDRX2 -201,A2_10_2022_11_03,20221117_HL3GFDRX2 -202,A2_10_2022_11_10,20221125_HM23VDRX2 -203,A2_10_2022_11_17,20221205_HM2L5DRX2 -204,A2_10_2022_11_24,20221209_HM2NWDRX2 -205,B2_10_2022_11_04,20221117_HL3GFDRX2 -206,B2_10_2022_11_11,20221125_HM23VDRX2 -207,B2_10_2022_11_18,20221205_HM2L5DRX2 -208,B2_10_2022_11_25,20221209_HM2NWDRX2 -209,C2_10_2022_11_05,20221117_HL3GFDRX2 -210,C2_10_2022_11_12,20221125_HM23VDRX2 -211,C2_10_2022_11_19,20221205_HM2L5DRX2 -212,C2_10_2022_11_26,20221209_HM2NWDRX2 -213,D2_10_2022_11_06,20221117_HL3GFDRX2 -214,D2_10_2022_11_13,20221125_HM23VDRX2 -215,D2_10_2022_11_20,20221205_HM2L5DRX2 -216,D2_10_2022_11_27,20221209_HM2NWDRX2 -217,D3_10_2022_11_15,20221125_HM23VDRX2 -218,E2_10_2022_11_07,20221117_HL3GFDRX2 -219,E2_10_2022_11_14,20221125_HM23VDRX2 -220,E2_10_2022_11_21,20221205_HM2L5DRX2 -221,E2_10_2022_11_28,20221209_HM2NWDRX2 -222,F2_10_2022_11_01,20221111_HL3KJDRX2 -223,F2_10_2022_11_08,20221117_HL3GFDRX2 -224,F2_10_2022_11_22,20221205_HM2L5DRX2 -225,F2_10_2022_11_29,20221209_HM2NWDRX2 -226,H1_10_2022_11_02,20221117_HL3GFDRX2 -227,H1_10_2022_11_09,20221125_HM23VDRX2 -228,H1_10_2022_11_16,20221205_HM2L5DRX2 -229,H1_10_2022_11_23,20221209_HM2NWDRX2 -230,H1_10_2022_11_30,20221216_HM2HNDRX2 -231,A2_10_2022_12_01,20221216_HM2HNDRX2 -232,A2_10_2022_12_08,20221223_HMLV2DRX2 -233,A2_10_2022_12_15,20230105_HMLN2DRX2 -234,A2_10_2022_12_22,20230105_HMLN2DRX2 -235,B2_10_2022_12_02,20221216_HM2HNDRX2 -236,B2_10_2022_12_09,20221223_HMLV2DRX2 -237,B2_10_2022_12_16,20230105_HMLN2DRX2 -238,B2_10_2022_12_23,20230105_HMLN2DRX2 -239,C2_10_2022_12_03,20221216_HM2HNDRX2 -240,C2_10_2022_12_10,20221223_HMLV2DRX2 -241,C2_10_2022_12_17,20230105_HMLN2DRX2 -242,C2_10_2022_12_24,20230105_HMLN2DRX2 -243,D2_10_2022_12_04,20221216_HM2HNDRX2 -244,D2_10_2022_12_11,20221223_HMLV2DRX2 -245,D2_10_2022_12_18,20230105_HMLN2DRX2 -246,D2_10_2022_12_25,20230105_HMLN2DRX2 -247,E2_10_2022_12_05,20221216_HM2HNDRX2 -248,E2_10_2022_12_12,20221223_HMLV2DRX2 -249,E2_10_2022_12_19,20230105_HMLN2DRX2 -250,E2_10_2022_12_26,20230105_HMLN2DRX2 -251,F2_10_2022_12_06,20221216_HM2HNDRX2 -252,F2_10_2022_12_13,20221223_HMLV2DRX2 -253,F2_10_2022_12_20,20230105_HMLN2DRX2 -254,F2_10_2022_12_27,20230105_HMLN2DRX2 -255,H1_10_2022_12_07,20221223_HMLV2DRX2 -256,H1_10_2022_12_14,20230105_HMLN2DRX2 -257,H1_10_2022_12_21,20230105_HMLN2DRX2 diff --git a/resources/setup_emergence_new_variant/profile_simple/config.yaml b/resources/setup_emergence_new_variant/profile_simple/config.yaml index a5b747e..323ef3a 100644 --- a/resources/setup_emergence_new_variant/profile_simple/config.yaml +++ b/resources/setup_emergence_new_variant/profile_simple/config.yaml @@ -14,14 +14,14 @@ default-resources: # - qos= - mem_mb=2000 - runtime=15 -restart-times: 3 +restart-times: 1 max-jobs-per-second: 10 max-status-checks-per-second: 1 local-cores: 1 latency-wait: 60 jobs: 500 keep-going: True -rerun-incomplete: True +rerun-incomplete: False printshellcmds: True scheduler: greedy use-conda: True diff --git a/resources/setup_emergence_new_variant/resources/SARS-CoV-2.insert.bed b/resources/setup_emergence_new_variant/resources/SARS-CoV-2.insert.bed new file mode 100644 index 0000000..b7e1b6c --- /dev/null +++ b/resources/setup_emergence_new_variant/resources/SARS-CoV-2.insert.bed @@ -0,0 +1,99 @@ +NC_045512.2 50 408 SARS-CoV-2_INSERT_1 1 + +NC_045512.2 344 705 SARS-CoV-2_INSERT_2 2 + +NC_045512.2 666 1017 SARS-CoV-2_INSERT_3 1 + +NC_045512.2 966 1337 SARS-CoV-2_INSERT_4 2 + +NC_045512.2 1266 1623 SARS-CoV-2_INSERT_5 1 + +NC_045512.2 1562 1925 SARS-CoV-2_INSERT_6 2 + +NC_045512.2 1875 2228 SARS-CoV-2_INSERT_7 1 + +NC_045512.2 2180 2544 SARS-CoV-2_INSERT_8 2 + +NC_045512.2 2508 2861 SARS-CoV-2_INSERT_9 1 + +NC_045512.2 2850 3156 SARS-CoV-2_INSERT_10 2 + +NC_045512.2 3102 3470 SARS-CoV-2_INSERT_11 1 + +NC_045512.2 3412 3769 SARS-CoV-2_INSERT_12 2 + +NC_045512.2 3705 4067 SARS-CoV-2_INSERT_13 1 + +NC_045512.2 4018 4387 SARS-CoV-2_INSERT_14 2 + +NC_045512.2 4339 4685 SARS-CoV-2_INSERT_15 1 + +NC_045512.2 4648 4995 SARS-CoV-2_INSERT_16 2 + +NC_045512.2 4953 5302 SARS-CoV-2_INSERT_17 1 + +NC_045512.2 5259 5620 SARS-CoV-2_INSERT_18 2 + +NC_045512.2 5584 5932 SARS-CoV-2_INSERT_19 1 + +NC_045512.2 5894 6247 SARS-CoV-2_INSERT_20 2 + +NC_045512.2 6210 6553 SARS-CoV-2_INSERT_21 1 + +NC_045512.2 6507 6859 SARS-CoV-2_INSERT_22 2 + +NC_045512.2 6776 7122 SARS-CoV-2_INSERT_23 1 + +NC_045512.2 7084 7440 SARS-CoV-2_INSERT_24 2 + +NC_045512.2 7403 7747 SARS-CoV-2_INSERT_25 1 + +NC_045512.2 7695 8063 SARS-CoV-2_INSERT_26 2 + +NC_045512.2 8019 8367 SARS-CoV-2_INSERT_27 1 + +NC_045512.2 8326 8691 SARS-CoV-2_INSERT_28 2 + +NC_045512.2 8619 8990 SARS-CoV-2_INSERT_29 1 + +NC_045512.2 8944 9306 SARS-CoV-2_INSERT_30 2 + +NC_045512.2 9192 9535 SARS-CoV-2_INSERT_31 1 + +NC_045512.2 9497 9842 SARS-CoV-2_INSERT_32 2 + +NC_045512.2 9805 10150 SARS-CoV-2_INSERT_33 1 + +NC_045512.2 10099 10465 SARS-CoV-2_INSERT_34 2 + +NC_045512.2 10419 10785 SARS-CoV-2_INSERT_35 1 + +NC_045512.2 10742 11092 SARS-CoV-2_INSERT_36 2 + +NC_045512.2 11023 11388 SARS-CoV-2_INSERT_37 1 + +NC_045512.2 11330 11689 SARS-CoV-2_INSERT_38 2 + +NC_045512.2 11651 12011 SARS-CoV-2_INSERT_39 1 + +NC_045512.2 11963 12317 SARS-CoV-2_INSERT_40 2 + +NC_045512.2 12255 12618 SARS-CoV-2_INSERT_41 1 + +NC_045512.2 12546 12895 SARS-CoV-2_INSERT_42 2 + +NC_045512.2 12856 13218 SARS-CoV-2_INSERT_43 1 + +NC_045512.2 13148 13506 SARS-CoV-2_INSERT_44 2 + +NC_045512.2 13485 13833 SARS-CoV-2_INSERT_45 1 + +NC_045512.2 13775 14120 SARS-CoV-2_INSERT_46 2 + +NC_045512.2 14075 14428 SARS-CoV-2_INSERT_47 1 + +NC_045512.2 14362 14717 SARS-CoV-2_INSERT_48 2 + +NC_045512.2 14674 15023 SARS-CoV-2_INSERT_49 1 + +NC_045512.2 14983 15336 SARS-CoV-2_INSERT_50 2 + +NC_045512.2 15237 15596 SARS-CoV-2_INSERT_51 1 + +NC_045512.2 15557 15917 SARS-CoV-2_INSERT_52 2 + +NC_045512.2 15881 16239 SARS-CoV-2_INSERT_53 1 + +NC_045512.2 16137 16483 SARS-CoV-2_INSERT_54 2 + +NC_045512.2 16408 16767 SARS-CoV-2_INSERT_55 1 + +NC_045512.2 16714 17082 SARS-CoV-2_INSERT_56 2 + +NC_045512.2 17013 17381 SARS-CoV-2_INSERT_57 1 + +NC_045512.2 17345 17688 SARS-CoV-2_INSERT_58 2 + +NC_045512.2 17642 17997 SARS-CoV-2_INSERT_59 1 + +NC_045512.2 17939 18307 SARS-CoV-2_INSERT_60 2 + +NC_045512.2 18267 18624 SARS-CoV-2_INSERT_61 1 + +NC_045512.2 18578 18936 SARS-CoV-2_INSERT_62 2 + +NC_045512.2 18891 19252 SARS-CoV-2_INSERT_63 1 + +NC_045512.2 19208 19558 SARS-CoV-2_INSERT_64 2 + +NC_045512.2 19513 19877 SARS-CoV-2_INSERT_65 1 + +NC_045512.2 19836 20186 SARS-CoV-2_INSERT_66 2 + +NC_045512.2 20117 20472 SARS-CoV-2_INSERT_67 1 + +NC_045512.2 20405 20766 SARS-CoV-2_INSERT_68 2 + +NC_045512.2 20699 21050 SARS-CoV-2_INSERT_69 1 + +NC_045512.2 21013 21358 SARS-CoV-2_INSERT_70 2 + +NC_045512.2 21316 21675 SARS-CoV-2_INSERT_71 1 + +NC_045512.2 21561 21904 SARS-CoV-2_INSERT_72 2 + +NC_045512.2 21889 22247 SARS-CoV-2_INSERT_73 1 + +NC_045512.2 22113 22474 SARS-CoV-2_INSERT_74 2 + +NC_045512.2 22428 22785 SARS-CoV-2_INSERT_75 1 + +NC_045512.2 22774 23028 SARS-CoV-2_INSERT_76 2 + +NC_045512.2 22974 23327 SARS-CoV-2_INSERT_77 1 + +NC_045512.2 23246 23611 SARS-CoV-2_INSERT_78 2 + +NC_045512.2 23575 23914 SARS-CoV-2_INSERT_79 1 + +NC_045512.2 23876 24233 SARS-CoV-2_INSERT_80 2 + +NC_045512.2 24194 24545 SARS-CoV-2_INSERT_81 1 + +NC_045512.2 24448 24814 SARS-CoV-2_INSERT_82 2 + +NC_045512.2 24772 25122 SARS-CoV-2_INSERT_83 1 + +NC_045512.2 25076 25438 SARS-CoV-2_INSERT_84 2 + +NC_045512.2 25353 25711 SARS-CoV-2_INSERT_85 1 + +NC_045512.2 25672 26026 SARS-CoV-2_INSERT_86 2 + +NC_045512.2 25979 26338 SARS-CoV-2_INSERT_87 1 + +NC_045512.2 26277 26635 SARS-CoV-2_INSERT_88 2 + +NC_045512.2 26621 26956 SARS-CoV-2_INSERT_89 1 + +NC_045512.2 26895 27218 SARS-CoV-2_INSERT_90 2 + +NC_045512.2 27177 27534 SARS-CoV-2_INSERT_91 1 + +NC_045512.2 27473 27826 SARS-CoV-2_INSERT_92 2 + +NC_045512.2 27726 28082 SARS-CoV-2_INSERT_93 1 + +NC_045512.2 28021 28394 SARS-CoV-2_INSERT_94 2 + +NC_045512.2 28214 28572 SARS-CoV-2_INSERT_95 1 + +NC_045512.2 28536 28893 SARS-CoV-2_INSERT_96 2 + +NC_045512.2 28849 29206 SARS-CoV-2_INSERT_97 1 + +NC_045512.2 29161 29512 SARS-CoV-2_INSERT_98 2 + +NC_045512.2 29475 29827 SARS-CoV-2_INSERT_99 1 + diff --git a/resources/setup_emergence_new_variant/resources/SARS-CoV-2.insert.reduced.250bp.bed b/resources/setup_emergence_new_variant/resources/SARS-CoV-2.insert.reduced.250bp.bed new file mode 100644 index 0000000..5e9861d --- /dev/null +++ b/resources/setup_emergence_new_variant/resources/SARS-CoV-2.insert.reduced.250bp.bed @@ -0,0 +1,11 @@ +NC_045512.2 9805 10055 SARS-CoV-2_INSERT_33 1 + +NC_045512.2 11963 12213 SARS-CoV-2_INSERT_40 2 + +NC_045512.2 12067 12317 SARS-CoV-2_INSERT_40 2 + +NC_045512.2 22774 23028 SARS-CoV-2_INSERT_76 2 + +NC_045512.2 22974 23224 SARS-CoV-2_INSERT_77 1 + +NC_045512.2 26621 26871 SARS-CoV-2_INSERT_89 1 + +NC_045512.2 26706 26956 SARS-CoV-2_INSERT_89 1 + +NC_045512.2 27177 27427 SARS-CoV-2_INSERT_91 1 + +NC_045512.2 27284 27534 SARS-CoV-2_INSERT_91 1 + +NC_045512.2 27726 27976 SARS-CoV-2_INSERT_93 1 + +NC_045512.2 27832 28082 SARS-CoV-2_INSERT_93 1 + diff --git a/resources/setup_emergence_new_variant/resources/SARS-CoV-2.insert.reduced.bed b/resources/setup_emergence_new_variant/resources/SARS-CoV-2.insert.reduced.bed new file mode 100644 index 0000000..97f21e2 --- /dev/null +++ b/resources/setup_emergence_new_variant/resources/SARS-CoV-2.insert.reduced.bed @@ -0,0 +1,12 @@ +NC_045512.2 9805 10150 SARS-CoV-2_INSERT_33 1 + +NC_045512.2 11963 12317 SARS-CoV-2_INSERT_40 2 + +NC_045512.2 21561 21904 SARS-CoV-2_INSERT_72 2 + +NC_045512.2 22774 23028 SARS-CoV-2_INSERT_76 2 + +NC_045512.2 22974 23327 SARS-CoV-2_INSERT_77 1 + +NC_045512.2 26277 26635 SARS-CoV-2_INSERT_88 2 + +NC_045512.2 26621 26956 SARS-CoV-2_INSERT_89 1 + +NC_045512.2 27177 27534 SARS-CoV-2_INSERT_91 1 + +NC_045512.2 27726 28082 SARS-CoV-2_INSERT_93 1 + +NC_045512.2 28536 28893 SARS-CoV-2_INSERT_96 2 + +NC_045512.2 28849 29206 SARS-CoV-2_INSERT_97 1 + +NC_045512.2 29475 29827 SARS-CoV-2_INSERT_99 1 + diff --git a/resources/setup_emergence_new_variant/run_workflow.sh b/resources/setup_emergence_new_variant/run_workflow.sh index 168d302..9868486 100644 --- a/resources/setup_emergence_new_variant/run_workflow.sh +++ b/resources/setup_emergence_new_variant/run_workflow.sh @@ -7,6 +7,8 @@ sbatch \ snakemake \ --profile profile_simple/ \ --rerun-incomplete \ + --keep-incomplete \ + --rerun-triggers mtime \ -pr \ --cores 200 \ --use-conda \ diff --git a/resources/setup_emergence_new_variant/workflow/Snakefile b/resources/setup_emergence_new_variant/workflow/Snakefile index a303bda..7f41aec 100644 --- a/resources/setup_emergence_new_variant/workflow/Snakefile +++ b/resources/setup_emergence_new_variant/workflow/Snakefile @@ -16,15 +16,14 @@ use rule * from wastewater_processing as ww_* rule all: input: - [ f"results/{sample}/variant_calling/snv/cooccurring_mutations.csv" - for sample in wastewater_processing.all_samples - ], + f"results/all_cooccurring_mutations.csv", + f"results/samples.all_coverage.csv", default_target: True # other output use rule run_viloca from wastewater_processing as wastewater_processing_run_viloca with: input: - fname_bam=f"results/{{sample}}/alignment/REF_aln.merged.bam", + fname_bam=f"results/{{sample}}/alignment/REF_aln.bam", fname_reference=wastewater_processing.config["fname_reference"], fname_insert_bed=wastewater_processing.config["fname_insert_bed"], fname_bad_samples=f"results/samples.bad_coverage.csv", @@ -38,5 +37,35 @@ use rule run_viloca from wastewater_processing as wastewater_processing_run_vilo sample= lambda wc: wc.get("sample") resources: mem_mb=100000, - runtime=5760, + runtime=7200, threads=20, + + +rule collect_cooccurring_mutations: + input: + fnames_csv=[ f"results/{sample}/variant_calling/snv/cooccurring_mutations.csv" + for sample in wastewater_processing.all_samples + if os.path.isfile(f"results/{sample}/variant_calling/snv/cooccurring_mutations.csv") + ], + output: + fname_csv=f"results/all_cooccurring_mutations.csv", + conda: + "envs/collect_mutations.yaml" + script: + "./scripts/collect_mutations.py" + + +rule collect_coverage: + input: + fnames_coverage=[ + f"results/{sample}/alignment/coverage.tsv" + for sample in wastewater_processing.all_samples + ], + output: + fname_all_coverage=f"results/samples.all_coverage.csv", + params: + samples=wastewater_processing.all_samples, + conda: + "../../../workflow/envs/annotate_vcf.yaml" + script: + "./scripts/collect_coverage.py" diff --git a/resources/setup_emergence_new_variant/workflow/envs/collect_mutations.yaml b/resources/setup_emergence_new_variant/workflow/envs/collect_mutations.yaml new file mode 100644 index 0000000..d45eb61 --- /dev/null +++ b/resources/setup_emergence_new_variant/workflow/envs/collect_mutations.yaml @@ -0,0 +1,7 @@ +channels: + - conda-forge + - bioconda + - defaults +dependencies: + - python>=3.9.0 + - pandas==1.5.0 diff --git a/resources/setup_emergence_new_variant/workflow/notebooks/rise_of_ba.5.ipynb b/resources/setup_emergence_new_variant/workflow/notebooks/rise_of_ba.5.ipynb new file mode 100644 index 0000000..d482e58 --- /dev/null +++ b/resources/setup_emergence_new_variant/workflow/notebooks/rise_of_ba.5.ipynb @@ -0,0 +1,955 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "3e65ceea", + "metadata": {}, + "source": [ + "Load mutation profile defintion for Omicron BA.2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c42223b0", + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "wget https://github.com/cbg-ethz/cojac/raw/dev/voc/omicron_ba2_mutations_full.yaml" + ] + }, + { + "cell_type": "markdown", + "id": "6587fad3", + "metadata": {}, + "source": [ + "Load mutation profile defintion for Omicron BA.2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c4f8b8a8", + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "wget https://github.com/cbg-ethz/cojac/raw/dev/voc/omicron_ba5_mutations_full.yaml" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "e263268e", + "metadata": {}, + "outputs": [], + "source": [ + "import yaml\n", + "import numpy as np\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "markdown", + "id": "4bef4446", + "metadata": {}, + "source": [ + "## Load BA.2 and BA.5 mutations" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "2300ccab", + "metadata": {}, + "outputs": [], + "source": [ + "# load mutations \n", + "\n", + "with open('omicron_ba2_mutations_full.yaml', 'r') as f:\n", + " ba2_muts = yaml.safe_load(f)\n", + "f.close()\n", + "\n", + "with open('omicron_ba5_mutations_full.yaml', 'r') as f:\n", + " ba5_muts = yaml.safe_load(f)\n", + "f.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "2d3aee06", + "metadata": {}, + "outputs": [], + "source": [ + "all_ba2_pos = set(list(ba2_muts['mut'].keys()) + list(ba2_muts['shared'].keys()))\n", + "all_ba5_pos = set(list(ba5_muts['mut'].keys()) + list(ba5_muts['shared'].keys()))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "88c4d52f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "only BA.2: 5\n", + "{23040, 9866, 26858, 27382, 27259}\n", + "only BA.5: 9\n", + "{12160, 26529, 21765, 22917, 29734, 23018, 27889, 28882, 28883}\n" + ] + } + ], + "source": [ + "only_ba2 = all_ba2_pos - all_ba5_pos\n", + "print(\"only BA.2:\", len(only_ba2))\n", + "print(only_ba2)\n", + "\n", + "only_ba5 = all_ba5_pos - all_ba2_pos\n", + "print(\"only BA.5:\", len(only_ba5))\n", + "print(only_ba5)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "de0c66b6", + "metadata": {}, + "outputs": [], + "source": [ + "df_muts_def = pd.DataFrame(columns=['position', 'BA.2'])\n", + "df_tmp = pd.DataFrame(columns=['position', 'BA.5'])\n", + "\n", + "df_muts_def['position'] = list(ba2_muts['mut'].keys()) + list(ba2_muts['shared'].keys())\n", + "df_muts_def['BA.2']=1\n", + "\n", + "df_tmp['position'] = list(ba5_muts['mut'].keys()) + list(ba5_muts['shared'].keys())\n", + "df_tmp['BA.5']=1\n", + "\n", + "df_muts_def = pd.merge(df_muts_def, df_tmp, left_on=\"position\", right_on='position', how='outer')\n", + "df_muts_def = df_muts_def.fillna(0)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "63c68d76", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
positionBA.2BA.5
06701.01.0
127901.01.0
241841.01.0
343211.01.0
494241.01.0
............
69278890.01.0
70121600.01.0
71288820.01.0
72288830.01.0
73297340.01.0
\n", + "

74 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " position BA.2 BA.5\n", + "0 670 1.0 1.0\n", + "1 2790 1.0 1.0\n", + "2 4184 1.0 1.0\n", + "3 4321 1.0 1.0\n", + "4 9424 1.0 1.0\n", + ".. ... ... ...\n", + "69 27889 0.0 1.0\n", + "70 12160 0.0 1.0\n", + "71 28882 0.0 1.0\n", + "72 28883 0.0 1.0\n", + "73 29734 0.0 1.0\n", + "\n", + "[74 rows x 3 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_muts_def" + ] + }, + { + "cell_type": "markdown", + "id": "8514cc34", + "metadata": {}, + "source": [ + "## Positions of mutations that are unique to either BA.2 or BA.5" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "781b615d", + "metadata": {}, + "outputs": [], + "source": [ + "positions_of_interest = only_ba2.union(only_ba5) " + ] + }, + { + "cell_type": "markdown", + "id": "afa14c8a", + "metadata": {}, + "source": [ + "## Load sample information - location and date" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "3e60a3a5", + "metadata": {}, + "outputs": [], + "source": [ + "# map sample name to location and date \n", + "\n", + "fname_sample_names = \"../../../../resources/timeline.tsv\"\n", + "\n", + "df_mapping = pd.read_csv(fname_sample_names, sep=\"\\t\")\n", + "df_mapping['my_sample_name'] = df_mapping[\"sample\"] + \"/\"+df_mapping[\"batch\"]\n", + "\n", + "def f_sample2location(row):\n", + " samplename = row['sample']\n", + " \n", + " location = df_mapping[df_mapping['my_sample_name']==samplename]['location'].values[0] \n", + " return location\n", + "\n", + "def f_sample2date(row):\n", + " samplename = row['sample']\n", + " date = df_mapping[df_mapping['my_sample_name']==samplename]['date'].values[0]\n", + " \n", + " return date" + ] + }, + { + "cell_type": "markdown", + "id": "b59af107", + "metadata": {}, + "source": [ + "## Load co-occ mutations" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "33b5d389", + "metadata": {}, + "outputs": [], + "source": [ + "# import co-occ mutations \n", + "\n", + "df_cocc = pd.read_csv(\"../../results/all_cooccurring_mutations.csv\")\n", + "df_cocc = df_cocc[['haplotype_id', 'start', 'end', 'coverage', 'position', 'ref', 'var', 'freq', 'support',\n", + " 'sample']]\n", + "\n", + "# map sample name to location and date \n", + "#df_cocc['location'] = df_cocc.apply(f_sample2location, axis=1)\n", + "df_cocc['date'] = df_cocc.apply(f_sample2date, axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "6857e30c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['2022-04-07', '2022-04-14', '2022-04-21', '2022-04-28',\n", + " '2022-05-05', '2022-05-12', '2022-04-01', '2022-04-08',\n", + " '2022-04-15', '2022-04-22', '2022-04-29', '2022-05-06',\n", + " '2022-05-13', '2022-04-02', '2022-04-09', '2022-04-23',\n", + " '2022-04-30', '2022-05-07', '2022-05-14', '2022-05-30',\n", + " '2022-05-16', '2022-04-03', '2022-04-17', '2022-04-24',\n", + " '2022-05-01', '2022-05-08', '2022-05-15', '2022-04-04',\n", + " '2022-04-11', '2022-04-18', '2022-04-25', '2022-05-09',\n", + " '2022-04-05', '2022-04-12', '2022-04-19', '2022-04-26',\n", + " '2022-05-10', '2022-04-06', '2022-04-13', '2022-04-20',\n", + " '2022-04-27', '2022-05-04', '2022-05-11', '2022-05-18',\n", + " '2022-06-02', '2022-06-09', '2022-06-03', '2022-06-10',\n", + " '2022-06-17', '2022-06-24', '2022-06-04', '2022-06-11',\n", + " '2022-06-25', '2022-06-05', '2022-06-12', '2022-06-26',\n", + " '2022-06-06', '2022-06-13', '2022-06-20', '2022-06-07',\n", + " '2022-06-14', '2022-06-21', '2022-06-01', '2022-06-08',\n", + " '2022-06-15', '2022-06-29'], dtype=object)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_cocc['date'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "5099ed6f", + "metadata": {}, + "outputs": [], + "source": [ + "df_cocc[\"mutation_id\"] = df_cocc[\"ref\"] + df_cocc[\"position\"].astype(str) + df_cocc[\"var\"]" + ] + }, + { + "cell_type": "markdown", + "id": "7693eb41", + "metadata": {}, + "source": [ + "## load coverage" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "a4061c8b", + "metadata": {}, + "outputs": [], + "source": [ + "df_coverage = pd.read_csv(\"../../results/samples.all_coverage.csv\")\n", + "df_coverage = df_coverage[df_coverage['pos'].isin(list(only_ba5) + list(only_ba2))]\n", + "df_coverage['date'] = df_coverage.apply(f_sample2date, axis=1)" + ] + }, + { + "cell_type": "markdown", + "id": "7ddb18a1", + "metadata": {}, + "source": [ + "## plotting" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "e75504f3", + "metadata": {}, + "outputs": [], + "source": [ + "df_res = df_cocc[df_cocc['position'].isin(df_muts_def['position'])]\n", + "df_res = pd.merge(df_res, df_muts_def, left_on = 'position', right_on = 'position', how='left')\n", + "\n", + "def get_mutation_label(row):\n", + " if (row['BA.5'] == 0) & (row['BA.2'] == 1):\n", + " return row['mutation_id'] + \" (BA.2)\"\n", + " if (row['BA.2'] == 0) & (row['BA.5'] == 1):\n", + " return row['mutation_id'] + \" (BA.5)\"\n", + "\n", + "df_res['mutation_label'] = df_res.apply(get_mutation_label, axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "1dfd7b6e", + "metadata": {}, + "outputs": [], + "source": [ + "df_res = df_res.drop_duplicates()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "f91f0a65", + "metadata": {}, + "outputs": [], + "source": [ + "# list of mutation labels that should be drop since nothing happens there \n", + "\n", + "drop_mutation = ['A23040T (BA.2)',\n", + " 'A27259T (BA.2)',\n", + " 'G27382T (BA.2)',\n", + " 'G27382A (BA.2)',\n", + " 'T21765C (BA.5)',\n", + " 'T22917A (BA.5)',\n", + " 'T22917C (BA.5)',\n", + " 'T23018A (BA.5)',\n", + " 'G26529A (BA.5)',\n", + " 'G28883A (BA.5)',\n", + " 'G28883T (BA.5)',\n", + " 'G28883C (BA.5)',\n", + " 'G28882A (BA.5)', \n", + " 'G12160T (BA.5)'\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "3753cefc", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "data = df_res[['freq', 'mutation_label', 'date', 'position', \"BA.5\"]]\n", + "data = data[data['position'].isin(list(only_ba5) + list(only_ba2))]\n", + "data = data[~data['mutation_label'].isin(drop_mutation)]\n", + "\n", + "drop_early_dates = ['2022-04-01', '2022-04-02', '2022-04-03', '2022-04-04', '2022-04-05', '2022-04-06',\n", + " '2022-04-07', '2022-04-08', '2022-04-09', '2022-04-10', '2022-04-11']\n", + "data = data[~data['date'].isin(drop_early_dates)]\n", + "\n", + "\n", + "orders = data.sort_values(['BA.5', 'position'])['mutation_label'].unique()\n", + "\n", + "data = data.pivot_table(index=['mutation_label', 'position'], \n", + " values='freq',\n", + " columns='date',\n", + " fill_value=0,\n", + " ).reset_index()\n", + "\n", + "data = pd.melt(data, \n", + " id_vars=['mutation_label', 'position'], \n", + " var_name='date', \n", + " value_name='freq')\n", + "\n", + "data = pd.merge(data, df_coverage[['pos', 'date', 'coverage']], \n", + " left_on = ['date', 'position'], \n", + " right_on= ['date', 'pos'])\n", + "\n", + "data.loc[data['coverage']<1, 'freq'] = np.nan\n", + "\n", + "import numpy as np\n", + "data = data.pivot_table(index='mutation_label', \n", + " values='freq', \n", + " columns='date',\n", + " #aggfunc=lambda x: np.log10(x),\n", + " ).reindex(index=orders)\n", + "\n", + "sns.set(font_scale=2.0)\n", + "\n", + "fig = plt.figure(figsize = (30, 12))\n", + "\n", + "ax = fig.add_subplot(111)\n", + "\n", + "import matplotlib as mpl\n", + "cmap = mpl.cm.get_cmap(\"RdPu\").copy()\n", + "cmap.set_under(color='white')\n", + "\n", + "sns.heatmap(data,\n", + " cmap=cmap,\n", + " vmin=0.000001,\n", + " ax=ax)\n", + "\n", + "ax.set_ylabel('')\n", + "ax.set_xlabel('sample collection date')\n", + "\n", + "fig.tight_layout()\n", + "\n", + "fig.savefig('heatmap_freq_ba2_ba5_specific_mutations.pdf')" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "4094f155", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
date2022-04-122022-04-132022-04-142022-04-152022-04-172022-04-182022-04-192022-04-202022-04-212022-04-22...2022-06-132022-06-142022-06-152022-06-172022-06-202022-06-212022-06-242022-06-252022-06-262022-06-29
mutation_label
C9866T (BA.2)0.9870741.01.01.0000001.01.01.01.0000000.9540651.0...0.2142860.2452830.1521740.0769230.2000000.0000000.2708330.1388890.2058820.058824
A23040G (BA.2)1.0000000.00.00.0000001.00.00.00.0000000.0000000.0...0.1712710.0000000.2485030.1603050.0000000.1428570.1491800.0671720.0000000.063253
C26858T (BA.2)NaN0.0NaNNaNNaNNaNNaNNaNNaNNaN...0.2831800.3087000.2421610.0000000.1818180.1409270.1518930.2053340.0000000.146454
A27259C (BA.2)0.0000001.00.01.0000001.00.01.01.0000000.0000001.0...0.2015840.1739840.1900660.2429970.1308720.0000000.1190280.1431320.0000000.127151
G27382C (BA.2)0.9880151.01.00.9834711.01.01.01.0000001.0000001.0...0.1439880.1349590.1450330.1505600.0838930.0000000.0804690.1008650.0000000.066737
G12160A (BA.5)0.0000000.00.00.0000000.00.00.00.0156680.0000000.0...0.7571660.9001440.8416890.0000000.9369670.9478260.9158420.9128330.0000000.895637
T22917G (BA.5)NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...0.7338130.8169640.6688450.7496210.8062500.0000000.9136490.8996090.9863250.930435
T23018G (BA.5)0.0000000.00.00.0000000.00.00.00.0000000.0000000.0...0.8172420.8571430.7305940.7752990.9406250.8571430.8846070.9157360.9803420.935330
C27889T (BA.5)0.0000000.00.00.0000000.00.00.00.0000000.0000000.0...0.7187100.7374010.6860300.6729410.6852790.9285710.8930480.7900170.8459300.811148
\n", + "

9 rows × 56 columns

\n", + "
" + ], + "text/plain": [ + "date 2022-04-12 2022-04-13 2022-04-14 2022-04-15 2022-04-17 \\\n", + "mutation_label \n", + "C9866T (BA.2) 0.987074 1.0 1.0 1.000000 1.0 \n", + "A23040G (BA.2) 1.000000 0.0 0.0 0.000000 1.0 \n", + "C26858T (BA.2) NaN 0.0 NaN NaN NaN \n", + "A27259C (BA.2) 0.000000 1.0 0.0 1.000000 1.0 \n", + "G27382C (BA.2) 0.988015 1.0 1.0 0.983471 1.0 \n", + "G12160A (BA.5) 0.000000 0.0 0.0 0.000000 0.0 \n", + "T22917G (BA.5) NaN NaN NaN NaN NaN \n", + "T23018G (BA.5) 0.000000 0.0 0.0 0.000000 0.0 \n", + "C27889T (BA.5) 0.000000 0.0 0.0 0.000000 0.0 \n", + "\n", + "date 2022-04-18 2022-04-19 2022-04-20 2022-04-21 2022-04-22 \\\n", + "mutation_label \n", + "C9866T (BA.2) 1.0 1.0 1.000000 0.954065 1.0 \n", + "A23040G (BA.2) 0.0 0.0 0.000000 0.000000 0.0 \n", + "C26858T (BA.2) NaN NaN NaN NaN NaN \n", + "A27259C (BA.2) 0.0 1.0 1.000000 0.000000 1.0 \n", + "G27382C (BA.2) 1.0 1.0 1.000000 1.000000 1.0 \n", + "G12160A (BA.5) 0.0 0.0 0.015668 0.000000 0.0 \n", + "T22917G (BA.5) NaN NaN NaN NaN NaN \n", + "T23018G (BA.5) 0.0 0.0 0.000000 0.000000 0.0 \n", + "C27889T (BA.5) 0.0 0.0 0.000000 0.000000 0.0 \n", + "\n", + "date ... 2022-06-13 2022-06-14 2022-06-15 2022-06-17 \\\n", + "mutation_label ... \n", + "C9866T (BA.2) ... 0.214286 0.245283 0.152174 0.076923 \n", + "A23040G (BA.2) ... 0.171271 0.000000 0.248503 0.160305 \n", + "C26858T (BA.2) ... 0.283180 0.308700 0.242161 0.000000 \n", + "A27259C (BA.2) ... 0.201584 0.173984 0.190066 0.242997 \n", + "G27382C (BA.2) ... 0.143988 0.134959 0.145033 0.150560 \n", + "G12160A (BA.5) ... 0.757166 0.900144 0.841689 0.000000 \n", + "T22917G (BA.5) ... 0.733813 0.816964 0.668845 0.749621 \n", + "T23018G (BA.5) ... 0.817242 0.857143 0.730594 0.775299 \n", + "C27889T (BA.5) ... 0.718710 0.737401 0.686030 0.672941 \n", + "\n", + "date 2022-06-20 2022-06-21 2022-06-24 2022-06-25 2022-06-26 \\\n", + "mutation_label \n", + "C9866T (BA.2) 0.200000 0.000000 0.270833 0.138889 0.205882 \n", + "A23040G (BA.2) 0.000000 0.142857 0.149180 0.067172 0.000000 \n", + "C26858T (BA.2) 0.181818 0.140927 0.151893 0.205334 0.000000 \n", + "A27259C (BA.2) 0.130872 0.000000 0.119028 0.143132 0.000000 \n", + "G27382C (BA.2) 0.083893 0.000000 0.080469 0.100865 0.000000 \n", + "G12160A (BA.5) 0.936967 0.947826 0.915842 0.912833 0.000000 \n", + "T22917G (BA.5) 0.806250 0.000000 0.913649 0.899609 0.986325 \n", + "T23018G (BA.5) 0.940625 0.857143 0.884607 0.915736 0.980342 \n", + "C27889T (BA.5) 0.685279 0.928571 0.893048 0.790017 0.845930 \n", + "\n", + "date 2022-06-29 \n", + "mutation_label \n", + "C9866T (BA.2) 0.058824 \n", + "A23040G (BA.2) 0.063253 \n", + "C26858T (BA.2) 0.146454 \n", + "A27259C (BA.2) 0.127151 \n", + "G27382C (BA.2) 0.066737 \n", + "G12160A (BA.5) 0.895637 \n", + "T22917G (BA.5) 0.930435 \n", + "T23018G (BA.5) 0.935330 \n", + "C27889T (BA.5) 0.811148 \n", + "\n", + "[9 rows x 56 columns]" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "671c57a4", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resources/setup_emergence_new_variant/workflow/scripts/collect_coverage.py b/resources/setup_emergence_new_variant/workflow/scripts/collect_coverage.py new file mode 100644 index 0000000..bfcc24d --- /dev/null +++ b/resources/setup_emergence_new_variant/workflow/scripts/collect_coverage.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 + +import pandas as pd + + +def main(fnames_coverage, samples, fname_all_coverage): + + tmp = [] + + for file, sample in zip(fnames_coverage, samples): + df = pd.read_csv(file, sep='\t') + df['coverage'] = df[sample] + df['sample'] = sample + + tmp.append(df[['pos', 'coverage', 'sample']]) + + pd.concat(tmp).to_csv(fname_all_coverage) + + +if __name__ == "__main__": + main( + snakemake.input.fnames_coverage, + snakemake.params.samples, + snakemake.output.fname_all_coverage, + ) diff --git a/resources/setup_emergence_new_variant/workflow/scripts/collect_mutations.py b/resources/setup_emergence_new_variant/workflow/scripts/collect_mutations.py new file mode 100644 index 0000000..afe7df0 --- /dev/null +++ b/resources/setup_emergence_new_variant/workflow/scripts/collect_mutations.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +""" +Script aggregating co-occurring mutations from all samples. +""" +import pandas as pd + +def main(fnames_csv, fname_cooccurring_mutations_csv): + + tmp = [] + + for fname_csv in fnames_csv: + + sample = fname_csv.split("results/")[1].split("/variant_calling/snv/")[0] + + df_tmp = pd.read_csv(fname_csv) + df_tmp['sample'] = sample + + tmp.append(df_tmp) + + merged_csv = pd.concat( tmp ) + merged_csv.to_csv(fname_cooccurring_mutations_csv) + +if __name__ == "__main__": + main( + snakemake.input.fnames_csv, + snakemake.output.fname_csv, + ) diff --git a/workflow/envs/viloca.yaml b/workflow/envs/viloca.yaml index 2449462..fff95a2 100644 --- a/workflow/envs/viloca.yaml +++ b/workflow/envs/viloca.yaml @@ -9,4 +9,4 @@ dependencies: - pandas - pip - pip: - - git+https://github.com/LaraFuhrmann/shorah@master + - git+https://github.com/cbg-ethz/VILOCA@check_exitcode_multipro diff --git a/workflow/scripts/run_viloca.py b/workflow/scripts/run_viloca.py index 17167a9..9337af8 100644 --- a/workflow/scripts/run_viloca.py +++ b/workflow/scripts/run_viloca.py @@ -24,8 +24,8 @@ def main(fname_bam, fname_reference, fname_insert_bed, fname_results_snv, dname_ subprocess.run( [ - "shorah", - "shotgun", + "viloca", + "run", "-b", fname_bam.resolve(), "-f", @@ -38,6 +38,8 @@ def main(fname_bam, fname_reference, fname_insert_bed, fname_results_snv, dname_ str(n_max_haplotypes), "--n_mfa_starts", str(n_mfa_starts), + #'--exclude_non_var_pos_threshold', + #str(0.001), "-z", fname_insert_bed.resolve(), # amplicon mode doesn't work because we couldn't merge reverse and forward reads #"-w",