######## snakemake preamble start (automatically inserted, do not edit) ########
-import sys; sys.path.extend(['/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example/..', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/bin', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/lib-dynload', '/home/jbloom/.local/lib/python3.11/site-packages', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/home/jbloom/.cache/snakemake/snakemake/source-cache/runtime-cache/tmpokpo7nbb/file/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks']); import pickle; snakemake = pickle.loads(b'\x80\x04\x95\xb4 \x00\x00\x00\x00\x00\x00\x8c\x10snakemake.script\x94\x8c\tSnakemake\x94\x93\x94)\x81\x94}\x94(\x8c\x05input\x94\x8c\x0csnakemake.io\x94\x8c\nInputFiles\x94\x93\x94)\x81\x94\x8c*results/plates/H3N2_plate/curvefits.pickle\x94a}\x94(\x8c\x06_names\x94}\x94\x8c\x07pickles\x94K\x00K\x01\x86\x94s\x8c\x12_allowed_overrides\x94]\x94(\x8c\x05index\x94\x8c\x04sort\x94eh\x12\x8c\tfunctools\x94\x8c\x07partial\x94\x93\x94h\x06\x8c\x19Namedlist._used_attribute\x94\x93\x94\x85\x94R\x94(h\x18)}\x94\x8c\x05_name\x94h\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\x0eh\x06\x8c\tNamedlist\x94\x93\x94)\x81\x94h\na}\x94(h\x0c}\x94h\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bubub\x8c\x06output\x94h\x06\x8c\x0bOutputFiles\x94\x93\x94)\x81\x94(\x8c6results/sera/A23038d0_r32_75K/titers_per_replicate.csv\x94\x8c(results/sera/A23038d0_r32_75K/titers.csv\x94\x8c(results/sera/A23038d0_r32_75K/curves.pdf\x94\x8c.results/sera/A23038d0_r32_75K/curvefits.pickle\x94\x8c*results/sera/A23038d0_r32_75K/qc_drops.yml\x94e}\x94(h\x0c}\x94(\x8c\x0eper_rep_titers\x94K\x00N\x86\x94\x8c\x06titers\x94K\x01N\x86\x94\x8c\ncurves_pdf\x94K\x02N\x86\x94\x8c\x06pickle\x94K\x03N\x86\x94\x8c\x08qc_drops\x94K\x04N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh;h4h=h5h?h6hAh7hCh8ub\x8c\x06params\x94h\x06\x8c\x06Params\x94\x93\x94)\x81\x94(]\x94(\x8c\x14A/California/07/2009\x94\x8c\x12A/Michigan/45/2015\x94\x8c\x12A/Brisbane/02/2018\x94\x8c\x11A/Ghana/2080/2020\x94\x8c\x18A/Cote_DIvoire/1448/2021\x94\x8c\x10A/Ghana/138/2020\x94\x8c\x0fA/Togo/845/2020\x94\x8c\x10A/Togo/0274/2021\x94\x8c\x10A/Hawaii/70/2019\x94\x8c\x12A/Niger/10217/2021\x94\x8c\x19A/SouthAfrica/R16462/2021\x94\x8c\x10A/Togo/0304/2021\x94\x8c\x12A/Paris/31196/2021\x94\x8c\x14A/Belgium/H0017/2022\x94\x8c\x18A/England/220200318/2022\x94\x8c\x12A/Paris/30353/2021\x94\x8c\x10A/Nimes/871/2021\x94\x8c\x14A/Belgium/H0038/2022\x94\x8c\x14A/Wisconsin/588/2019\x94\x8c\x14A/Washington/23/2020\x94\x8c\x1aA/India/Pun-NIV312851/2021\x94\x8c\x1aA/India-PUN-NIV328484/2021\x94\x8c\x16A/Bangladesh/8036/2021\x94\x8c\x0eA/Perth/1/2022\x94\x8c\x19A/SouthAfrica/R14850/2021\x94\x8c\x13A/Norway/25089/2022\x94\x8c\x1cA/Bangladesh/3210810034/2021\x94\x8c\x13A/Chester/5355/2022\x94\x8c\x12A/Michigan/19/2021\x94\x8c\x0eA/Utah/27/2022\x94\x8c\x12A/Newcastle/2/2022\x94\x8c\x1fA/India-Pune-Nivcov2221170/2022\x94\x8c\x10A/Sydney/43/2022\x94\x8c\x12A/Brisbane/48/2022\x94\x8c\x16A/Bangladesh/8002/2021\x94\x8c\x16A/Bangladesh/2221/2021\x94\x8c\x06strain\x94\x8c\x0fA/Texas/50/2012\x94\x8c\x1fA/Texas/50/2012_X-223A_(13/252)\x94\x8c\x1aA/Switzerland/9715293/2013\x94\x8c!A/Switzerland/9715293/2013_NIB-88\x94\x8c\x10A/Kansas/14/2017\x94\x8c\x16A/Kansas/14/2017_X-327\x94\x8c\x15A/Hong_Kong/4801/2014\x94\x8c\x1eA/Hong_Kong/4801/2014_(15/192)\x94\x8c\x1fA/Singapore/INFIMH-16-0019/2016\x94\x8c&A/Singapore/INFIMH-16-0019/2016_X-307A\x94\x8c\x13A/Hong_Kong/45/2019\x94\x8c\x15A/Hong_Kong/2671/2019\x94\x8c\x18A/Cambodia/e0826360/2020\x94\x8c\x1cA/Cambodia/e0826360/2020_egg\x94\x8c\x14A/TECPAN/017FLU/2023\x94\x8c\x1aA/South_Africa/R07073/2023\x94\x8c\x1aA/South_Africa/R06506/2023\x94\x8c\x1aA/South_Africa/R05384/2023\x94\x8c\x17A/Surat_Thani/P152/2023\x94\x8c\x10A/Jeju/1047/2023\x94\x8c\x16A/South_Dakota/22/2023\x94\x8c\x1bA/Schleswig-Holstein/4/2023\x94\x8c\x15A/Romania/543634/2022\x94\x8c\x0fA/EHIME/50/2023\x94\x8c\x16A/Luga/RII-11393S/2023\x94\x8c\x12A/YAMAGATA/98/2023\x94\x8c\x10A/SENDAI/45/2023\x94\x8c\x0fA/Darwin/9/2021\x94\x8c\x0fA/Darwin/6/2021\x94\x8c\x12A/Finland/391/2023\x94\x8c\x16A/KANAGAWA/IC2239/2023\x94\x8c\x16A/KANAGAWA/AC2316/2023\x94\x8c\x13A/Brisbane/429/2023\x94\x8c\x1aA/South_Africa/R06359/2023\x94\x8c\x11A/Busan/1301/2023\x94\x8c\x12A/Bhutan/0006/2023\x94\x8c\x1aA/Catalonia/2041146NS/2023\x94\x8c\x1bA/Bhutan/FLU-BTG-00988/2022\x94\x8c\x15A/SouthSudan/631/2023\x94\x8c\x15A/SouthSudan/642/2023\x94\x8c\x12A/Finland/399/2023\x94\x8c$A/Saint-Petersburg/RII-MH144113/2023\x94\x8c\x11A/Thailand/8/2022\x94\x8c\x18A/Netherlands/01685/2023\x94\x8c\x18A/Netherlands/01760/2023\x94\x8c\x1eA/Samut_Songkhram/THIS061/2023\x94\x8c\x14A/Bangkok/P3599/2023\x94\x8c\x16A/Massachusets/18/2022\x94\x8c\x15A/Abu_Dhabi/6753/2023\x94\x8c\x11A/Sydney/749/2023\x94\x8c\x11A/Georgia/40/2023\x94\x8c\x14A/California/81/2023\x94\x8c\x10A/Oman/3011/2023\x94\x8c\x1eA/Catalonia/NSVH102124476/2023\x94\x8c\x1fA/Saskatchewan/SKFLU317847/2023\x94\x8c\x14A/Krabi/THIS050/2023\x94\x8c\x14A/Victoria/1033/2023\x94\x8c\x1cA/SOUTH_AFRICA/R07876/202023\x94\x8c\x1bA/SouthAfrica/PET28931/2023\x94\x8c\x1aA/South_Africa/R07188/2023\x94\x8c\x1aA/South_Africa/R06477/2023\x94\x8c\x1aA/South_Africa/R05510/2023\x94\x8c\x1aA/South_Africa/R06240/2023\x94\x8c\x1bA/South_Africa/K056872/2023\x94\x8c\x1bA/South_Africa/KO56863/2023\x94\x8c\x14A/Townsville/68/2023\x94\x8c\x11A/Sydney/710/2023\x94\x8c\x13A/Wisconsin/27/2023\x94\x8c\x13A/Maldives/852/2023\x94\x8c\x19A/Chipata/15-NIC-001/2023\x94\x8c\x1cA/Malaysia/IMR-SARI1989/2023\x94\x8c\x1cA/Guangdong-Futian/1980/2023\x94\x8c\x11A/Sydney/715/2023\x94\x8c\x12A/Bhutan/0845/2023\x94\x8c\x19A/Solwezi/13-NIC-001/2023\x94\x8c\x11A/Sydney/332/2023\x94\x8c\x16A/Ontario/RV00796/2023\x94\x8c\x18A/Netherlands/01693/2023\x94\x8c\x14A/Bangkok/P3755/2023\x94e\x8c\x08midpoint\x94}\x94(\x8c\x0emin_replicates\x94K\x02\x8c\x1bmax_fold_change_from_median\x94K\x03\x8c\x11viruses_ignore_qc\x94]\x94ue}\x94(h\x0c}\x94(\x8c\x17viral_strain_plot_order\x94K\x00N\x86\x94\x8c\x0eserum_titer_as\x94K\x01N\x86\x94\x8c\rqc_thresholds\x94K\x02N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\xcfhRh\xd1h\xc7h\xd3h\xc8ub\x8c\twildcards\x94h\x06\x8c\tWildcards\x94\x93\x94)\x81\x94\x8c\x10A23038d0_r32_75K\x94a}\x94(h\x0c}\x94\x8c\x05serum\x94K\x00N\x86\x94sh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94b\x8c\x05serum\x94h\xe2ub\x8c\x07threads\x94K\x01\x8c\tresources\x94h\x06\x8c\tResources\x94\x93\x94)\x81\x94(K\x01K\x01\x8c\x04/tmp\x94e}\x94(h\x0c}\x94(\x8c\x06_cores\x94K\x00N\x86\x94\x8c\x06_nodes\x94K\x01N\x86\x94\x8c\x06tmpdir\x94K\x02N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\xf9K\x01h\xfbK\x01h\xfdh\xf6ub\x8c\x03log\x94h\x06\x8c\x03Log\x94\x93\x94)\x81\x94\x8c;results/sera/A23038d0_r32_75K/A23038d0_r32_75K_titers.ipynb\x94a}\x94(h\x0c}\x94\x8c\x08notebook\x94K\x00N\x86\x94sh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bj\x0f\x01\x00\x00j\x0c\x01\x00\x00ub\x8c\x06config\x94}\x94(\x8c\x10seqneut-pipeline\x94\x8c\x03../\x94\x8c\x04docs\x94\x8c\x07../docs\x94\x8c\x0bdescription\x94X\xba\x01\x00\x00# Test example for [seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nThis is a small toy-example created by subsetting a real experiment dataset.\n\nSee [https://github.com/jbloomlab/seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nfor the computer code and underlying numerical data.\n\nSee [here](https://github.com/jbloomlab/seqneut-pipeline/graphs/contributors) for a\nlist of all contributors to the pipeline.\n\x94\x8c\x0fviral_libraries\x94}\x94(\x8c\x14pdmH1N1_lib2023_loes\x94\x8c-data/viral_libraries/pdmH1N1_lib2023_loes.csv\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c)data/viral_libraries/2023_H3N2_Kikawa.csv\x94u\x8c\x17viral_strain_plot_order\x94\x8c data/viral_strain_plot_order.csv\x94\x8c\x12neut_standard_sets\x94}\x94\x8c\x08loes2023\x94\x8c3data/neut_standard_sets/loes2023_neut_standards.csv\x94s\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\x08upstream\x94\x8c\x1fCTCCCTACAATGTCGGATTTGTATTTAATAG\x94\x8c\ndownstream\x94\x8c\x00\x94\x8c\x04minq\x94K\x14\x8c\x11upstream_mismatch\x94K\x04\x8c\x0ebc_orientation\x94\x8c\x02R2\x94u\x8c#default_process_plate_qc_thresholds\x94}\x94(\x8c\x1bavg_barcode_counts_per_well\x94K\xfa\x8c\x1fmin_neut_standard_frac_per_well\x94G?tz\xe1G\xae\x14{\x8c"no_serum_per_viral_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?@bM\xd2\xf1\xa9\xfc\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c!per_neut_standard_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?tz\xe1G\xae\x14{\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c min_neut_standard_count_per_well\x94M\xf4\x01\x8c)min_no_serum_count_per_viral_barcode_well\x94K\x1e\x8c+max_frac_infectivity_per_viral_barcode_well\x94K\x05\x8c)min_dilutions_per_barcode_serum_replicate\x94K\x06u\x8c%default_process_plate_curvefit_params\x94}\x94(\x8c\x18frac_infectivity_ceiling\x94K\x01\x8c\x06fixtop\x94]\x94(G?\xe8\x00\x00\x00\x00\x00\x00K\x01e\x8c\tfixbottom\x94K\x00\x8c\x08fixslope\x94]\x94(G?\xe9\x99\x99\x99\x99\x99\x9aK\x05eu\x8c!default_process_plate_curvefit_qc\x94}\x94(\x8c\x1dmax_frac_infectivity_at_least\x94K\x00\x8c\x0fgoodness_of_fit\x94}\x94(\x8c\x06min_R2\x94G?\xe6ffffff\x8c\x08max_RMSD\x94G?\xb9\x99\x99\x99\x99\x99\x9au\x8c#serum_replicates_ignore_curvefit_qc\x94]\x94\x8c+barcode_serum_replicates_ignore_curvefit_qc\x94]\x94u\x8c\x06plates\x94}\x94(\x8c\x06plate2\x94}\x94(\x8c\x04date\x94\x8c\x08datetime\x94\x8c\x04date\x94\x93\x94C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1edata/plates/plate2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00uu\x8c\x07plate11\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe7\t\x1a\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1fdata/plates/plate11_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\x18barcode_serum_replicates\x94]\x94]\x94(\x8c\x10AGTCCTATCCTCAAAT\x94\x8c\x06M099d0\x94eas\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00]\x94]\x94(\x8c\x10AGGTCAAGACCACAGG\x94\x8c\x06M099d0\x94eauu\x8c\nH3N2_plate\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe8\x03\x04\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1cdata/plates/H3N2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00uuu\x8c\x16default_serum_titer_as\x94h\xc7\x8c\x1bdefault_serum_qc_thresholds\x94h\xc8\x8c\x16sera_override_defaults\x94}\x94(\x8c\x07M099d30\x94}\x94\x8c\rqc_thresholds\x94}\x94(h\xc9K\x02h\xcaK\x03h\xcb]\x94\x8c\x14A/Belgium/H0017/2022\x94aus\x8c\x07Y044d30\x94}\x94(\x8c\rqc_thresholds\x94}\x94(h\xc9K\x02h\xcaK\x04h\xcbh\xccu\x8c\x08titer_as\x94\x8c\x04nt50\x94uu\x8c\x14miscellaneous_plates\x94}\x94\x8c\x0erandom_plate_1\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c,data/miscellaneous_plates/random_plate_1.csv\x94usu\x8c\x04rule\x94\x8c\x0cserum_titers\x94\x8c\x0fbench_iteration\x94N\x8c\tscriptdir\x94\x8cj/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks\x94ub.'); from snakemake.logging import logger; logger.printshellcmds = False; import os; os.chdir(r'/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example');
+import sys; sys.path.extend(['/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example/..', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/bin', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/lib-dynload', '/home/jbloom/.local/lib/python3.11/site-packages', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/home/jbloom/.cache/snakemake/snakemake/source-cache/runtime-cache/tmppc4t0lmo/file/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks']); import pickle; snakemake = pickle.loads(b'\x80\x04\x95\xb4 \x00\x00\x00\x00\x00\x00\x8c\x10snakemake.script\x94\x8c\tSnakemake\x94\x93\x94)\x81\x94}\x94(\x8c\x05input\x94\x8c\x0csnakemake.io\x94\x8c\nInputFiles\x94\x93\x94)\x81\x94\x8c*results/plates/H3N2_plate/curvefits.pickle\x94a}\x94(\x8c\x06_names\x94}\x94\x8c\x07pickles\x94K\x00K\x01\x86\x94s\x8c\x12_allowed_overrides\x94]\x94(\x8c\x05index\x94\x8c\x04sort\x94eh\x12\x8c\tfunctools\x94\x8c\x07partial\x94\x93\x94h\x06\x8c\x19Namedlist._used_attribute\x94\x93\x94\x85\x94R\x94(h\x18)}\x94\x8c\x05_name\x94h\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\x0eh\x06\x8c\tNamedlist\x94\x93\x94)\x81\x94h\na}\x94(h\x0c}\x94h\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bubub\x8c\x06output\x94h\x06\x8c\x0bOutputFiles\x94\x93\x94)\x81\x94(\x8c6results/sera/A23038d0_r32_75K/titers_per_replicate.csv\x94\x8c(results/sera/A23038d0_r32_75K/titers.csv\x94\x8c(results/sera/A23038d0_r32_75K/curves.pdf\x94\x8c.results/sera/A23038d0_r32_75K/curvefits.pickle\x94\x8c*results/sera/A23038d0_r32_75K/qc_drops.yml\x94e}\x94(h\x0c}\x94(\x8c\x0eper_rep_titers\x94K\x00N\x86\x94\x8c\x06titers\x94K\x01N\x86\x94\x8c\ncurves_pdf\x94K\x02N\x86\x94\x8c\x06pickle\x94K\x03N\x86\x94\x8c\x08qc_drops\x94K\x04N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh;h4h=h5h?h6hAh7hCh8ub\x8c\x06params\x94h\x06\x8c\x06Params\x94\x93\x94)\x81\x94(]\x94(\x8c\x14A/California/07/2009\x94\x8c\x12A/Michigan/45/2015\x94\x8c\x12A/Brisbane/02/2018\x94\x8c\x11A/Ghana/2080/2020\x94\x8c\x18A/Cote_DIvoire/1448/2021\x94\x8c\x10A/Ghana/138/2020\x94\x8c\x0fA/Togo/845/2020\x94\x8c\x10A/Togo/0274/2021\x94\x8c\x10A/Hawaii/70/2019\x94\x8c\x12A/Niger/10217/2021\x94\x8c\x19A/SouthAfrica/R16462/2021\x94\x8c\x10A/Togo/0304/2021\x94\x8c\x12A/Paris/31196/2021\x94\x8c\x14A/Belgium/H0017/2022\x94\x8c\x18A/England/220200318/2022\x94\x8c\x12A/Paris/30353/2021\x94\x8c\x10A/Nimes/871/2021\x94\x8c\x14A/Belgium/H0038/2022\x94\x8c\x14A/Wisconsin/588/2019\x94\x8c\x14A/Washington/23/2020\x94\x8c\x1aA/India/Pun-NIV312851/2021\x94\x8c\x1aA/India-PUN-NIV328484/2021\x94\x8c\x16A/Bangladesh/8036/2021\x94\x8c\x0eA/Perth/1/2022\x94\x8c\x19A/SouthAfrica/R14850/2021\x94\x8c\x13A/Norway/25089/2022\x94\x8c\x1cA/Bangladesh/3210810034/2021\x94\x8c\x13A/Chester/5355/2022\x94\x8c\x12A/Michigan/19/2021\x94\x8c\x0eA/Utah/27/2022\x94\x8c\x12A/Newcastle/2/2022\x94\x8c\x1fA/India-Pune-Nivcov2221170/2022\x94\x8c\x10A/Sydney/43/2022\x94\x8c\x12A/Brisbane/48/2022\x94\x8c\x16A/Bangladesh/8002/2021\x94\x8c\x16A/Bangladesh/2221/2021\x94\x8c\x06strain\x94\x8c\x0fA/Texas/50/2012\x94\x8c\x1fA/Texas/50/2012_X-223A_(13/252)\x94\x8c\x1aA/Switzerland/9715293/2013\x94\x8c!A/Switzerland/9715293/2013_NIB-88\x94\x8c\x10A/Kansas/14/2017\x94\x8c\x16A/Kansas/14/2017_X-327\x94\x8c\x15A/Hong_Kong/4801/2014\x94\x8c\x1eA/Hong_Kong/4801/2014_(15/192)\x94\x8c\x1fA/Singapore/INFIMH-16-0019/2016\x94\x8c&A/Singapore/INFIMH-16-0019/2016_X-307A\x94\x8c\x13A/Hong_Kong/45/2019\x94\x8c\x15A/Hong_Kong/2671/2019\x94\x8c\x18A/Cambodia/e0826360/2020\x94\x8c\x1cA/Cambodia/e0826360/2020_egg\x94\x8c\x14A/TECPAN/017FLU/2023\x94\x8c\x1aA/South_Africa/R07073/2023\x94\x8c\x1aA/South_Africa/R06506/2023\x94\x8c\x1aA/South_Africa/R05384/2023\x94\x8c\x17A/Surat_Thani/P152/2023\x94\x8c\x10A/Jeju/1047/2023\x94\x8c\x16A/South_Dakota/22/2023\x94\x8c\x1bA/Schleswig-Holstein/4/2023\x94\x8c\x15A/Romania/543634/2022\x94\x8c\x0fA/EHIME/50/2023\x94\x8c\x16A/Luga/RII-11393S/2023\x94\x8c\x12A/YAMAGATA/98/2023\x94\x8c\x10A/SENDAI/45/2023\x94\x8c\x0fA/Darwin/9/2021\x94\x8c\x0fA/Darwin/6/2021\x94\x8c\x12A/Finland/391/2023\x94\x8c\x16A/KANAGAWA/IC2239/2023\x94\x8c\x16A/KANAGAWA/AC2316/2023\x94\x8c\x13A/Brisbane/429/2023\x94\x8c\x1aA/South_Africa/R06359/2023\x94\x8c\x11A/Busan/1301/2023\x94\x8c\x12A/Bhutan/0006/2023\x94\x8c\x1aA/Catalonia/2041146NS/2023\x94\x8c\x1bA/Bhutan/FLU-BTG-00988/2022\x94\x8c\x15A/SouthSudan/631/2023\x94\x8c\x15A/SouthSudan/642/2023\x94\x8c\x12A/Finland/399/2023\x94\x8c$A/Saint-Petersburg/RII-MH144113/2023\x94\x8c\x11A/Thailand/8/2022\x94\x8c\x18A/Netherlands/01685/2023\x94\x8c\x18A/Netherlands/01760/2023\x94\x8c\x1eA/Samut_Songkhram/THIS061/2023\x94\x8c\x14A/Bangkok/P3599/2023\x94\x8c\x16A/Massachusets/18/2022\x94\x8c\x15A/Abu_Dhabi/6753/2023\x94\x8c\x11A/Sydney/749/2023\x94\x8c\x11A/Georgia/40/2023\x94\x8c\x14A/California/81/2023\x94\x8c\x10A/Oman/3011/2023\x94\x8c\x1eA/Catalonia/NSVH102124476/2023\x94\x8c\x1fA/Saskatchewan/SKFLU317847/2023\x94\x8c\x14A/Krabi/THIS050/2023\x94\x8c\x14A/Victoria/1033/2023\x94\x8c\x1cA/SOUTH_AFRICA/R07876/202023\x94\x8c\x1bA/SouthAfrica/PET28931/2023\x94\x8c\x1aA/South_Africa/R07188/2023\x94\x8c\x1aA/South_Africa/R06477/2023\x94\x8c\x1aA/South_Africa/R05510/2023\x94\x8c\x1aA/South_Africa/R06240/2023\x94\x8c\x1bA/South_Africa/K056872/2023\x94\x8c\x1bA/South_Africa/KO56863/2023\x94\x8c\x14A/Townsville/68/2023\x94\x8c\x11A/Sydney/710/2023\x94\x8c\x13A/Wisconsin/27/2023\x94\x8c\x13A/Maldives/852/2023\x94\x8c\x19A/Chipata/15-NIC-001/2023\x94\x8c\x1cA/Malaysia/IMR-SARI1989/2023\x94\x8c\x1cA/Guangdong-Futian/1980/2023\x94\x8c\x11A/Sydney/715/2023\x94\x8c\x12A/Bhutan/0845/2023\x94\x8c\x19A/Solwezi/13-NIC-001/2023\x94\x8c\x11A/Sydney/332/2023\x94\x8c\x16A/Ontario/RV00796/2023\x94\x8c\x18A/Netherlands/01693/2023\x94\x8c\x14A/Bangkok/P3755/2023\x94e\x8c\x08midpoint\x94}\x94(\x8c\x0emin_replicates\x94K\x02\x8c\x1bmax_fold_change_from_median\x94K\x03\x8c\x11viruses_ignore_qc\x94]\x94ue}\x94(h\x0c}\x94(\x8c\x17viral_strain_plot_order\x94K\x00N\x86\x94\x8c\x0eserum_titer_as\x94K\x01N\x86\x94\x8c\rqc_thresholds\x94K\x02N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\xcfhRh\xd1h\xc7h\xd3h\xc8ub\x8c\twildcards\x94h\x06\x8c\tWildcards\x94\x93\x94)\x81\x94\x8c\x10A23038d0_r32_75K\x94a}\x94(h\x0c}\x94\x8c\x05serum\x94K\x00N\x86\x94sh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94b\x8c\x05serum\x94h\xe2ub\x8c\x07threads\x94K\x01\x8c\tresources\x94h\x06\x8c\tResources\x94\x93\x94)\x81\x94(K\x01K\x01\x8c\x04/tmp\x94e}\x94(h\x0c}\x94(\x8c\x06_cores\x94K\x00N\x86\x94\x8c\x06_nodes\x94K\x01N\x86\x94\x8c\x06tmpdir\x94K\x02N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\xf9K\x01h\xfbK\x01h\xfdh\xf6ub\x8c\x03log\x94h\x06\x8c\x03Log\x94\x93\x94)\x81\x94\x8c;results/sera/A23038d0_r32_75K/A23038d0_r32_75K_titers.ipynb\x94a}\x94(h\x0c}\x94\x8c\x08notebook\x94K\x00N\x86\x94sh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bj\x0f\x01\x00\x00j\x0c\x01\x00\x00ub\x8c\x06config\x94}\x94(\x8c\x10seqneut-pipeline\x94\x8c\x03../\x94\x8c\x04docs\x94\x8c\x07../docs\x94\x8c\x0bdescription\x94X\xba\x01\x00\x00# Test example for [seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nThis is a small toy-example created by subsetting a real experiment dataset.\n\nSee [https://github.com/jbloomlab/seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nfor the computer code and underlying numerical data.\n\nSee [here](https://github.com/jbloomlab/seqneut-pipeline/graphs/contributors) for a\nlist of all contributors to the pipeline.\n\x94\x8c\x0fviral_libraries\x94}\x94(\x8c\x14pdmH1N1_lib2023_loes\x94\x8c-data/viral_libraries/pdmH1N1_lib2023_loes.csv\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c)data/viral_libraries/2023_H3N2_Kikawa.csv\x94u\x8c\x17viral_strain_plot_order\x94\x8c data/viral_strain_plot_order.csv\x94\x8c\x12neut_standard_sets\x94}\x94\x8c\x08loes2023\x94\x8c3data/neut_standard_sets/loes2023_neut_standards.csv\x94s\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\x08upstream\x94\x8c\x1fCTCCCTACAATGTCGGATTTGTATTTAATAG\x94\x8c\ndownstream\x94\x8c\x00\x94\x8c\x04minq\x94K\x14\x8c\x11upstream_mismatch\x94K\x04\x8c\x0ebc_orientation\x94\x8c\x02R2\x94u\x8c#default_process_plate_qc_thresholds\x94}\x94(\x8c\x1bavg_barcode_counts_per_well\x94K\xfa\x8c\x1fmin_neut_standard_frac_per_well\x94G?tz\xe1G\xae\x14{\x8c"no_serum_per_viral_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?@bM\xd2\xf1\xa9\xfc\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c!per_neut_standard_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?tz\xe1G\xae\x14{\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c min_neut_standard_count_per_well\x94M\xf4\x01\x8c)min_no_serum_count_per_viral_barcode_well\x94K\x1e\x8c+max_frac_infectivity_per_viral_barcode_well\x94K\x05\x8c)min_dilutions_per_barcode_serum_replicate\x94K\x06u\x8c%default_process_plate_curvefit_params\x94}\x94(\x8c\x18frac_infectivity_ceiling\x94K\x01\x8c\x06fixtop\x94]\x94(G?\xe8\x00\x00\x00\x00\x00\x00K\x01e\x8c\tfixbottom\x94K\x00\x8c\x08fixslope\x94]\x94(G?\xe9\x99\x99\x99\x99\x99\x9aK\x05eu\x8c!default_process_plate_curvefit_qc\x94}\x94(\x8c\x1dmax_frac_infectivity_at_least\x94K\x00\x8c\x0fgoodness_of_fit\x94}\x94(\x8c\x06min_R2\x94G?\xe6ffffff\x8c\x08max_RMSD\x94G?\xb9\x99\x99\x99\x99\x99\x9au\x8c#serum_replicates_ignore_curvefit_qc\x94]\x94\x8c+barcode_serum_replicates_ignore_curvefit_qc\x94]\x94u\x8c\x06plates\x94}\x94(\x8c\x06plate2\x94}\x94(\x8c\x04date\x94\x8c\x08datetime\x94\x8c\x04date\x94\x93\x94C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1edata/plates/plate2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00uu\x8c\x07plate11\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe7\t\x1a\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1fdata/plates/plate11_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\x18barcode_serum_replicates\x94]\x94]\x94(\x8c\x10AGTCCTATCCTCAAAT\x94\x8c\x06M099d0\x94eas\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00]\x94]\x94(\x8c\x10AGGTCAAGACCACAGG\x94\x8c\x06M099d0\x94eauu\x8c\nH3N2_plate\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe8\x03\x04\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1cdata/plates/H3N2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00uuu\x8c\x16default_serum_titer_as\x94h\xc7\x8c\x1bdefault_serum_qc_thresholds\x94h\xc8\x8c\x16sera_override_defaults\x94}\x94(\x8c\x07M099d30\x94}\x94\x8c\rqc_thresholds\x94}\x94(h\xc9K\x02h\xcaK\x03h\xcb]\x94\x8c\x14A/Belgium/H0017/2022\x94aus\x8c\x07Y044d30\x94}\x94(\x8c\rqc_thresholds\x94}\x94(h\xc9K\x02h\xcaK\x04h\xcbh\xccu\x8c\x08titer_as\x94\x8c\x04nt50\x94uu\x8c\x14miscellaneous_plates\x94}\x94\x8c\x0erandom_plate_1\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c,data/miscellaneous_plates/random_plate_1.csv\x94usu\x8c\x04rule\x94\x8c\x0cserum_titers\x94\x8c\x0fbench_iteration\x94N\x8c\tscriptdir\x94\x8cj/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks\x94ub.'); from snakemake.logging import logger; logger.printshellcmds = False; import os; os.chdir(r'/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example');
######## snakemake preamble end #########
Correlate NT50s with midpoints
.encode(
alt.X("nt50", scale=alt.Scale(type="log", nice=False, padding=8)),
alt.Y("midpoint", scale=alt.Scale(type="log", nice=False, padding=8)),
+ alt.Color("titer_bound"),
strokeWidth=alt.condition(virus_selection, alt.value(3), alt.value(0)),
size=alt.condition(virus_selection, alt.value(100), alt.value(60)),
tooltip=[
@@ -7814,7 +7815,7 @@ Correlate NT50s with midpoints
if c not in {"serum", "titer_as"}
],
)
- .mark_circle(stroke="red", fillOpacity=0.45, color="black")
+ .mark_circle(stroke="black", fillOpacity=0.45, color="black")
.properties(
width=350,
height=350,
@@ -7837,23 +7838,23 @@ Correlate NT50s with midpoints
Out[7]:
-
+
Correlate NT50s with midpoints
Out[7]:
-
+
Plot median titers and
title=f"fails {qc_thresholds['min_replicates']=}, {qc_thresholds['max_fold_change_from_median']=}",
legend=alt.Legend(titleLimit=500),
),
+ alt.Shape("titer_bound"),
strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0)),
tooltip=[
alt.Tooltip(c, format=".3g") if per_rep_titers_w_fc[c].dtype == float else c
@@ -8109,8 +8111,7 @@ Plot median titers and
],
)
.mark_point(
- shape="circle",
- size=40,
+ size=35,
filled=True,
fillOpacity=0.5,
strokeOpacity=1,
@@ -8124,14 +8125,14 @@ Plot median titers and
alt.X("titer", scale=alt.Scale(nice=False, padding=5, type="log")),
alt.Y("virus", sort=viruses),
alt.Fill("fails_qc"),
- strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0)),
+ alt.Shape("titer_bound"),
+ strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0.5)),
tooltip=[
alt.Tooltip(c, format=".3g") if median_titers_noqc[c].dtype == float else c
for c in median_titers_noqc
],
)
.mark_point(
- shape="square",
size=75,
filled=True,
fillOpacity=0.9,
@@ -8146,7 +8147,7 @@ Plot median titers and
.properties(
height=alt.Step(11),
width=250,
- title=f"{serum} median (square) and per-replicate (small circle) titers",
+ title=f"{serum} median (large points) and per-replicate (small points) titers",
)
.configure_axis(grid=False)
)
@@ -8165,23 +8166,23 @@ Plot median titers and
Out[10]:
-
+
Plot median titers and
alt.X("titer", scale=alt.Scale(nice=False, padding=5, type="log")),
alt.Y("virus", sort=viruses),
alt.Fill("fails_qc"),
- strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0)),
+ alt.Shape("titer_bound"),
+ strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0.5)),
tooltip=[
alt.Tooltip(c, format=".3g") if median_titers_noqc[c].dtype == float else c
for c in median_titers_noqc
],
)
.mark_point(
- shape="square",
size=75,
filled=True,
fillOpacity=0.9,
@@ -8146,7 +8147,7 @@ Plot median titers and
.properties(
height=alt.Step(11),
width=250,
- title=f"{serum} median (square) and per-replicate (small circle) titers",
+ title=f"{serum} median (large points) and per-replicate (small points) titers",
)
.configure_axis(grid=False)
)
@@ -8165,23 +8166,23 @@ Plot median titers and
Out[10]:
-
+
Plot median titers and
Out[10]:
-
+
######## snakemake preamble start (automatically inserted, do not edit) ########
-import sys; sys.path.extend(['/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example/..', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/bin', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/lib-dynload', '/home/jbloom/.local/lib/python3.11/site-packages', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/home/jbloom/.cache/snakemake/snakemake/source-cache/runtime-cache/tmpokpo7nbb/file/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks']); import pickle; snakemake = pickle.loads(b'\x80\x04\x95\x8e \x00\x00\x00\x00\x00\x00\x8c\x10snakemake.script\x94\x8c\tSnakemake\x94\x93\x94)\x81\x94}\x94(\x8c\x05input\x94\x8c\x0csnakemake.io\x94\x8c\nInputFiles\x94\x93\x94)\x81\x94(\x8c\'results/plates/plate11/curvefits.pickle\x94\x8c&results/plates/plate2/curvefits.pickle\x94e}\x94(\x8c\x06_names\x94}\x94\x8c\x07pickles\x94K\x00K\x02\x86\x94s\x8c\x12_allowed_overrides\x94]\x94(\x8c\x05index\x94\x8c\x04sort\x94eh\x13\x8c\tfunctools\x94\x8c\x07partial\x94\x93\x94h\x06\x8c\x19Namedlist._used_attribute\x94\x93\x94\x85\x94R\x94(h\x19)}\x94\x8c\x05_name\x94h\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh\x0fh\x06\x8c\tNamedlist\x94\x93\x94)\x81\x94(h\nh\x0be}\x94(h\r}\x94h\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bubub\x8c\x06output\x94h\x06\x8c\x0bOutputFiles\x94\x93\x94)\x81\x94(\x8c,results/sera/M099d0/titers_per_replicate.csv\x94\x8c\x1eresults/sera/M099d0/titers.csv\x94\x8c\x1eresults/sera/M099d0/curves.pdf\x94\x8c$results/sera/M099d0/curvefits.pickle\x94\x8c results/sera/M099d0/qc_drops.yml\x94e}\x94(h\r}\x94(\x8c\x0eper_rep_titers\x94K\x00N\x86\x94\x8c\x06titers\x94K\x01N\x86\x94\x8c\ncurves_pdf\x94K\x02N\x86\x94\x8c\x06pickle\x94K\x03N\x86\x94\x8c\x08qc_drops\x94K\x04N\x86\x94uh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh<h5h>h6h@h7hBh8hDh9ub\x8c\x06params\x94h\x06\x8c\x06Params\x94\x93\x94)\x81\x94(]\x94(\x8c\x14A/California/07/2009\x94\x8c\x12A/Michigan/45/2015\x94\x8c\x12A/Brisbane/02/2018\x94\x8c\x11A/Ghana/2080/2020\x94\x8c\x18A/Cote_DIvoire/1448/2021\x94\x8c\x10A/Ghana/138/2020\x94\x8c\x0fA/Togo/845/2020\x94\x8c\x10A/Togo/0274/2021\x94\x8c\x10A/Hawaii/70/2019\x94\x8c\x12A/Niger/10217/2021\x94\x8c\x19A/SouthAfrica/R16462/2021\x94\x8c\x10A/Togo/0304/2021\x94\x8c\x12A/Paris/31196/2021\x94\x8c\x14A/Belgium/H0017/2022\x94\x8c\x18A/England/220200318/2022\x94\x8c\x12A/Paris/30353/2021\x94\x8c\x10A/Nimes/871/2021\x94\x8c\x14A/Belgium/H0038/2022\x94\x8c\x14A/Wisconsin/588/2019\x94\x8c\x14A/Washington/23/2020\x94\x8c\x1aA/India/Pun-NIV312851/2021\x94\x8c\x1aA/India-PUN-NIV328484/2021\x94\x8c\x16A/Bangladesh/8036/2021\x94\x8c\x0eA/Perth/1/2022\x94\x8c\x19A/SouthAfrica/R14850/2021\x94\x8c\x13A/Norway/25089/2022\x94\x8c\x1cA/Bangladesh/3210810034/2021\x94\x8c\x13A/Chester/5355/2022\x94\x8c\x12A/Michigan/19/2021\x94\x8c\x0eA/Utah/27/2022\x94\x8c\x12A/Newcastle/2/2022\x94\x8c\x1fA/India-Pune-Nivcov2221170/2022\x94\x8c\x10A/Sydney/43/2022\x94\x8c\x12A/Brisbane/48/2022\x94\x8c\x16A/Bangladesh/8002/2021\x94\x8c\x16A/Bangladesh/2221/2021\x94\x8c\x06strain\x94\x8c\x0fA/Texas/50/2012\x94\x8c\x1fA/Texas/50/2012_X-223A_(13/252)\x94\x8c\x1aA/Switzerland/9715293/2013\x94\x8c!A/Switzerland/9715293/2013_NIB-88\x94\x8c\x10A/Kansas/14/2017\x94\x8c\x16A/Kansas/14/2017_X-327\x94\x8c\x15A/Hong_Kong/4801/2014\x94\x8c\x1eA/Hong_Kong/4801/2014_(15/192)\x94\x8c\x1fA/Singapore/INFIMH-16-0019/2016\x94\x8c&A/Singapore/INFIMH-16-0019/2016_X-307A\x94\x8c\x13A/Hong_Kong/45/2019\x94\x8c\x15A/Hong_Kong/2671/2019\x94\x8c\x18A/Cambodia/e0826360/2020\x94\x8c\x1cA/Cambodia/e0826360/2020_egg\x94\x8c\x14A/TECPAN/017FLU/2023\x94\x8c\x1aA/South_Africa/R07073/2023\x94\x8c\x1aA/South_Africa/R06506/2023\x94\x8c\x1aA/South_Africa/R05384/2023\x94\x8c\x17A/Surat_Thani/P152/2023\x94\x8c\x10A/Jeju/1047/2023\x94\x8c\x16A/South_Dakota/22/2023\x94\x8c\x1bA/Schleswig-Holstein/4/2023\x94\x8c\x15A/Romania/543634/2022\x94\x8c\x0fA/EHIME/50/2023\x94\x8c\x16A/Luga/RII-11393S/2023\x94\x8c\x12A/YAMAGATA/98/2023\x94\x8c\x10A/SENDAI/45/2023\x94\x8c\x0fA/Darwin/9/2021\x94\x8c\x0fA/Darwin/6/2021\x94\x8c\x12A/Finland/391/2023\x94\x8c\x16A/KANAGAWA/IC2239/2023\x94\x8c\x16A/KANAGAWA/AC2316/2023\x94\x8c\x13A/Brisbane/429/2023\x94\x8c\x1aA/South_Africa/R06359/2023\x94\x8c\x11A/Busan/1301/2023\x94\x8c\x12A/Bhutan/0006/2023\x94\x8c\x1aA/Catalonia/2041146NS/2023\x94\x8c\x1bA/Bhutan/FLU-BTG-00988/2022\x94\x8c\x15A/SouthSudan/631/2023\x94\x8c\x15A/SouthSudan/642/2023\x94\x8c\x12A/Finland/399/2023\x94\x8c$A/Saint-Petersburg/RII-MH144113/2023\x94\x8c\x11A/Thailand/8/2022\x94\x8c\x18A/Netherlands/01685/2023\x94\x8c\x18A/Netherlands/01760/2023\x94\x8c\x1eA/Samut_Songkhram/THIS061/2023\x94\x8c\x14A/Bangkok/P3599/2023\x94\x8c\x16A/Massachusets/18/2022\x94\x8c\x15A/Abu_Dhabi/6753/2023\x94\x8c\x11A/Sydney/749/2023\x94\x8c\x11A/Georgia/40/2023\x94\x8c\x14A/California/81/2023\x94\x8c\x10A/Oman/3011/2023\x94\x8c\x1eA/Catalonia/NSVH102124476/2023\x94\x8c\x1fA/Saskatchewan/SKFLU317847/2023\x94\x8c\x14A/Krabi/THIS050/2023\x94\x8c\x14A/Victoria/1033/2023\x94\x8c\x1cA/SOUTH_AFRICA/R07876/202023\x94\x8c\x1bA/SouthAfrica/PET28931/2023\x94\x8c\x1aA/South_Africa/R07188/2023\x94\x8c\x1aA/South_Africa/R06477/2023\x94\x8c\x1aA/South_Africa/R05510/2023\x94\x8c\x1aA/South_Africa/R06240/2023\x94\x8c\x1bA/South_Africa/K056872/2023\x94\x8c\x1bA/South_Africa/KO56863/2023\x94\x8c\x14A/Townsville/68/2023\x94\x8c\x11A/Sydney/710/2023\x94\x8c\x13A/Wisconsin/27/2023\x94\x8c\x13A/Maldives/852/2023\x94\x8c\x19A/Chipata/15-NIC-001/2023\x94\x8c\x1cA/Malaysia/IMR-SARI1989/2023\x94\x8c\x1cA/Guangdong-Futian/1980/2023\x94\x8c\x11A/Sydney/715/2023\x94\x8c\x12A/Bhutan/0845/2023\x94\x8c\x19A/Solwezi/13-NIC-001/2023\x94\x8c\x11A/Sydney/332/2023\x94\x8c\x16A/Ontario/RV00796/2023\x94\x8c\x18A/Netherlands/01693/2023\x94\x8c\x14A/Bangkok/P3755/2023\x94e\x8c\x08midpoint\x94}\x94(\x8c\x0emin_replicates\x94K\x02\x8c\x1bmax_fold_change_from_median\x94K\x03\x8c\x11viruses_ignore_qc\x94]\x94ue}\x94(h\r}\x94(\x8c\x17viral_strain_plot_order\x94K\x00N\x86\x94\x8c\x0eserum_titer_as\x94K\x01N\x86\x94\x8c\rqc_thresholds\x94K\x02N\x86\x94uh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh\xd0hSh\xd2h\xc8h\xd4h\xc9ub\x8c\twildcards\x94h\x06\x8c\tWildcards\x94\x93\x94)\x81\x94\x8c\x06M099d0\x94a}\x94(h\r}\x94\x8c\x05serum\x94K\x00N\x86\x94sh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94b\x8c\x05serum\x94h\xe3ub\x8c\x07threads\x94K\x01\x8c\tresources\x94h\x06\x8c\tResources\x94\x93\x94)\x81\x94(K\x01K\x01\x8c\x04/tmp\x94e}\x94(h\r}\x94(\x8c\x06_cores\x94K\x00N\x86\x94\x8c\x06_nodes\x94K\x01N\x86\x94\x8c\x06tmpdir\x94K\x02N\x86\x94uh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh\xfaK\x01h\xfcK\x01h\xfeh\xf7ub\x8c\x03log\x94h\x06\x8c\x03Log\x94\x93\x94)\x81\x94\x8c\'results/sera/M099d0/M099d0_titers.ipynb\x94a}\x94(h\r}\x94\x8c\x08notebook\x94K\x00N\x86\x94sh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bj\x10\x01\x00\x00j\r\x01\x00\x00ub\x8c\x06config\x94}\x94(\x8c\x10seqneut-pipeline\x94\x8c\x03../\x94\x8c\x04docs\x94\x8c\x07../docs\x94\x8c\x0bdescription\x94X\xba\x01\x00\x00# Test example for [seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nThis is a small toy-example created by subsetting a real experiment dataset.\n\nSee [https://github.com/jbloomlab/seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nfor the computer code and underlying numerical data.\n\nSee [here](https://github.com/jbloomlab/seqneut-pipeline/graphs/contributors) for a\nlist of all contributors to the pipeline.\n\x94\x8c\x0fviral_libraries\x94}\x94(\x8c\x14pdmH1N1_lib2023_loes\x94\x8c-data/viral_libraries/pdmH1N1_lib2023_loes.csv\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c)data/viral_libraries/2023_H3N2_Kikawa.csv\x94u\x8c\x17viral_strain_plot_order\x94\x8c data/viral_strain_plot_order.csv\x94\x8c\x12neut_standard_sets\x94}\x94\x8c\x08loes2023\x94\x8c3data/neut_standard_sets/loes2023_neut_standards.csv\x94s\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\x08upstream\x94\x8c\x1fCTCCCTACAATGTCGGATTTGTATTTAATAG\x94\x8c\ndownstream\x94\x8c\x00\x94\x8c\x04minq\x94K\x14\x8c\x11upstream_mismatch\x94K\x04\x8c\x0ebc_orientation\x94\x8c\x02R2\x94u\x8c#default_process_plate_qc_thresholds\x94}\x94(\x8c\x1bavg_barcode_counts_per_well\x94K\xfa\x8c\x1fmin_neut_standard_frac_per_well\x94G?tz\xe1G\xae\x14{\x8c"no_serum_per_viral_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?@bM\xd2\xf1\xa9\xfc\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c!per_neut_standard_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?tz\xe1G\xae\x14{\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c min_neut_standard_count_per_well\x94M\xf4\x01\x8c)min_no_serum_count_per_viral_barcode_well\x94K\x1e\x8c+max_frac_infectivity_per_viral_barcode_well\x94K\x05\x8c)min_dilutions_per_barcode_serum_replicate\x94K\x06u\x8c%default_process_plate_curvefit_params\x94}\x94(\x8c\x18frac_infectivity_ceiling\x94K\x01\x8c\x06fixtop\x94]\x94(G?\xe8\x00\x00\x00\x00\x00\x00K\x01e\x8c\tfixbottom\x94K\x00\x8c\x08fixslope\x94]\x94(G?\xe9\x99\x99\x99\x99\x99\x9aK\x05eu\x8c!default_process_plate_curvefit_qc\x94}\x94(\x8c\x1dmax_frac_infectivity_at_least\x94K\x00\x8c\x0fgoodness_of_fit\x94}\x94(\x8c\x06min_R2\x94G?\xe6ffffff\x8c\x08max_RMSD\x94G?\xb9\x99\x99\x99\x99\x99\x9au\x8c#serum_replicates_ignore_curvefit_qc\x94]\x94\x8c+barcode_serum_replicates_ignore_curvefit_qc\x94]\x94u\x8c\x06plates\x94}\x94(\x8c\x06plate2\x94}\x94(\x8c\x04date\x94\x8c\x08datetime\x94\x8c\x04date\x94\x93\x94C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1edata/plates/plate2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j;\x01\x00\x00K\xfaj<\x01\x00\x00G?tz\xe1G\xae\x14{j=\x01\x00\x00}\x94(j?\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj@\x01\x00\x00K\x03jA\x01\x00\x00K\x02ujB\x01\x00\x00}\x94(jD\x01\x00\x00G?tz\xe1G\xae\x14{jE\x01\x00\x00K\x03jF\x01\x00\x00K\x02ujG\x01\x00\x00M\xf4\x01jH\x01\x00\x00K\x1ejI\x01\x00\x00K\x05jJ\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jM\x01\x00\x00K\x01jN\x01\x00\x00jO\x01\x00\x00jP\x01\x00\x00K\x00jQ\x01\x00\x00jR\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jU\x01\x00\x00K\x00jV\x01\x00\x00}\x94(jX\x01\x00\x00G?\xe6ffffffjY\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00j]\x01\x00\x00uu\x8c\x07plate11\x94}\x94(\x8c\x04date\x94je\x01\x00\x00C\x04\x07\xe7\t\x1a\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1fdata/plates/plate11_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\x18barcode_serum_replicates\x94]\x94]\x94(\x8c\x10AGTCCTATCCTCAAAT\x94\x8c\x06M099d0\x94eas\x8c\rqc_thresholds\x94}\x94(j;\x01\x00\x00K\xfaj<\x01\x00\x00G?tz\xe1G\xae\x14{j=\x01\x00\x00}\x94(j?\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj@\x01\x00\x00K\x03jA\x01\x00\x00K\x02ujB\x01\x00\x00}\x94(jD\x01\x00\x00G?tz\xe1G\xae\x14{jE\x01\x00\x00K\x03jF\x01\x00\x00K\x02ujG\x01\x00\x00M\xf4\x01jH\x01\x00\x00K\x1ejI\x01\x00\x00K\x05jJ\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jM\x01\x00\x00K\x01jN\x01\x00\x00jO\x01\x00\x00jP\x01\x00\x00K\x00jQ\x01\x00\x00jR\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jU\x01\x00\x00K\x00jV\x01\x00\x00}\x94(jX\x01\x00\x00G?\xe6ffffffjY\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00]\x94]\x94(\x8c\x10AGGTCAAGACCACAGG\x94\x8c\x06M099d0\x94eauu\x8c\nH3N2_plate\x94}\x94(\x8c\x04date\x94je\x01\x00\x00C\x04\x07\xe8\x03\x04\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1cdata/plates/H3N2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j;\x01\x00\x00K\xfaj<\x01\x00\x00G?tz\xe1G\xae\x14{j=\x01\x00\x00}\x94(j?\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj@\x01\x00\x00K\x03jA\x01\x00\x00K\x02ujB\x01\x00\x00}\x94(jD\x01\x00\x00G?tz\xe1G\xae\x14{jE\x01\x00\x00K\x03jF\x01\x00\x00K\x02ujG\x01\x00\x00M\xf4\x01jH\x01\x00\x00K\x1ejI\x01\x00\x00K\x05jJ\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jM\x01\x00\x00K\x01jN\x01\x00\x00jO\x01\x00\x00jP\x01\x00\x00K\x00jQ\x01\x00\x00jR\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jU\x01\x00\x00K\x00jV\x01\x00\x00}\x94(jX\x01\x00\x00G?\xe6ffffffjY\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00j]\x01\x00\x00uuu\x8c\x16default_serum_titer_as\x94h\xc8\x8c\x1bdefault_serum_qc_thresholds\x94h\xc9\x8c\x16sera_override_defaults\x94}\x94(\x8c\x07M099d30\x94}\x94\x8c\rqc_thresholds\x94}\x94(h\xcaK\x02h\xcbK\x03h\xcc]\x94\x8c\x14A/Belgium/H0017/2022\x94aus\x8c\x07Y044d30\x94}\x94(\x8c\rqc_thresholds\x94}\x94(h\xcaK\x02h\xcbK\x04h\xcch\xcdu\x8c\x08titer_as\x94\x8c\x04nt50\x94uu\x8c\x14miscellaneous_plates\x94}\x94\x8c\x0erandom_plate_1\x94}\x94(\x8c\x04date\x94je\x01\x00\x00C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c,data/miscellaneous_plates/random_plate_1.csv\x94usu\x8c\x04rule\x94\x8c\x0cserum_titers\x94\x8c\x0fbench_iteration\x94N\x8c\tscriptdir\x94\x8cj/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks\x94ub.'); from snakemake.logging import logger; logger.printshellcmds = False; import os; os.chdir(r'/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example');
+import sys; sys.path.extend(['/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example/..', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/bin', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/lib-dynload', '/home/jbloom/.local/lib/python3.11/site-packages', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/home/jbloom/.cache/snakemake/snakemake/source-cache/runtime-cache/tmppc4t0lmo/file/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks']); import pickle; snakemake = pickle.loads(b'\x80\x04\x95\x8e \x00\x00\x00\x00\x00\x00\x8c\x10snakemake.script\x94\x8c\tSnakemake\x94\x93\x94)\x81\x94}\x94(\x8c\x05input\x94\x8c\x0csnakemake.io\x94\x8c\nInputFiles\x94\x93\x94)\x81\x94(\x8c\'results/plates/plate11/curvefits.pickle\x94\x8c&results/plates/plate2/curvefits.pickle\x94e}\x94(\x8c\x06_names\x94}\x94\x8c\x07pickles\x94K\x00K\x02\x86\x94s\x8c\x12_allowed_overrides\x94]\x94(\x8c\x05index\x94\x8c\x04sort\x94eh\x13\x8c\tfunctools\x94\x8c\x07partial\x94\x93\x94h\x06\x8c\x19Namedlist._used_attribute\x94\x93\x94\x85\x94R\x94(h\x19)}\x94\x8c\x05_name\x94h\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh\x0fh\x06\x8c\tNamedlist\x94\x93\x94)\x81\x94(h\nh\x0be}\x94(h\r}\x94h\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bubub\x8c\x06output\x94h\x06\x8c\x0bOutputFiles\x94\x93\x94)\x81\x94(\x8c,results/sera/M099d0/titers_per_replicate.csv\x94\x8c\x1eresults/sera/M099d0/titers.csv\x94\x8c\x1eresults/sera/M099d0/curves.pdf\x94\x8c$results/sera/M099d0/curvefits.pickle\x94\x8c results/sera/M099d0/qc_drops.yml\x94e}\x94(h\r}\x94(\x8c\x0eper_rep_titers\x94K\x00N\x86\x94\x8c\x06titers\x94K\x01N\x86\x94\x8c\ncurves_pdf\x94K\x02N\x86\x94\x8c\x06pickle\x94K\x03N\x86\x94\x8c\x08qc_drops\x94K\x04N\x86\x94uh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh<h5h>h6h@h7hBh8hDh9ub\x8c\x06params\x94h\x06\x8c\x06Params\x94\x93\x94)\x81\x94(]\x94(\x8c\x14A/California/07/2009\x94\x8c\x12A/Michigan/45/2015\x94\x8c\x12A/Brisbane/02/2018\x94\x8c\x11A/Ghana/2080/2020\x94\x8c\x18A/Cote_DIvoire/1448/2021\x94\x8c\x10A/Ghana/138/2020\x94\x8c\x0fA/Togo/845/2020\x94\x8c\x10A/Togo/0274/2021\x94\x8c\x10A/Hawaii/70/2019\x94\x8c\x12A/Niger/10217/2021\x94\x8c\x19A/SouthAfrica/R16462/2021\x94\x8c\x10A/Togo/0304/2021\x94\x8c\x12A/Paris/31196/2021\x94\x8c\x14A/Belgium/H0017/2022\x94\x8c\x18A/England/220200318/2022\x94\x8c\x12A/Paris/30353/2021\x94\x8c\x10A/Nimes/871/2021\x94\x8c\x14A/Belgium/H0038/2022\x94\x8c\x14A/Wisconsin/588/2019\x94\x8c\x14A/Washington/23/2020\x94\x8c\x1aA/India/Pun-NIV312851/2021\x94\x8c\x1aA/India-PUN-NIV328484/2021\x94\x8c\x16A/Bangladesh/8036/2021\x94\x8c\x0eA/Perth/1/2022\x94\x8c\x19A/SouthAfrica/R14850/2021\x94\x8c\x13A/Norway/25089/2022\x94\x8c\x1cA/Bangladesh/3210810034/2021\x94\x8c\x13A/Chester/5355/2022\x94\x8c\x12A/Michigan/19/2021\x94\x8c\x0eA/Utah/27/2022\x94\x8c\x12A/Newcastle/2/2022\x94\x8c\x1fA/India-Pune-Nivcov2221170/2022\x94\x8c\x10A/Sydney/43/2022\x94\x8c\x12A/Brisbane/48/2022\x94\x8c\x16A/Bangladesh/8002/2021\x94\x8c\x16A/Bangladesh/2221/2021\x94\x8c\x06strain\x94\x8c\x0fA/Texas/50/2012\x94\x8c\x1fA/Texas/50/2012_X-223A_(13/252)\x94\x8c\x1aA/Switzerland/9715293/2013\x94\x8c!A/Switzerland/9715293/2013_NIB-88\x94\x8c\x10A/Kansas/14/2017\x94\x8c\x16A/Kansas/14/2017_X-327\x94\x8c\x15A/Hong_Kong/4801/2014\x94\x8c\x1eA/Hong_Kong/4801/2014_(15/192)\x94\x8c\x1fA/Singapore/INFIMH-16-0019/2016\x94\x8c&A/Singapore/INFIMH-16-0019/2016_X-307A\x94\x8c\x13A/Hong_Kong/45/2019\x94\x8c\x15A/Hong_Kong/2671/2019\x94\x8c\x18A/Cambodia/e0826360/2020\x94\x8c\x1cA/Cambodia/e0826360/2020_egg\x94\x8c\x14A/TECPAN/017FLU/2023\x94\x8c\x1aA/South_Africa/R07073/2023\x94\x8c\x1aA/South_Africa/R06506/2023\x94\x8c\x1aA/South_Africa/R05384/2023\x94\x8c\x17A/Surat_Thani/P152/2023\x94\x8c\x10A/Jeju/1047/2023\x94\x8c\x16A/South_Dakota/22/2023\x94\x8c\x1bA/Schleswig-Holstein/4/2023\x94\x8c\x15A/Romania/543634/2022\x94\x8c\x0fA/EHIME/50/2023\x94\x8c\x16A/Luga/RII-11393S/2023\x94\x8c\x12A/YAMAGATA/98/2023\x94\x8c\x10A/SENDAI/45/2023\x94\x8c\x0fA/Darwin/9/2021\x94\x8c\x0fA/Darwin/6/2021\x94\x8c\x12A/Finland/391/2023\x94\x8c\x16A/KANAGAWA/IC2239/2023\x94\x8c\x16A/KANAGAWA/AC2316/2023\x94\x8c\x13A/Brisbane/429/2023\x94\x8c\x1aA/South_Africa/R06359/2023\x94\x8c\x11A/Busan/1301/2023\x94\x8c\x12A/Bhutan/0006/2023\x94\x8c\x1aA/Catalonia/2041146NS/2023\x94\x8c\x1bA/Bhutan/FLU-BTG-00988/2022\x94\x8c\x15A/SouthSudan/631/2023\x94\x8c\x15A/SouthSudan/642/2023\x94\x8c\x12A/Finland/399/2023\x94\x8c$A/Saint-Petersburg/RII-MH144113/2023\x94\x8c\x11A/Thailand/8/2022\x94\x8c\x18A/Netherlands/01685/2023\x94\x8c\x18A/Netherlands/01760/2023\x94\x8c\x1eA/Samut_Songkhram/THIS061/2023\x94\x8c\x14A/Bangkok/P3599/2023\x94\x8c\x16A/Massachusets/18/2022\x94\x8c\x15A/Abu_Dhabi/6753/2023\x94\x8c\x11A/Sydney/749/2023\x94\x8c\x11A/Georgia/40/2023\x94\x8c\x14A/California/81/2023\x94\x8c\x10A/Oman/3011/2023\x94\x8c\x1eA/Catalonia/NSVH102124476/2023\x94\x8c\x1fA/Saskatchewan/SKFLU317847/2023\x94\x8c\x14A/Krabi/THIS050/2023\x94\x8c\x14A/Victoria/1033/2023\x94\x8c\x1cA/SOUTH_AFRICA/R07876/202023\x94\x8c\x1bA/SouthAfrica/PET28931/2023\x94\x8c\x1aA/South_Africa/R07188/2023\x94\x8c\x1aA/South_Africa/R06477/2023\x94\x8c\x1aA/South_Africa/R05510/2023\x94\x8c\x1aA/South_Africa/R06240/2023\x94\x8c\x1bA/South_Africa/K056872/2023\x94\x8c\x1bA/South_Africa/KO56863/2023\x94\x8c\x14A/Townsville/68/2023\x94\x8c\x11A/Sydney/710/2023\x94\x8c\x13A/Wisconsin/27/2023\x94\x8c\x13A/Maldives/852/2023\x94\x8c\x19A/Chipata/15-NIC-001/2023\x94\x8c\x1cA/Malaysia/IMR-SARI1989/2023\x94\x8c\x1cA/Guangdong-Futian/1980/2023\x94\x8c\x11A/Sydney/715/2023\x94\x8c\x12A/Bhutan/0845/2023\x94\x8c\x19A/Solwezi/13-NIC-001/2023\x94\x8c\x11A/Sydney/332/2023\x94\x8c\x16A/Ontario/RV00796/2023\x94\x8c\x18A/Netherlands/01693/2023\x94\x8c\x14A/Bangkok/P3755/2023\x94e\x8c\x08midpoint\x94}\x94(\x8c\x0emin_replicates\x94K\x02\x8c\x1bmax_fold_change_from_median\x94K\x03\x8c\x11viruses_ignore_qc\x94]\x94ue}\x94(h\r}\x94(\x8c\x17viral_strain_plot_order\x94K\x00N\x86\x94\x8c\x0eserum_titer_as\x94K\x01N\x86\x94\x8c\rqc_thresholds\x94K\x02N\x86\x94uh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh\xd0hSh\xd2h\xc8h\xd4h\xc9ub\x8c\twildcards\x94h\x06\x8c\tWildcards\x94\x93\x94)\x81\x94\x8c\x06M099d0\x94a}\x94(h\r}\x94\x8c\x05serum\x94K\x00N\x86\x94sh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94b\x8c\x05serum\x94h\xe3ub\x8c\x07threads\x94K\x01\x8c\tresources\x94h\x06\x8c\tResources\x94\x93\x94)\x81\x94(K\x01K\x01\x8c\x04/tmp\x94e}\x94(h\r}\x94(\x8c\x06_cores\x94K\x00N\x86\x94\x8c\x06_nodes\x94K\x01N\x86\x94\x8c\x06tmpdir\x94K\x02N\x86\x94uh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh\xfaK\x01h\xfcK\x01h\xfeh\xf7ub\x8c\x03log\x94h\x06\x8c\x03Log\x94\x93\x94)\x81\x94\x8c\'results/sera/M099d0/M099d0_titers.ipynb\x94a}\x94(h\r}\x94\x8c\x08notebook\x94K\x00N\x86\x94sh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bj\x10\x01\x00\x00j\r\x01\x00\x00ub\x8c\x06config\x94}\x94(\x8c\x10seqneut-pipeline\x94\x8c\x03../\x94\x8c\x04docs\x94\x8c\x07../docs\x94\x8c\x0bdescription\x94X\xba\x01\x00\x00# Test example for [seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nThis is a small toy-example created by subsetting a real experiment dataset.\n\nSee [https://github.com/jbloomlab/seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nfor the computer code and underlying numerical data.\n\nSee [here](https://github.com/jbloomlab/seqneut-pipeline/graphs/contributors) for a\nlist of all contributors to the pipeline.\n\x94\x8c\x0fviral_libraries\x94}\x94(\x8c\x14pdmH1N1_lib2023_loes\x94\x8c-data/viral_libraries/pdmH1N1_lib2023_loes.csv\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c)data/viral_libraries/2023_H3N2_Kikawa.csv\x94u\x8c\x17viral_strain_plot_order\x94\x8c data/viral_strain_plot_order.csv\x94\x8c\x12neut_standard_sets\x94}\x94\x8c\x08loes2023\x94\x8c3data/neut_standard_sets/loes2023_neut_standards.csv\x94s\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\x08upstream\x94\x8c\x1fCTCCCTACAATGTCGGATTTGTATTTAATAG\x94\x8c\ndownstream\x94\x8c\x00\x94\x8c\x04minq\x94K\x14\x8c\x11upstream_mismatch\x94K\x04\x8c\x0ebc_orientation\x94\x8c\x02R2\x94u\x8c#default_process_plate_qc_thresholds\x94}\x94(\x8c\x1bavg_barcode_counts_per_well\x94K\xfa\x8c\x1fmin_neut_standard_frac_per_well\x94G?tz\xe1G\xae\x14{\x8c"no_serum_per_viral_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?@bM\xd2\xf1\xa9\xfc\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c!per_neut_standard_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?tz\xe1G\xae\x14{\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c min_neut_standard_count_per_well\x94M\xf4\x01\x8c)min_no_serum_count_per_viral_barcode_well\x94K\x1e\x8c+max_frac_infectivity_per_viral_barcode_well\x94K\x05\x8c)min_dilutions_per_barcode_serum_replicate\x94K\x06u\x8c%default_process_plate_curvefit_params\x94}\x94(\x8c\x18frac_infectivity_ceiling\x94K\x01\x8c\x06fixtop\x94]\x94(G?\xe8\x00\x00\x00\x00\x00\x00K\x01e\x8c\tfixbottom\x94K\x00\x8c\x08fixslope\x94]\x94(G?\xe9\x99\x99\x99\x99\x99\x9aK\x05eu\x8c!default_process_plate_curvefit_qc\x94}\x94(\x8c\x1dmax_frac_infectivity_at_least\x94K\x00\x8c\x0fgoodness_of_fit\x94}\x94(\x8c\x06min_R2\x94G?\xe6ffffff\x8c\x08max_RMSD\x94G?\xb9\x99\x99\x99\x99\x99\x9au\x8c#serum_replicates_ignore_curvefit_qc\x94]\x94\x8c+barcode_serum_replicates_ignore_curvefit_qc\x94]\x94u\x8c\x06plates\x94}\x94(\x8c\x06plate2\x94}\x94(\x8c\x04date\x94\x8c\x08datetime\x94\x8c\x04date\x94\x93\x94C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1edata/plates/plate2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j;\x01\x00\x00K\xfaj<\x01\x00\x00G?tz\xe1G\xae\x14{j=\x01\x00\x00}\x94(j?\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj@\x01\x00\x00K\x03jA\x01\x00\x00K\x02ujB\x01\x00\x00}\x94(jD\x01\x00\x00G?tz\xe1G\xae\x14{jE\x01\x00\x00K\x03jF\x01\x00\x00K\x02ujG\x01\x00\x00M\xf4\x01jH\x01\x00\x00K\x1ejI\x01\x00\x00K\x05jJ\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jM\x01\x00\x00K\x01jN\x01\x00\x00jO\x01\x00\x00jP\x01\x00\x00K\x00jQ\x01\x00\x00jR\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jU\x01\x00\x00K\x00jV\x01\x00\x00}\x94(jX\x01\x00\x00G?\xe6ffffffjY\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00j]\x01\x00\x00uu\x8c\x07plate11\x94}\x94(\x8c\x04date\x94je\x01\x00\x00C\x04\x07\xe7\t\x1a\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1fdata/plates/plate11_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\x18barcode_serum_replicates\x94]\x94]\x94(\x8c\x10AGTCCTATCCTCAAAT\x94\x8c\x06M099d0\x94eas\x8c\rqc_thresholds\x94}\x94(j;\x01\x00\x00K\xfaj<\x01\x00\x00G?tz\xe1G\xae\x14{j=\x01\x00\x00}\x94(j?\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj@\x01\x00\x00K\x03jA\x01\x00\x00K\x02ujB\x01\x00\x00}\x94(jD\x01\x00\x00G?tz\xe1G\xae\x14{jE\x01\x00\x00K\x03jF\x01\x00\x00K\x02ujG\x01\x00\x00M\xf4\x01jH\x01\x00\x00K\x1ejI\x01\x00\x00K\x05jJ\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jM\x01\x00\x00K\x01jN\x01\x00\x00jO\x01\x00\x00jP\x01\x00\x00K\x00jQ\x01\x00\x00jR\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jU\x01\x00\x00K\x00jV\x01\x00\x00}\x94(jX\x01\x00\x00G?\xe6ffffffjY\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00]\x94]\x94(\x8c\x10AGGTCAAGACCACAGG\x94\x8c\x06M099d0\x94eauu\x8c\nH3N2_plate\x94}\x94(\x8c\x04date\x94je\x01\x00\x00C\x04\x07\xe8\x03\x04\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1cdata/plates/H3N2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j;\x01\x00\x00K\xfaj<\x01\x00\x00G?tz\xe1G\xae\x14{j=\x01\x00\x00}\x94(j?\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj@\x01\x00\x00K\x03jA\x01\x00\x00K\x02ujB\x01\x00\x00}\x94(jD\x01\x00\x00G?tz\xe1G\xae\x14{jE\x01\x00\x00K\x03jF\x01\x00\x00K\x02ujG\x01\x00\x00M\xf4\x01jH\x01\x00\x00K\x1ejI\x01\x00\x00K\x05jJ\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jM\x01\x00\x00K\x01jN\x01\x00\x00jO\x01\x00\x00jP\x01\x00\x00K\x00jQ\x01\x00\x00jR\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jU\x01\x00\x00K\x00jV\x01\x00\x00}\x94(jX\x01\x00\x00G?\xe6ffffffjY\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00j]\x01\x00\x00uuu\x8c\x16default_serum_titer_as\x94h\xc8\x8c\x1bdefault_serum_qc_thresholds\x94h\xc9\x8c\x16sera_override_defaults\x94}\x94(\x8c\x07M099d30\x94}\x94\x8c\rqc_thresholds\x94}\x94(h\xcaK\x02h\xcbK\x03h\xcc]\x94\x8c\x14A/Belgium/H0017/2022\x94aus\x8c\x07Y044d30\x94}\x94(\x8c\rqc_thresholds\x94}\x94(h\xcaK\x02h\xcbK\x04h\xcch\xcdu\x8c\x08titer_as\x94\x8c\x04nt50\x94uu\x8c\x14miscellaneous_plates\x94}\x94\x8c\x0erandom_plate_1\x94}\x94(\x8c\x04date\x94je\x01\x00\x00C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c,data/miscellaneous_plates/random_plate_1.csv\x94usu\x8c\x04rule\x94\x8c\x0cserum_titers\x94\x8c\x0fbench_iteration\x94N\x8c\tscriptdir\x94\x8cj/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks\x94ub.'); from snakemake.logging import logger; logger.printshellcmds = False; import os; os.chdir(r'/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example');
######## snakemake preamble end #########
Correlate NT50s with midpoints
.encode(
alt.X("nt50", scale=alt.Scale(type="log", nice=False, padding=8)),
alt.Y("midpoint", scale=alt.Scale(type="log", nice=False, padding=8)),
+ alt.Color("titer_bound"),
strokeWidth=alt.condition(virus_selection, alt.value(3), alt.value(0)),
size=alt.condition(virus_selection, alt.value(100), alt.value(60)),
tooltip=[
@@ -7814,7 +7815,7 @@ Correlate NT50s with midpoints
if c not in {"serum", "titer_as"}
],
)
- .mark_circle(stroke="red", fillOpacity=0.45, color="black")
+ .mark_circle(stroke="black", fillOpacity=0.45, color="black")
.properties(
width=350,
height=350,
@@ -7837,23 +7838,23 @@ Correlate NT50s with midpoints
Out[7]:
-
+
Correlate NT50s with midpoints
Out[7]:
-
+
Plot median titers and
title=f"fails {qc_thresholds['min_replicates']=}, {qc_thresholds['max_fold_change_from_median']=}",
legend=alt.Legend(titleLimit=500),
),
+ alt.Shape("titer_bound"),
strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0)),
tooltip=[
alt.Tooltip(c, format=".3g") if per_rep_titers_w_fc[c].dtype == float else c
@@ -8109,8 +8111,7 @@ Plot median titers and
],
)
.mark_point(
- shape="circle",
- size=40,
+ size=35,
filled=True,
fillOpacity=0.5,
strokeOpacity=1,
@@ -8124,14 +8125,14 @@ Plot median titers and
alt.X("titer", scale=alt.Scale(nice=False, padding=5, type="log")),
alt.Y("virus", sort=viruses),
alt.Fill("fails_qc"),
- strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0)),
+ alt.Shape("titer_bound"),
+ strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0.5)),
tooltip=[
alt.Tooltip(c, format=".3g") if median_titers_noqc[c].dtype == float else c
for c in median_titers_noqc
],
)
.mark_point(
- shape="square",
size=75,
filled=True,
fillOpacity=0.9,
@@ -8146,7 +8147,7 @@ Plot median titers and
.properties(
height=alt.Step(11),
width=250,
- title=f"{serum} median (square) and per-replicate (small circle) titers",
+ title=f"{serum} median (large points) and per-replicate (small points) titers",
)
.configure_axis(grid=False)
)
@@ -8165,23 +8166,23 @@ Plot median titers and
Out[10]:
-
+
Plot median titers and
alt.X("titer", scale=alt.Scale(nice=False, padding=5, type="log")),
alt.Y("virus", sort=viruses),
alt.Fill("fails_qc"),
- strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0)),
+ alt.Shape("titer_bound"),
+ strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0.5)),
tooltip=[
alt.Tooltip(c, format=".3g") if median_titers_noqc[c].dtype == float else c
for c in median_titers_noqc
],
)
.mark_point(
- shape="square",
size=75,
filled=True,
fillOpacity=0.9,
@@ -8146,7 +8147,7 @@ Plot median titers and
.properties(
height=alt.Step(11),
width=250,
- title=f"{serum} median (square) and per-replicate (small circle) titers",
+ title=f"{serum} median (large points) and per-replicate (small points) titers",
)
.configure_axis(grid=False)
)
@@ -8165,23 +8166,23 @@ Plot median titers and
Out[10]:
-
+
Plot median titers and
Out[10]:
-
+
######## snakemake preamble start (automatically inserted, do not edit) ########
-import sys; sys.path.extend(['/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example/..', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/bin', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/lib-dynload', '/home/jbloom/.local/lib/python3.11/site-packages', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/home/jbloom/.cache/snakemake/snakemake/source-cache/runtime-cache/tmpokpo7nbb/file/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks']); import pickle; snakemake = pickle.loads(b'\x80\x04\x95\x99 \x00\x00\x00\x00\x00\x00\x8c\x10snakemake.script\x94\x8c\tSnakemake\x94\x93\x94)\x81\x94}\x94(\x8c\x05input\x94\x8c\x0csnakemake.io\x94\x8c\nInputFiles\x94\x93\x94)\x81\x94(\x8c\'results/plates/plate11/curvefits.pickle\x94\x8c&results/plates/plate2/curvefits.pickle\x94e}\x94(\x8c\x06_names\x94}\x94\x8c\x07pickles\x94K\x00K\x02\x86\x94s\x8c\x12_allowed_overrides\x94]\x94(\x8c\x05index\x94\x8c\x04sort\x94eh\x13\x8c\tfunctools\x94\x8c\x07partial\x94\x93\x94h\x06\x8c\x19Namedlist._used_attribute\x94\x93\x94\x85\x94R\x94(h\x19)}\x94\x8c\x05_name\x94h\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh\x0fh\x06\x8c\tNamedlist\x94\x93\x94)\x81\x94(h\nh\x0be}\x94(h\r}\x94h\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bubub\x8c\x06output\x94h\x06\x8c\x0bOutputFiles\x94\x93\x94)\x81\x94(\x8c-results/sera/M099d30/titers_per_replicate.csv\x94\x8c\x1fresults/sera/M099d30/titers.csv\x94\x8c\x1fresults/sera/M099d30/curves.pdf\x94\x8c%results/sera/M099d30/curvefits.pickle\x94\x8c!results/sera/M099d30/qc_drops.yml\x94e}\x94(h\r}\x94(\x8c\x0eper_rep_titers\x94K\x00N\x86\x94\x8c\x06titers\x94K\x01N\x86\x94\x8c\ncurves_pdf\x94K\x02N\x86\x94\x8c\x06pickle\x94K\x03N\x86\x94\x8c\x08qc_drops\x94K\x04N\x86\x94uh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh<h5h>h6h@h7hBh8hDh9ub\x8c\x06params\x94h\x06\x8c\x06Params\x94\x93\x94)\x81\x94(]\x94(\x8c\x14A/California/07/2009\x94\x8c\x12A/Michigan/45/2015\x94\x8c\x12A/Brisbane/02/2018\x94\x8c\x11A/Ghana/2080/2020\x94\x8c\x18A/Cote_DIvoire/1448/2021\x94\x8c\x10A/Ghana/138/2020\x94\x8c\x0fA/Togo/845/2020\x94\x8c\x10A/Togo/0274/2021\x94\x8c\x10A/Hawaii/70/2019\x94\x8c\x12A/Niger/10217/2021\x94\x8c\x19A/SouthAfrica/R16462/2021\x94\x8c\x10A/Togo/0304/2021\x94\x8c\x12A/Paris/31196/2021\x94\x8c\x14A/Belgium/H0017/2022\x94\x8c\x18A/England/220200318/2022\x94\x8c\x12A/Paris/30353/2021\x94\x8c\x10A/Nimes/871/2021\x94\x8c\x14A/Belgium/H0038/2022\x94\x8c\x14A/Wisconsin/588/2019\x94\x8c\x14A/Washington/23/2020\x94\x8c\x1aA/India/Pun-NIV312851/2021\x94\x8c\x1aA/India-PUN-NIV328484/2021\x94\x8c\x16A/Bangladesh/8036/2021\x94\x8c\x0eA/Perth/1/2022\x94\x8c\x19A/SouthAfrica/R14850/2021\x94\x8c\x13A/Norway/25089/2022\x94\x8c\x1cA/Bangladesh/3210810034/2021\x94\x8c\x13A/Chester/5355/2022\x94\x8c\x12A/Michigan/19/2021\x94\x8c\x0eA/Utah/27/2022\x94\x8c\x12A/Newcastle/2/2022\x94\x8c\x1fA/India-Pune-Nivcov2221170/2022\x94\x8c\x10A/Sydney/43/2022\x94\x8c\x12A/Brisbane/48/2022\x94\x8c\x16A/Bangladesh/8002/2021\x94\x8c\x16A/Bangladesh/2221/2021\x94\x8c\x06strain\x94\x8c\x0fA/Texas/50/2012\x94\x8c\x1fA/Texas/50/2012_X-223A_(13/252)\x94\x8c\x1aA/Switzerland/9715293/2013\x94\x8c!A/Switzerland/9715293/2013_NIB-88\x94\x8c\x10A/Kansas/14/2017\x94\x8c\x16A/Kansas/14/2017_X-327\x94\x8c\x15A/Hong_Kong/4801/2014\x94\x8c\x1eA/Hong_Kong/4801/2014_(15/192)\x94\x8c\x1fA/Singapore/INFIMH-16-0019/2016\x94\x8c&A/Singapore/INFIMH-16-0019/2016_X-307A\x94\x8c\x13A/Hong_Kong/45/2019\x94\x8c\x15A/Hong_Kong/2671/2019\x94\x8c\x18A/Cambodia/e0826360/2020\x94\x8c\x1cA/Cambodia/e0826360/2020_egg\x94\x8c\x14A/TECPAN/017FLU/2023\x94\x8c\x1aA/South_Africa/R07073/2023\x94\x8c\x1aA/South_Africa/R06506/2023\x94\x8c\x1aA/South_Africa/R05384/2023\x94\x8c\x17A/Surat_Thani/P152/2023\x94\x8c\x10A/Jeju/1047/2023\x94\x8c\x16A/South_Dakota/22/2023\x94\x8c\x1bA/Schleswig-Holstein/4/2023\x94\x8c\x15A/Romania/543634/2022\x94\x8c\x0fA/EHIME/50/2023\x94\x8c\x16A/Luga/RII-11393S/2023\x94\x8c\x12A/YAMAGATA/98/2023\x94\x8c\x10A/SENDAI/45/2023\x94\x8c\x0fA/Darwin/9/2021\x94\x8c\x0fA/Darwin/6/2021\x94\x8c\x12A/Finland/391/2023\x94\x8c\x16A/KANAGAWA/IC2239/2023\x94\x8c\x16A/KANAGAWA/AC2316/2023\x94\x8c\x13A/Brisbane/429/2023\x94\x8c\x1aA/South_Africa/R06359/2023\x94\x8c\x11A/Busan/1301/2023\x94\x8c\x12A/Bhutan/0006/2023\x94\x8c\x1aA/Catalonia/2041146NS/2023\x94\x8c\x1bA/Bhutan/FLU-BTG-00988/2022\x94\x8c\x15A/SouthSudan/631/2023\x94\x8c\x15A/SouthSudan/642/2023\x94\x8c\x12A/Finland/399/2023\x94\x8c$A/Saint-Petersburg/RII-MH144113/2023\x94\x8c\x11A/Thailand/8/2022\x94\x8c\x18A/Netherlands/01685/2023\x94\x8c\x18A/Netherlands/01760/2023\x94\x8c\x1eA/Samut_Songkhram/THIS061/2023\x94\x8c\x14A/Bangkok/P3599/2023\x94\x8c\x16A/Massachusets/18/2022\x94\x8c\x15A/Abu_Dhabi/6753/2023\x94\x8c\x11A/Sydney/749/2023\x94\x8c\x11A/Georgia/40/2023\x94\x8c\x14A/California/81/2023\x94\x8c\x10A/Oman/3011/2023\x94\x8c\x1eA/Catalonia/NSVH102124476/2023\x94\x8c\x1fA/Saskatchewan/SKFLU317847/2023\x94\x8c\x14A/Krabi/THIS050/2023\x94\x8c\x14A/Victoria/1033/2023\x94\x8c\x1cA/SOUTH_AFRICA/R07876/202023\x94\x8c\x1bA/SouthAfrica/PET28931/2023\x94\x8c\x1aA/South_Africa/R07188/2023\x94\x8c\x1aA/South_Africa/R06477/2023\x94\x8c\x1aA/South_Africa/R05510/2023\x94\x8c\x1aA/South_Africa/R06240/2023\x94\x8c\x1bA/South_Africa/K056872/2023\x94\x8c\x1bA/South_Africa/KO56863/2023\x94\x8c\x14A/Townsville/68/2023\x94\x8c\x11A/Sydney/710/2023\x94\x8c\x13A/Wisconsin/27/2023\x94\x8c\x13A/Maldives/852/2023\x94\x8c\x19A/Chipata/15-NIC-001/2023\x94\x8c\x1cA/Malaysia/IMR-SARI1989/2023\x94\x8c\x1cA/Guangdong-Futian/1980/2023\x94\x8c\x11A/Sydney/715/2023\x94\x8c\x12A/Bhutan/0845/2023\x94\x8c\x19A/Solwezi/13-NIC-001/2023\x94\x8c\x11A/Sydney/332/2023\x94\x8c\x16A/Ontario/RV00796/2023\x94\x8c\x18A/Netherlands/01693/2023\x94\x8c\x14A/Bangkok/P3755/2023\x94e\x8c\x08midpoint\x94}\x94(\x8c\x0emin_replicates\x94K\x02\x8c\x1bmax_fold_change_from_median\x94K\x03\x8c\x11viruses_ignore_qc\x94]\x94\x8c\x14A/Belgium/H0017/2022\x94aue}\x94(h\r}\x94(\x8c\x17viral_strain_plot_order\x94K\x00N\x86\x94\x8c\x0eserum_titer_as\x94K\x01N\x86\x94\x8c\rqc_thresholds\x94K\x02N\x86\x94uh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh\xd1hSh\xd3h\xc8h\xd5h\xc9ub\x8c\twildcards\x94h\x06\x8c\tWildcards\x94\x93\x94)\x81\x94\x8c\x07M099d30\x94a}\x94(h\r}\x94\x8c\x05serum\x94K\x00N\x86\x94sh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94b\x8c\x05serum\x94h\xe4ub\x8c\x07threads\x94K\x01\x8c\tresources\x94h\x06\x8c\tResources\x94\x93\x94)\x81\x94(K\x01K\x01\x8c\x04/tmp\x94e}\x94(h\r}\x94(\x8c\x06_cores\x94K\x00N\x86\x94\x8c\x06_nodes\x94K\x01N\x86\x94\x8c\x06tmpdir\x94K\x02N\x86\x94uh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh\xfbK\x01h\xfdK\x01h\xffh\xf8ub\x8c\x03log\x94h\x06\x8c\x03Log\x94\x93\x94)\x81\x94\x8c)results/sera/M099d30/M099d30_titers.ipynb\x94a}\x94(h\r}\x94\x8c\x08notebook\x94K\x00N\x86\x94sh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bj\x11\x01\x00\x00j\x0e\x01\x00\x00ub\x8c\x06config\x94}\x94(\x8c\x10seqneut-pipeline\x94\x8c\x03../\x94\x8c\x04docs\x94\x8c\x07../docs\x94\x8c\x0bdescription\x94X\xba\x01\x00\x00# Test example for [seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nThis is a small toy-example created by subsetting a real experiment dataset.\n\nSee [https://github.com/jbloomlab/seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nfor the computer code and underlying numerical data.\n\nSee [here](https://github.com/jbloomlab/seqneut-pipeline/graphs/contributors) for a\nlist of all contributors to the pipeline.\n\x94\x8c\x0fviral_libraries\x94}\x94(\x8c\x14pdmH1N1_lib2023_loes\x94\x8c-data/viral_libraries/pdmH1N1_lib2023_loes.csv\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c)data/viral_libraries/2023_H3N2_Kikawa.csv\x94u\x8c\x17viral_strain_plot_order\x94\x8c data/viral_strain_plot_order.csv\x94\x8c\x12neut_standard_sets\x94}\x94\x8c\x08loes2023\x94\x8c3data/neut_standard_sets/loes2023_neut_standards.csv\x94s\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\x08upstream\x94\x8c\x1fCTCCCTACAATGTCGGATTTGTATTTAATAG\x94\x8c\ndownstream\x94\x8c\x00\x94\x8c\x04minq\x94K\x14\x8c\x11upstream_mismatch\x94K\x04\x8c\x0ebc_orientation\x94\x8c\x02R2\x94u\x8c#default_process_plate_qc_thresholds\x94}\x94(\x8c\x1bavg_barcode_counts_per_well\x94K\xfa\x8c\x1fmin_neut_standard_frac_per_well\x94G?tz\xe1G\xae\x14{\x8c"no_serum_per_viral_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?@bM\xd2\xf1\xa9\xfc\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c!per_neut_standard_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?tz\xe1G\xae\x14{\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c min_neut_standard_count_per_well\x94M\xf4\x01\x8c)min_no_serum_count_per_viral_barcode_well\x94K\x1e\x8c+max_frac_infectivity_per_viral_barcode_well\x94K\x05\x8c)min_dilutions_per_barcode_serum_replicate\x94K\x06u\x8c%default_process_plate_curvefit_params\x94}\x94(\x8c\x18frac_infectivity_ceiling\x94K\x01\x8c\x06fixtop\x94]\x94(G?\xe8\x00\x00\x00\x00\x00\x00K\x01e\x8c\tfixbottom\x94K\x00\x8c\x08fixslope\x94]\x94(G?\xe9\x99\x99\x99\x99\x99\x9aK\x05eu\x8c!default_process_plate_curvefit_qc\x94}\x94(\x8c\x1dmax_frac_infectivity_at_least\x94K\x00\x8c\x0fgoodness_of_fit\x94}\x94(\x8c\x06min_R2\x94G?\xe6ffffff\x8c\x08max_RMSD\x94G?\xb9\x99\x99\x99\x99\x99\x9au\x8c#serum_replicates_ignore_curvefit_qc\x94]\x94\x8c+barcode_serum_replicates_ignore_curvefit_qc\x94]\x94u\x8c\x06plates\x94}\x94(\x8c\x06plate2\x94}\x94(\x8c\x04date\x94\x8c\x08datetime\x94\x8c\x04date\x94\x93\x94C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1edata/plates/plate2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j<\x01\x00\x00K\xfaj=\x01\x00\x00G?tz\xe1G\xae\x14{j>\x01\x00\x00}\x94(j@\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcjA\x01\x00\x00K\x03jB\x01\x00\x00K\x02ujC\x01\x00\x00}\x94(jE\x01\x00\x00G?tz\xe1G\xae\x14{jF\x01\x00\x00K\x03jG\x01\x00\x00K\x02ujH\x01\x00\x00M\xf4\x01jI\x01\x00\x00K\x1ejJ\x01\x00\x00K\x05jK\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jN\x01\x00\x00K\x01jO\x01\x00\x00jP\x01\x00\x00jQ\x01\x00\x00K\x00jR\x01\x00\x00jS\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jV\x01\x00\x00K\x00jW\x01\x00\x00}\x94(jY\x01\x00\x00G?\xe6ffffffjZ\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9auj[\x01\x00\x00j\\\x01\x00\x00j]\x01\x00\x00j^\x01\x00\x00uu\x8c\x07plate11\x94}\x94(\x8c\x04date\x94jf\x01\x00\x00C\x04\x07\xe7\t\x1a\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1fdata/plates/plate11_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\x18barcode_serum_replicates\x94]\x94]\x94(\x8c\x10AGTCCTATCCTCAAAT\x94\x8c\x06M099d0\x94eas\x8c\rqc_thresholds\x94}\x94(j<\x01\x00\x00K\xfaj=\x01\x00\x00G?tz\xe1G\xae\x14{j>\x01\x00\x00}\x94(j@\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcjA\x01\x00\x00K\x03jB\x01\x00\x00K\x02ujC\x01\x00\x00}\x94(jE\x01\x00\x00G?tz\xe1G\xae\x14{jF\x01\x00\x00K\x03jG\x01\x00\x00K\x02ujH\x01\x00\x00M\xf4\x01jI\x01\x00\x00K\x1ejJ\x01\x00\x00K\x05jK\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jN\x01\x00\x00K\x01jO\x01\x00\x00jP\x01\x00\x00jQ\x01\x00\x00K\x00jR\x01\x00\x00jS\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jV\x01\x00\x00K\x00jW\x01\x00\x00}\x94(jY\x01\x00\x00G?\xe6ffffffjZ\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9auj[\x01\x00\x00j\\\x01\x00\x00j]\x01\x00\x00]\x94]\x94(\x8c\x10AGGTCAAGACCACAGG\x94\x8c\x06M099d0\x94eauu\x8c\nH3N2_plate\x94}\x94(\x8c\x04date\x94jf\x01\x00\x00C\x04\x07\xe8\x03\x04\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1cdata/plates/H3N2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j<\x01\x00\x00K\xfaj=\x01\x00\x00G?tz\xe1G\xae\x14{j>\x01\x00\x00}\x94(j@\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcjA\x01\x00\x00K\x03jB\x01\x00\x00K\x02ujC\x01\x00\x00}\x94(jE\x01\x00\x00G?tz\xe1G\xae\x14{jF\x01\x00\x00K\x03jG\x01\x00\x00K\x02ujH\x01\x00\x00M\xf4\x01jI\x01\x00\x00K\x1ejJ\x01\x00\x00K\x05jK\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jN\x01\x00\x00K\x01jO\x01\x00\x00jP\x01\x00\x00jQ\x01\x00\x00K\x00jR\x01\x00\x00jS\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jV\x01\x00\x00K\x00jW\x01\x00\x00}\x94(jY\x01\x00\x00G?\xe6ffffffjZ\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9auj[\x01\x00\x00j\\\x01\x00\x00j]\x01\x00\x00j^\x01\x00\x00uuu\x8c\x16default_serum_titer_as\x94h\xc8\x8c\x1bdefault_serum_qc_thresholds\x94}\x94(h\xcaK\x02h\xcbK\x03h\xcc]\x94u\x8c\x16sera_override_defaults\x94}\x94(\x8c\x07M099d30\x94}\x94\x8c\rqc_thresholds\x94h\xc9s\x8c\x07Y044d30\x94}\x94(\x8c\rqc_thresholds\x94}\x94(h\xcaK\x02h\xcbK\x04h\xccj\xb5\x01\x00\x00u\x8c\x08titer_as\x94\x8c\x04nt50\x94uu\x8c\x14miscellaneous_plates\x94}\x94\x8c\x0erandom_plate_1\x94}\x94(\x8c\x04date\x94jf\x01\x00\x00C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c,data/miscellaneous_plates/random_plate_1.csv\x94usu\x8c\x04rule\x94\x8c\x0cserum_titers\x94\x8c\x0fbench_iteration\x94N\x8c\tscriptdir\x94\x8cj/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks\x94ub.'); from snakemake.logging import logger; logger.printshellcmds = False; import os; os.chdir(r'/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example');
+import sys; sys.path.extend(['/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example/..', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/bin', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/lib-dynload', '/home/jbloom/.local/lib/python3.11/site-packages', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/home/jbloom/.cache/snakemake/snakemake/source-cache/runtime-cache/tmppc4t0lmo/file/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks']); import pickle; snakemake = pickle.loads(b'\x80\x04\x95\x99 \x00\x00\x00\x00\x00\x00\x8c\x10snakemake.script\x94\x8c\tSnakemake\x94\x93\x94)\x81\x94}\x94(\x8c\x05input\x94\x8c\x0csnakemake.io\x94\x8c\nInputFiles\x94\x93\x94)\x81\x94(\x8c\'results/plates/plate11/curvefits.pickle\x94\x8c&results/plates/plate2/curvefits.pickle\x94e}\x94(\x8c\x06_names\x94}\x94\x8c\x07pickles\x94K\x00K\x02\x86\x94s\x8c\x12_allowed_overrides\x94]\x94(\x8c\x05index\x94\x8c\x04sort\x94eh\x13\x8c\tfunctools\x94\x8c\x07partial\x94\x93\x94h\x06\x8c\x19Namedlist._used_attribute\x94\x93\x94\x85\x94R\x94(h\x19)}\x94\x8c\x05_name\x94h\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh\x0fh\x06\x8c\tNamedlist\x94\x93\x94)\x81\x94(h\nh\x0be}\x94(h\r}\x94h\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bubub\x8c\x06output\x94h\x06\x8c\x0bOutputFiles\x94\x93\x94)\x81\x94(\x8c-results/sera/M099d30/titers_per_replicate.csv\x94\x8c\x1fresults/sera/M099d30/titers.csv\x94\x8c\x1fresults/sera/M099d30/curves.pdf\x94\x8c%results/sera/M099d30/curvefits.pickle\x94\x8c!results/sera/M099d30/qc_drops.yml\x94e}\x94(h\r}\x94(\x8c\x0eper_rep_titers\x94K\x00N\x86\x94\x8c\x06titers\x94K\x01N\x86\x94\x8c\ncurves_pdf\x94K\x02N\x86\x94\x8c\x06pickle\x94K\x03N\x86\x94\x8c\x08qc_drops\x94K\x04N\x86\x94uh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh<h5h>h6h@h7hBh8hDh9ub\x8c\x06params\x94h\x06\x8c\x06Params\x94\x93\x94)\x81\x94(]\x94(\x8c\x14A/California/07/2009\x94\x8c\x12A/Michigan/45/2015\x94\x8c\x12A/Brisbane/02/2018\x94\x8c\x11A/Ghana/2080/2020\x94\x8c\x18A/Cote_DIvoire/1448/2021\x94\x8c\x10A/Ghana/138/2020\x94\x8c\x0fA/Togo/845/2020\x94\x8c\x10A/Togo/0274/2021\x94\x8c\x10A/Hawaii/70/2019\x94\x8c\x12A/Niger/10217/2021\x94\x8c\x19A/SouthAfrica/R16462/2021\x94\x8c\x10A/Togo/0304/2021\x94\x8c\x12A/Paris/31196/2021\x94\x8c\x14A/Belgium/H0017/2022\x94\x8c\x18A/England/220200318/2022\x94\x8c\x12A/Paris/30353/2021\x94\x8c\x10A/Nimes/871/2021\x94\x8c\x14A/Belgium/H0038/2022\x94\x8c\x14A/Wisconsin/588/2019\x94\x8c\x14A/Washington/23/2020\x94\x8c\x1aA/India/Pun-NIV312851/2021\x94\x8c\x1aA/India-PUN-NIV328484/2021\x94\x8c\x16A/Bangladesh/8036/2021\x94\x8c\x0eA/Perth/1/2022\x94\x8c\x19A/SouthAfrica/R14850/2021\x94\x8c\x13A/Norway/25089/2022\x94\x8c\x1cA/Bangladesh/3210810034/2021\x94\x8c\x13A/Chester/5355/2022\x94\x8c\x12A/Michigan/19/2021\x94\x8c\x0eA/Utah/27/2022\x94\x8c\x12A/Newcastle/2/2022\x94\x8c\x1fA/India-Pune-Nivcov2221170/2022\x94\x8c\x10A/Sydney/43/2022\x94\x8c\x12A/Brisbane/48/2022\x94\x8c\x16A/Bangladesh/8002/2021\x94\x8c\x16A/Bangladesh/2221/2021\x94\x8c\x06strain\x94\x8c\x0fA/Texas/50/2012\x94\x8c\x1fA/Texas/50/2012_X-223A_(13/252)\x94\x8c\x1aA/Switzerland/9715293/2013\x94\x8c!A/Switzerland/9715293/2013_NIB-88\x94\x8c\x10A/Kansas/14/2017\x94\x8c\x16A/Kansas/14/2017_X-327\x94\x8c\x15A/Hong_Kong/4801/2014\x94\x8c\x1eA/Hong_Kong/4801/2014_(15/192)\x94\x8c\x1fA/Singapore/INFIMH-16-0019/2016\x94\x8c&A/Singapore/INFIMH-16-0019/2016_X-307A\x94\x8c\x13A/Hong_Kong/45/2019\x94\x8c\x15A/Hong_Kong/2671/2019\x94\x8c\x18A/Cambodia/e0826360/2020\x94\x8c\x1cA/Cambodia/e0826360/2020_egg\x94\x8c\x14A/TECPAN/017FLU/2023\x94\x8c\x1aA/South_Africa/R07073/2023\x94\x8c\x1aA/South_Africa/R06506/2023\x94\x8c\x1aA/South_Africa/R05384/2023\x94\x8c\x17A/Surat_Thani/P152/2023\x94\x8c\x10A/Jeju/1047/2023\x94\x8c\x16A/South_Dakota/22/2023\x94\x8c\x1bA/Schleswig-Holstein/4/2023\x94\x8c\x15A/Romania/543634/2022\x94\x8c\x0fA/EHIME/50/2023\x94\x8c\x16A/Luga/RII-11393S/2023\x94\x8c\x12A/YAMAGATA/98/2023\x94\x8c\x10A/SENDAI/45/2023\x94\x8c\x0fA/Darwin/9/2021\x94\x8c\x0fA/Darwin/6/2021\x94\x8c\x12A/Finland/391/2023\x94\x8c\x16A/KANAGAWA/IC2239/2023\x94\x8c\x16A/KANAGAWA/AC2316/2023\x94\x8c\x13A/Brisbane/429/2023\x94\x8c\x1aA/South_Africa/R06359/2023\x94\x8c\x11A/Busan/1301/2023\x94\x8c\x12A/Bhutan/0006/2023\x94\x8c\x1aA/Catalonia/2041146NS/2023\x94\x8c\x1bA/Bhutan/FLU-BTG-00988/2022\x94\x8c\x15A/SouthSudan/631/2023\x94\x8c\x15A/SouthSudan/642/2023\x94\x8c\x12A/Finland/399/2023\x94\x8c$A/Saint-Petersburg/RII-MH144113/2023\x94\x8c\x11A/Thailand/8/2022\x94\x8c\x18A/Netherlands/01685/2023\x94\x8c\x18A/Netherlands/01760/2023\x94\x8c\x1eA/Samut_Songkhram/THIS061/2023\x94\x8c\x14A/Bangkok/P3599/2023\x94\x8c\x16A/Massachusets/18/2022\x94\x8c\x15A/Abu_Dhabi/6753/2023\x94\x8c\x11A/Sydney/749/2023\x94\x8c\x11A/Georgia/40/2023\x94\x8c\x14A/California/81/2023\x94\x8c\x10A/Oman/3011/2023\x94\x8c\x1eA/Catalonia/NSVH102124476/2023\x94\x8c\x1fA/Saskatchewan/SKFLU317847/2023\x94\x8c\x14A/Krabi/THIS050/2023\x94\x8c\x14A/Victoria/1033/2023\x94\x8c\x1cA/SOUTH_AFRICA/R07876/202023\x94\x8c\x1bA/SouthAfrica/PET28931/2023\x94\x8c\x1aA/South_Africa/R07188/2023\x94\x8c\x1aA/South_Africa/R06477/2023\x94\x8c\x1aA/South_Africa/R05510/2023\x94\x8c\x1aA/South_Africa/R06240/2023\x94\x8c\x1bA/South_Africa/K056872/2023\x94\x8c\x1bA/South_Africa/KO56863/2023\x94\x8c\x14A/Townsville/68/2023\x94\x8c\x11A/Sydney/710/2023\x94\x8c\x13A/Wisconsin/27/2023\x94\x8c\x13A/Maldives/852/2023\x94\x8c\x19A/Chipata/15-NIC-001/2023\x94\x8c\x1cA/Malaysia/IMR-SARI1989/2023\x94\x8c\x1cA/Guangdong-Futian/1980/2023\x94\x8c\x11A/Sydney/715/2023\x94\x8c\x12A/Bhutan/0845/2023\x94\x8c\x19A/Solwezi/13-NIC-001/2023\x94\x8c\x11A/Sydney/332/2023\x94\x8c\x16A/Ontario/RV00796/2023\x94\x8c\x18A/Netherlands/01693/2023\x94\x8c\x14A/Bangkok/P3755/2023\x94e\x8c\x08midpoint\x94}\x94(\x8c\x0emin_replicates\x94K\x02\x8c\x1bmax_fold_change_from_median\x94K\x03\x8c\x11viruses_ignore_qc\x94]\x94\x8c\x14A/Belgium/H0017/2022\x94aue}\x94(h\r}\x94(\x8c\x17viral_strain_plot_order\x94K\x00N\x86\x94\x8c\x0eserum_titer_as\x94K\x01N\x86\x94\x8c\rqc_thresholds\x94K\x02N\x86\x94uh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh\xd1hSh\xd3h\xc8h\xd5h\xc9ub\x8c\twildcards\x94h\x06\x8c\tWildcards\x94\x93\x94)\x81\x94\x8c\x07M099d30\x94a}\x94(h\r}\x94\x8c\x05serum\x94K\x00N\x86\x94sh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94b\x8c\x05serum\x94h\xe4ub\x8c\x07threads\x94K\x01\x8c\tresources\x94h\x06\x8c\tResources\x94\x93\x94)\x81\x94(K\x01K\x01\x8c\x04/tmp\x94e}\x94(h\r}\x94(\x8c\x06_cores\x94K\x00N\x86\x94\x8c\x06_nodes\x94K\x01N\x86\x94\x8c\x06tmpdir\x94K\x02N\x86\x94uh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bh\xfbK\x01h\xfdK\x01h\xffh\xf8ub\x8c\x03log\x94h\x06\x8c\x03Log\x94\x93\x94)\x81\x94\x8c)results/sera/M099d30/M099d30_titers.ipynb\x94a}\x94(h\r}\x94\x8c\x08notebook\x94K\x00N\x86\x94sh\x11]\x94(h\x13h\x14eh\x13h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x13sNt\x94bh\x14h\x17h\x19\x85\x94R\x94(h\x19)}\x94h\x1dh\x14sNt\x94bj\x11\x01\x00\x00j\x0e\x01\x00\x00ub\x8c\x06config\x94}\x94(\x8c\x10seqneut-pipeline\x94\x8c\x03../\x94\x8c\x04docs\x94\x8c\x07../docs\x94\x8c\x0bdescription\x94X\xba\x01\x00\x00# Test example for [seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nThis is a small toy-example created by subsetting a real experiment dataset.\n\nSee [https://github.com/jbloomlab/seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nfor the computer code and underlying numerical data.\n\nSee [here](https://github.com/jbloomlab/seqneut-pipeline/graphs/contributors) for a\nlist of all contributors to the pipeline.\n\x94\x8c\x0fviral_libraries\x94}\x94(\x8c\x14pdmH1N1_lib2023_loes\x94\x8c-data/viral_libraries/pdmH1N1_lib2023_loes.csv\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c)data/viral_libraries/2023_H3N2_Kikawa.csv\x94u\x8c\x17viral_strain_plot_order\x94\x8c data/viral_strain_plot_order.csv\x94\x8c\x12neut_standard_sets\x94}\x94\x8c\x08loes2023\x94\x8c3data/neut_standard_sets/loes2023_neut_standards.csv\x94s\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\x08upstream\x94\x8c\x1fCTCCCTACAATGTCGGATTTGTATTTAATAG\x94\x8c\ndownstream\x94\x8c\x00\x94\x8c\x04minq\x94K\x14\x8c\x11upstream_mismatch\x94K\x04\x8c\x0ebc_orientation\x94\x8c\x02R2\x94u\x8c#default_process_plate_qc_thresholds\x94}\x94(\x8c\x1bavg_barcode_counts_per_well\x94K\xfa\x8c\x1fmin_neut_standard_frac_per_well\x94G?tz\xe1G\xae\x14{\x8c"no_serum_per_viral_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?@bM\xd2\xf1\xa9\xfc\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c!per_neut_standard_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?tz\xe1G\xae\x14{\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c min_neut_standard_count_per_well\x94M\xf4\x01\x8c)min_no_serum_count_per_viral_barcode_well\x94K\x1e\x8c+max_frac_infectivity_per_viral_barcode_well\x94K\x05\x8c)min_dilutions_per_barcode_serum_replicate\x94K\x06u\x8c%default_process_plate_curvefit_params\x94}\x94(\x8c\x18frac_infectivity_ceiling\x94K\x01\x8c\x06fixtop\x94]\x94(G?\xe8\x00\x00\x00\x00\x00\x00K\x01e\x8c\tfixbottom\x94K\x00\x8c\x08fixslope\x94]\x94(G?\xe9\x99\x99\x99\x99\x99\x9aK\x05eu\x8c!default_process_plate_curvefit_qc\x94}\x94(\x8c\x1dmax_frac_infectivity_at_least\x94K\x00\x8c\x0fgoodness_of_fit\x94}\x94(\x8c\x06min_R2\x94G?\xe6ffffff\x8c\x08max_RMSD\x94G?\xb9\x99\x99\x99\x99\x99\x9au\x8c#serum_replicates_ignore_curvefit_qc\x94]\x94\x8c+barcode_serum_replicates_ignore_curvefit_qc\x94]\x94u\x8c\x06plates\x94}\x94(\x8c\x06plate2\x94}\x94(\x8c\x04date\x94\x8c\x08datetime\x94\x8c\x04date\x94\x93\x94C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1edata/plates/plate2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j<\x01\x00\x00K\xfaj=\x01\x00\x00G?tz\xe1G\xae\x14{j>\x01\x00\x00}\x94(j@\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcjA\x01\x00\x00K\x03jB\x01\x00\x00K\x02ujC\x01\x00\x00}\x94(jE\x01\x00\x00G?tz\xe1G\xae\x14{jF\x01\x00\x00K\x03jG\x01\x00\x00K\x02ujH\x01\x00\x00M\xf4\x01jI\x01\x00\x00K\x1ejJ\x01\x00\x00K\x05jK\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jN\x01\x00\x00K\x01jO\x01\x00\x00jP\x01\x00\x00jQ\x01\x00\x00K\x00jR\x01\x00\x00jS\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jV\x01\x00\x00K\x00jW\x01\x00\x00}\x94(jY\x01\x00\x00G?\xe6ffffffjZ\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9auj[\x01\x00\x00j\\\x01\x00\x00j]\x01\x00\x00j^\x01\x00\x00uu\x8c\x07plate11\x94}\x94(\x8c\x04date\x94jf\x01\x00\x00C\x04\x07\xe7\t\x1a\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1fdata/plates/plate11_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\x18barcode_serum_replicates\x94]\x94]\x94(\x8c\x10AGTCCTATCCTCAAAT\x94\x8c\x06M099d0\x94eas\x8c\rqc_thresholds\x94}\x94(j<\x01\x00\x00K\xfaj=\x01\x00\x00G?tz\xe1G\xae\x14{j>\x01\x00\x00}\x94(j@\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcjA\x01\x00\x00K\x03jB\x01\x00\x00K\x02ujC\x01\x00\x00}\x94(jE\x01\x00\x00G?tz\xe1G\xae\x14{jF\x01\x00\x00K\x03jG\x01\x00\x00K\x02ujH\x01\x00\x00M\xf4\x01jI\x01\x00\x00K\x1ejJ\x01\x00\x00K\x05jK\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jN\x01\x00\x00K\x01jO\x01\x00\x00jP\x01\x00\x00jQ\x01\x00\x00K\x00jR\x01\x00\x00jS\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jV\x01\x00\x00K\x00jW\x01\x00\x00}\x94(jY\x01\x00\x00G?\xe6ffffffjZ\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9auj[\x01\x00\x00j\\\x01\x00\x00j]\x01\x00\x00]\x94]\x94(\x8c\x10AGGTCAAGACCACAGG\x94\x8c\x06M099d0\x94eauu\x8c\nH3N2_plate\x94}\x94(\x8c\x04date\x94jf\x01\x00\x00C\x04\x07\xe8\x03\x04\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1cdata/plates/H3N2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j<\x01\x00\x00K\xfaj=\x01\x00\x00G?tz\xe1G\xae\x14{j>\x01\x00\x00}\x94(j@\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcjA\x01\x00\x00K\x03jB\x01\x00\x00K\x02ujC\x01\x00\x00}\x94(jE\x01\x00\x00G?tz\xe1G\xae\x14{jF\x01\x00\x00K\x03jG\x01\x00\x00K\x02ujH\x01\x00\x00M\xf4\x01jI\x01\x00\x00K\x1ejJ\x01\x00\x00K\x05jK\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jN\x01\x00\x00K\x01jO\x01\x00\x00jP\x01\x00\x00jQ\x01\x00\x00K\x00jR\x01\x00\x00jS\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jV\x01\x00\x00K\x00jW\x01\x00\x00}\x94(jY\x01\x00\x00G?\xe6ffffffjZ\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9auj[\x01\x00\x00j\\\x01\x00\x00j]\x01\x00\x00j^\x01\x00\x00uuu\x8c\x16default_serum_titer_as\x94h\xc8\x8c\x1bdefault_serum_qc_thresholds\x94}\x94(h\xcaK\x02h\xcbK\x03h\xcc]\x94u\x8c\x16sera_override_defaults\x94}\x94(\x8c\x07M099d30\x94}\x94\x8c\rqc_thresholds\x94h\xc9s\x8c\x07Y044d30\x94}\x94(\x8c\rqc_thresholds\x94}\x94(h\xcaK\x02h\xcbK\x04h\xccj\xb5\x01\x00\x00u\x8c\x08titer_as\x94\x8c\x04nt50\x94uu\x8c\x14miscellaneous_plates\x94}\x94\x8c\x0erandom_plate_1\x94}\x94(\x8c\x04date\x94jf\x01\x00\x00C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c,data/miscellaneous_plates/random_plate_1.csv\x94usu\x8c\x04rule\x94\x8c\x0cserum_titers\x94\x8c\x0fbench_iteration\x94N\x8c\tscriptdir\x94\x8cj/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks\x94ub.'); from snakemake.logging import logger; logger.printshellcmds = False; import os; os.chdir(r'/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example');
######## snakemake preamble end #########
Correlate NT50s with midpoints
.encode(
alt.X("nt50", scale=alt.Scale(type="log", nice=False, padding=8)),
alt.Y("midpoint", scale=alt.Scale(type="log", nice=False, padding=8)),
+ alt.Color("titer_bound"),
strokeWidth=alt.condition(virus_selection, alt.value(3), alt.value(0)),
size=alt.condition(virus_selection, alt.value(100), alt.value(60)),
tooltip=[
@@ -7814,7 +7815,7 @@ Correlate NT50s with midpoints
if c not in {"serum", "titer_as"}
],
)
- .mark_circle(stroke="red", fillOpacity=0.45, color="black")
+ .mark_circle(stroke="black", fillOpacity=0.45, color="black")
.properties(
width=350,
height=350,
@@ -7837,23 +7838,23 @@ Correlate NT50s with midpoints
Out[7]:
-
+
Correlate NT50s with midpoints
Out[7]:
-
+
Plot median titers and
title=f"fails {qc_thresholds['min_replicates']=}, {qc_thresholds['max_fold_change_from_median']=}",
legend=alt.Legend(titleLimit=500),
),
+ alt.Shape("titer_bound"),
strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0)),
tooltip=[
alt.Tooltip(c, format=".3g") if per_rep_titers_w_fc[c].dtype == float else c
@@ -8109,8 +8111,7 @@ Plot median titers and
],
)
.mark_point(
- shape="circle",
- size=40,
+ size=35,
filled=True,
fillOpacity=0.5,
strokeOpacity=1,
@@ -8124,14 +8125,14 @@ Plot median titers and
alt.X("titer", scale=alt.Scale(nice=False, padding=5, type="log")),
alt.Y("virus", sort=viruses),
alt.Fill("fails_qc"),
- strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0)),
+ alt.Shape("titer_bound"),
+ strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0.5)),
tooltip=[
alt.Tooltip(c, format=".3g") if median_titers_noqc[c].dtype == float else c
for c in median_titers_noqc
],
)
.mark_point(
- shape="square",
size=75,
filled=True,
fillOpacity=0.9,
@@ -8146,7 +8147,7 @@ Plot median titers and
.properties(
height=alt.Step(11),
width=250,
- title=f"{serum} median (square) and per-replicate (small circle) titers",
+ title=f"{serum} median (large points) and per-replicate (small points) titers",
)
.configure_axis(grid=False)
)
@@ -8165,23 +8166,23 @@ Plot median titers and
Out[10]:
-
+
Plot median titers and
alt.X("titer", scale=alt.Scale(nice=False, padding=5, type="log")),
alt.Y("virus", sort=viruses),
alt.Fill("fails_qc"),
- strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0)),
+ alt.Shape("titer_bound"),
+ strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0.5)),
tooltip=[
alt.Tooltip(c, format=".3g") if median_titers_noqc[c].dtype == float else c
for c in median_titers_noqc
],
)
.mark_point(
- shape="square",
size=75,
filled=True,
fillOpacity=0.9,
@@ -8146,7 +8147,7 @@ Plot median titers and
.properties(
height=alt.Step(11),
width=250,
- title=f"{serum} median (square) and per-replicate (small circle) titers",
+ title=f"{serum} median (large points) and per-replicate (small points) titers",
)
.configure_axis(grid=False)
)
@@ -8165,23 +8166,23 @@ Plot median titers and
Out[10]:
-
+
Plot median titers and
Out[10]:
-
+
######## snakemake preamble start (automatically inserted, do not edit) ########
-import sys; sys.path.extend(['/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example/..', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/bin', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/lib-dynload', '/home/jbloom/.local/lib/python3.11/site-packages', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/home/jbloom/.cache/snakemake/snakemake/source-cache/runtime-cache/tmpokpo7nbb/file/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks']); import pickle; snakemake = pickle.loads(b'\x80\x04\x95i \x00\x00\x00\x00\x00\x00\x8c\x10snakemake.script\x94\x8c\tSnakemake\x94\x93\x94)\x81\x94}\x94(\x8c\x05input\x94\x8c\x0csnakemake.io\x94\x8c\nInputFiles\x94\x93\x94)\x81\x94\x8c\'results/plates/plate11/curvefits.pickle\x94a}\x94(\x8c\x06_names\x94}\x94\x8c\x07pickles\x94K\x00K\x01\x86\x94s\x8c\x12_allowed_overrides\x94]\x94(\x8c\x05index\x94\x8c\x04sort\x94eh\x12\x8c\tfunctools\x94\x8c\x07partial\x94\x93\x94h\x06\x8c\x19Namedlist._used_attribute\x94\x93\x94\x85\x94R\x94(h\x18)}\x94\x8c\x05_name\x94h\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\x0eh\x06\x8c\tNamedlist\x94\x93\x94)\x81\x94h\na}\x94(h\x0c}\x94h\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bubub\x8c\x06output\x94h\x06\x8c\x0bOutputFiles\x94\x93\x94)\x81\x94(\x8c-results/sera/Y044d30/titers_per_replicate.csv\x94\x8c\x1fresults/sera/Y044d30/titers.csv\x94\x8c\x1fresults/sera/Y044d30/curves.pdf\x94\x8c%results/sera/Y044d30/curvefits.pickle\x94\x8c!results/sera/Y044d30/qc_drops.yml\x94e}\x94(h\x0c}\x94(\x8c\x0eper_rep_titers\x94K\x00N\x86\x94\x8c\x06titers\x94K\x01N\x86\x94\x8c\ncurves_pdf\x94K\x02N\x86\x94\x8c\x06pickle\x94K\x03N\x86\x94\x8c\x08qc_drops\x94K\x04N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh;h4h=h5h?h6hAh7hCh8ub\x8c\x06params\x94h\x06\x8c\x06Params\x94\x93\x94)\x81\x94(]\x94(\x8c\x14A/California/07/2009\x94\x8c\x12A/Michigan/45/2015\x94\x8c\x12A/Brisbane/02/2018\x94\x8c\x11A/Ghana/2080/2020\x94\x8c\x18A/Cote_DIvoire/1448/2021\x94\x8c\x10A/Ghana/138/2020\x94\x8c\x0fA/Togo/845/2020\x94\x8c\x10A/Togo/0274/2021\x94\x8c\x10A/Hawaii/70/2019\x94\x8c\x12A/Niger/10217/2021\x94\x8c\x19A/SouthAfrica/R16462/2021\x94\x8c\x10A/Togo/0304/2021\x94\x8c\x12A/Paris/31196/2021\x94\x8c\x14A/Belgium/H0017/2022\x94\x8c\x18A/England/220200318/2022\x94\x8c\x12A/Paris/30353/2021\x94\x8c\x10A/Nimes/871/2021\x94\x8c\x14A/Belgium/H0038/2022\x94\x8c\x14A/Wisconsin/588/2019\x94\x8c\x14A/Washington/23/2020\x94\x8c\x1aA/India/Pun-NIV312851/2021\x94\x8c\x1aA/India-PUN-NIV328484/2021\x94\x8c\x16A/Bangladesh/8036/2021\x94\x8c\x0eA/Perth/1/2022\x94\x8c\x19A/SouthAfrica/R14850/2021\x94\x8c\x13A/Norway/25089/2022\x94\x8c\x1cA/Bangladesh/3210810034/2021\x94\x8c\x13A/Chester/5355/2022\x94\x8c\x12A/Michigan/19/2021\x94\x8c\x0eA/Utah/27/2022\x94\x8c\x12A/Newcastle/2/2022\x94\x8c\x1fA/India-Pune-Nivcov2221170/2022\x94\x8c\x10A/Sydney/43/2022\x94\x8c\x12A/Brisbane/48/2022\x94\x8c\x16A/Bangladesh/8002/2021\x94\x8c\x16A/Bangladesh/2221/2021\x94\x8c\x06strain\x94\x8c\x0fA/Texas/50/2012\x94\x8c\x1fA/Texas/50/2012_X-223A_(13/252)\x94\x8c\x1aA/Switzerland/9715293/2013\x94\x8c!A/Switzerland/9715293/2013_NIB-88\x94\x8c\x10A/Kansas/14/2017\x94\x8c\x16A/Kansas/14/2017_X-327\x94\x8c\x15A/Hong_Kong/4801/2014\x94\x8c\x1eA/Hong_Kong/4801/2014_(15/192)\x94\x8c\x1fA/Singapore/INFIMH-16-0019/2016\x94\x8c&A/Singapore/INFIMH-16-0019/2016_X-307A\x94\x8c\x13A/Hong_Kong/45/2019\x94\x8c\x15A/Hong_Kong/2671/2019\x94\x8c\x18A/Cambodia/e0826360/2020\x94\x8c\x1cA/Cambodia/e0826360/2020_egg\x94\x8c\x14A/TECPAN/017FLU/2023\x94\x8c\x1aA/South_Africa/R07073/2023\x94\x8c\x1aA/South_Africa/R06506/2023\x94\x8c\x1aA/South_Africa/R05384/2023\x94\x8c\x17A/Surat_Thani/P152/2023\x94\x8c\x10A/Jeju/1047/2023\x94\x8c\x16A/South_Dakota/22/2023\x94\x8c\x1bA/Schleswig-Holstein/4/2023\x94\x8c\x15A/Romania/543634/2022\x94\x8c\x0fA/EHIME/50/2023\x94\x8c\x16A/Luga/RII-11393S/2023\x94\x8c\x12A/YAMAGATA/98/2023\x94\x8c\x10A/SENDAI/45/2023\x94\x8c\x0fA/Darwin/9/2021\x94\x8c\x0fA/Darwin/6/2021\x94\x8c\x12A/Finland/391/2023\x94\x8c\x16A/KANAGAWA/IC2239/2023\x94\x8c\x16A/KANAGAWA/AC2316/2023\x94\x8c\x13A/Brisbane/429/2023\x94\x8c\x1aA/South_Africa/R06359/2023\x94\x8c\x11A/Busan/1301/2023\x94\x8c\x12A/Bhutan/0006/2023\x94\x8c\x1aA/Catalonia/2041146NS/2023\x94\x8c\x1bA/Bhutan/FLU-BTG-00988/2022\x94\x8c\x15A/SouthSudan/631/2023\x94\x8c\x15A/SouthSudan/642/2023\x94\x8c\x12A/Finland/399/2023\x94\x8c$A/Saint-Petersburg/RII-MH144113/2023\x94\x8c\x11A/Thailand/8/2022\x94\x8c\x18A/Netherlands/01685/2023\x94\x8c\x18A/Netherlands/01760/2023\x94\x8c\x1eA/Samut_Songkhram/THIS061/2023\x94\x8c\x14A/Bangkok/P3599/2023\x94\x8c\x16A/Massachusets/18/2022\x94\x8c\x15A/Abu_Dhabi/6753/2023\x94\x8c\x11A/Sydney/749/2023\x94\x8c\x11A/Georgia/40/2023\x94\x8c\x14A/California/81/2023\x94\x8c\x10A/Oman/3011/2023\x94\x8c\x1eA/Catalonia/NSVH102124476/2023\x94\x8c\x1fA/Saskatchewan/SKFLU317847/2023\x94\x8c\x14A/Krabi/THIS050/2023\x94\x8c\x14A/Victoria/1033/2023\x94\x8c\x1cA/SOUTH_AFRICA/R07876/202023\x94\x8c\x1bA/SouthAfrica/PET28931/2023\x94\x8c\x1aA/South_Africa/R07188/2023\x94\x8c\x1aA/South_Africa/R06477/2023\x94\x8c\x1aA/South_Africa/R05510/2023\x94\x8c\x1aA/South_Africa/R06240/2023\x94\x8c\x1bA/South_Africa/K056872/2023\x94\x8c\x1bA/South_Africa/KO56863/2023\x94\x8c\x14A/Townsville/68/2023\x94\x8c\x11A/Sydney/710/2023\x94\x8c\x13A/Wisconsin/27/2023\x94\x8c\x13A/Maldives/852/2023\x94\x8c\x19A/Chipata/15-NIC-001/2023\x94\x8c\x1cA/Malaysia/IMR-SARI1989/2023\x94\x8c\x1cA/Guangdong-Futian/1980/2023\x94\x8c\x11A/Sydney/715/2023\x94\x8c\x12A/Bhutan/0845/2023\x94\x8c\x19A/Solwezi/13-NIC-001/2023\x94\x8c\x11A/Sydney/332/2023\x94\x8c\x16A/Ontario/RV00796/2023\x94\x8c\x18A/Netherlands/01693/2023\x94\x8c\x14A/Bangkok/P3755/2023\x94e\x8c\x04nt50\x94}\x94(\x8c\x0emin_replicates\x94K\x02\x8c\x1bmax_fold_change_from_median\x94K\x04\x8c\x11viruses_ignore_qc\x94]\x94ue}\x94(h\x0c}\x94(\x8c\x17viral_strain_plot_order\x94K\x00N\x86\x94\x8c\x0eserum_titer_as\x94K\x01N\x86\x94\x8c\rqc_thresholds\x94K\x02N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\xcfhRh\xd1h\xc7h\xd3h\xc8ub\x8c\twildcards\x94h\x06\x8c\tWildcards\x94\x93\x94)\x81\x94\x8c\x07Y044d30\x94a}\x94(h\x0c}\x94\x8c\x05serum\x94K\x00N\x86\x94sh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94b\x8c\x05serum\x94h\xe2ub\x8c\x07threads\x94K\x01\x8c\tresources\x94h\x06\x8c\tResources\x94\x93\x94)\x81\x94(K\x01K\x01\x8c\x04/tmp\x94e}\x94(h\x0c}\x94(\x8c\x06_cores\x94K\x00N\x86\x94\x8c\x06_nodes\x94K\x01N\x86\x94\x8c\x06tmpdir\x94K\x02N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\xf9K\x01h\xfbK\x01h\xfdh\xf6ub\x8c\x03log\x94h\x06\x8c\x03Log\x94\x93\x94)\x81\x94\x8c)results/sera/Y044d30/Y044d30_titers.ipynb\x94a}\x94(h\x0c}\x94\x8c\x08notebook\x94K\x00N\x86\x94sh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bj\x0f\x01\x00\x00j\x0c\x01\x00\x00ub\x8c\x06config\x94}\x94(\x8c\x10seqneut-pipeline\x94\x8c\x03../\x94\x8c\x04docs\x94\x8c\x07../docs\x94\x8c\x0bdescription\x94X\xba\x01\x00\x00# Test example for [seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nThis is a small toy-example created by subsetting a real experiment dataset.\n\nSee [https://github.com/jbloomlab/seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nfor the computer code and underlying numerical data.\n\nSee [here](https://github.com/jbloomlab/seqneut-pipeline/graphs/contributors) for a\nlist of all contributors to the pipeline.\n\x94\x8c\x0fviral_libraries\x94}\x94(\x8c\x14pdmH1N1_lib2023_loes\x94\x8c-data/viral_libraries/pdmH1N1_lib2023_loes.csv\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c)data/viral_libraries/2023_H3N2_Kikawa.csv\x94u\x8c\x17viral_strain_plot_order\x94\x8c data/viral_strain_plot_order.csv\x94\x8c\x12neut_standard_sets\x94}\x94\x8c\x08loes2023\x94\x8c3data/neut_standard_sets/loes2023_neut_standards.csv\x94s\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\x08upstream\x94\x8c\x1fCTCCCTACAATGTCGGATTTGTATTTAATAG\x94\x8c\ndownstream\x94\x8c\x00\x94\x8c\x04minq\x94K\x14\x8c\x11upstream_mismatch\x94K\x04\x8c\x0ebc_orientation\x94\x8c\x02R2\x94u\x8c#default_process_plate_qc_thresholds\x94}\x94(\x8c\x1bavg_barcode_counts_per_well\x94K\xfa\x8c\x1fmin_neut_standard_frac_per_well\x94G?tz\xe1G\xae\x14{\x8c"no_serum_per_viral_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?@bM\xd2\xf1\xa9\xfc\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c!per_neut_standard_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?tz\xe1G\xae\x14{\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c min_neut_standard_count_per_well\x94M\xf4\x01\x8c)min_no_serum_count_per_viral_barcode_well\x94K\x1e\x8c+max_frac_infectivity_per_viral_barcode_well\x94K\x05\x8c)min_dilutions_per_barcode_serum_replicate\x94K\x06u\x8c%default_process_plate_curvefit_params\x94}\x94(\x8c\x18frac_infectivity_ceiling\x94K\x01\x8c\x06fixtop\x94]\x94(G?\xe8\x00\x00\x00\x00\x00\x00K\x01e\x8c\tfixbottom\x94K\x00\x8c\x08fixslope\x94]\x94(G?\xe9\x99\x99\x99\x99\x99\x9aK\x05eu\x8c!default_process_plate_curvefit_qc\x94}\x94(\x8c\x1dmax_frac_infectivity_at_least\x94K\x00\x8c\x0fgoodness_of_fit\x94}\x94(\x8c\x06min_R2\x94G?\xe6ffffff\x8c\x08max_RMSD\x94G?\xb9\x99\x99\x99\x99\x99\x9au\x8c#serum_replicates_ignore_curvefit_qc\x94]\x94\x8c+barcode_serum_replicates_ignore_curvefit_qc\x94]\x94u\x8c\x06plates\x94}\x94(\x8c\x06plate2\x94}\x94(\x8c\x04date\x94\x8c\x08datetime\x94\x8c\x04date\x94\x93\x94C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1edata/plates/plate2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00uu\x8c\x07plate11\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe7\t\x1a\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1fdata/plates/plate11_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\x18barcode_serum_replicates\x94]\x94]\x94(\x8c\x10AGTCCTATCCTCAAAT\x94\x8c\x06M099d0\x94eas\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00]\x94]\x94(\x8c\x10AGGTCAAGACCACAGG\x94\x8c\x06M099d0\x94eauu\x8c\nH3N2_plate\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe8\x03\x04\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1cdata/plates/H3N2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00uuu\x8c\x16default_serum_titer_as\x94\x8c\x08midpoint\x94\x8c\x1bdefault_serum_qc_thresholds\x94}\x94(h\xc9K\x02h\xcaK\x03h\xcbh\xccu\x8c\x16sera_override_defaults\x94}\x94(\x8c\x07M099d30\x94}\x94\x8c\rqc_thresholds\x94}\x94(h\xc9K\x02h\xcaK\x03h\xcb]\x94\x8c\x14A/Belgium/H0017/2022\x94aus\x8c\x07Y044d30\x94}\x94(\x8c\rqc_thresholds\x94h\xc8\x8c\x08titer_as\x94h\xc7uu\x8c\x14miscellaneous_plates\x94}\x94\x8c\x0erandom_plate_1\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c,data/miscellaneous_plates/random_plate_1.csv\x94usu\x8c\x04rule\x94\x8c\x0cserum_titers\x94\x8c\x0fbench_iteration\x94N\x8c\tscriptdir\x94\x8cj/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks\x94ub.'); from snakemake.logging import logger; logger.printshellcmds = False; import os; os.chdir(r'/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example');
+import sys; sys.path.extend(['/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example/..', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/bin', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/lib-dynload', '/home/jbloom/.local/lib/python3.11/site-packages', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/home/jbloom/.cache/snakemake/snakemake/source-cache/runtime-cache/tmppc4t0lmo/file/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks']); import pickle; snakemake = pickle.loads(b'\x80\x04\x95i \x00\x00\x00\x00\x00\x00\x8c\x10snakemake.script\x94\x8c\tSnakemake\x94\x93\x94)\x81\x94}\x94(\x8c\x05input\x94\x8c\x0csnakemake.io\x94\x8c\nInputFiles\x94\x93\x94)\x81\x94\x8c\'results/plates/plate11/curvefits.pickle\x94a}\x94(\x8c\x06_names\x94}\x94\x8c\x07pickles\x94K\x00K\x01\x86\x94s\x8c\x12_allowed_overrides\x94]\x94(\x8c\x05index\x94\x8c\x04sort\x94eh\x12\x8c\tfunctools\x94\x8c\x07partial\x94\x93\x94h\x06\x8c\x19Namedlist._used_attribute\x94\x93\x94\x85\x94R\x94(h\x18)}\x94\x8c\x05_name\x94h\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\x0eh\x06\x8c\tNamedlist\x94\x93\x94)\x81\x94h\na}\x94(h\x0c}\x94h\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bubub\x8c\x06output\x94h\x06\x8c\x0bOutputFiles\x94\x93\x94)\x81\x94(\x8c-results/sera/Y044d30/titers_per_replicate.csv\x94\x8c\x1fresults/sera/Y044d30/titers.csv\x94\x8c\x1fresults/sera/Y044d30/curves.pdf\x94\x8c%results/sera/Y044d30/curvefits.pickle\x94\x8c!results/sera/Y044d30/qc_drops.yml\x94e}\x94(h\x0c}\x94(\x8c\x0eper_rep_titers\x94K\x00N\x86\x94\x8c\x06titers\x94K\x01N\x86\x94\x8c\ncurves_pdf\x94K\x02N\x86\x94\x8c\x06pickle\x94K\x03N\x86\x94\x8c\x08qc_drops\x94K\x04N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh;h4h=h5h?h6hAh7hCh8ub\x8c\x06params\x94h\x06\x8c\x06Params\x94\x93\x94)\x81\x94(]\x94(\x8c\x14A/California/07/2009\x94\x8c\x12A/Michigan/45/2015\x94\x8c\x12A/Brisbane/02/2018\x94\x8c\x11A/Ghana/2080/2020\x94\x8c\x18A/Cote_DIvoire/1448/2021\x94\x8c\x10A/Ghana/138/2020\x94\x8c\x0fA/Togo/845/2020\x94\x8c\x10A/Togo/0274/2021\x94\x8c\x10A/Hawaii/70/2019\x94\x8c\x12A/Niger/10217/2021\x94\x8c\x19A/SouthAfrica/R16462/2021\x94\x8c\x10A/Togo/0304/2021\x94\x8c\x12A/Paris/31196/2021\x94\x8c\x14A/Belgium/H0017/2022\x94\x8c\x18A/England/220200318/2022\x94\x8c\x12A/Paris/30353/2021\x94\x8c\x10A/Nimes/871/2021\x94\x8c\x14A/Belgium/H0038/2022\x94\x8c\x14A/Wisconsin/588/2019\x94\x8c\x14A/Washington/23/2020\x94\x8c\x1aA/India/Pun-NIV312851/2021\x94\x8c\x1aA/India-PUN-NIV328484/2021\x94\x8c\x16A/Bangladesh/8036/2021\x94\x8c\x0eA/Perth/1/2022\x94\x8c\x19A/SouthAfrica/R14850/2021\x94\x8c\x13A/Norway/25089/2022\x94\x8c\x1cA/Bangladesh/3210810034/2021\x94\x8c\x13A/Chester/5355/2022\x94\x8c\x12A/Michigan/19/2021\x94\x8c\x0eA/Utah/27/2022\x94\x8c\x12A/Newcastle/2/2022\x94\x8c\x1fA/India-Pune-Nivcov2221170/2022\x94\x8c\x10A/Sydney/43/2022\x94\x8c\x12A/Brisbane/48/2022\x94\x8c\x16A/Bangladesh/8002/2021\x94\x8c\x16A/Bangladesh/2221/2021\x94\x8c\x06strain\x94\x8c\x0fA/Texas/50/2012\x94\x8c\x1fA/Texas/50/2012_X-223A_(13/252)\x94\x8c\x1aA/Switzerland/9715293/2013\x94\x8c!A/Switzerland/9715293/2013_NIB-88\x94\x8c\x10A/Kansas/14/2017\x94\x8c\x16A/Kansas/14/2017_X-327\x94\x8c\x15A/Hong_Kong/4801/2014\x94\x8c\x1eA/Hong_Kong/4801/2014_(15/192)\x94\x8c\x1fA/Singapore/INFIMH-16-0019/2016\x94\x8c&A/Singapore/INFIMH-16-0019/2016_X-307A\x94\x8c\x13A/Hong_Kong/45/2019\x94\x8c\x15A/Hong_Kong/2671/2019\x94\x8c\x18A/Cambodia/e0826360/2020\x94\x8c\x1cA/Cambodia/e0826360/2020_egg\x94\x8c\x14A/TECPAN/017FLU/2023\x94\x8c\x1aA/South_Africa/R07073/2023\x94\x8c\x1aA/South_Africa/R06506/2023\x94\x8c\x1aA/South_Africa/R05384/2023\x94\x8c\x17A/Surat_Thani/P152/2023\x94\x8c\x10A/Jeju/1047/2023\x94\x8c\x16A/South_Dakota/22/2023\x94\x8c\x1bA/Schleswig-Holstein/4/2023\x94\x8c\x15A/Romania/543634/2022\x94\x8c\x0fA/EHIME/50/2023\x94\x8c\x16A/Luga/RII-11393S/2023\x94\x8c\x12A/YAMAGATA/98/2023\x94\x8c\x10A/SENDAI/45/2023\x94\x8c\x0fA/Darwin/9/2021\x94\x8c\x0fA/Darwin/6/2021\x94\x8c\x12A/Finland/391/2023\x94\x8c\x16A/KANAGAWA/IC2239/2023\x94\x8c\x16A/KANAGAWA/AC2316/2023\x94\x8c\x13A/Brisbane/429/2023\x94\x8c\x1aA/South_Africa/R06359/2023\x94\x8c\x11A/Busan/1301/2023\x94\x8c\x12A/Bhutan/0006/2023\x94\x8c\x1aA/Catalonia/2041146NS/2023\x94\x8c\x1bA/Bhutan/FLU-BTG-00988/2022\x94\x8c\x15A/SouthSudan/631/2023\x94\x8c\x15A/SouthSudan/642/2023\x94\x8c\x12A/Finland/399/2023\x94\x8c$A/Saint-Petersburg/RII-MH144113/2023\x94\x8c\x11A/Thailand/8/2022\x94\x8c\x18A/Netherlands/01685/2023\x94\x8c\x18A/Netherlands/01760/2023\x94\x8c\x1eA/Samut_Songkhram/THIS061/2023\x94\x8c\x14A/Bangkok/P3599/2023\x94\x8c\x16A/Massachusets/18/2022\x94\x8c\x15A/Abu_Dhabi/6753/2023\x94\x8c\x11A/Sydney/749/2023\x94\x8c\x11A/Georgia/40/2023\x94\x8c\x14A/California/81/2023\x94\x8c\x10A/Oman/3011/2023\x94\x8c\x1eA/Catalonia/NSVH102124476/2023\x94\x8c\x1fA/Saskatchewan/SKFLU317847/2023\x94\x8c\x14A/Krabi/THIS050/2023\x94\x8c\x14A/Victoria/1033/2023\x94\x8c\x1cA/SOUTH_AFRICA/R07876/202023\x94\x8c\x1bA/SouthAfrica/PET28931/2023\x94\x8c\x1aA/South_Africa/R07188/2023\x94\x8c\x1aA/South_Africa/R06477/2023\x94\x8c\x1aA/South_Africa/R05510/2023\x94\x8c\x1aA/South_Africa/R06240/2023\x94\x8c\x1bA/South_Africa/K056872/2023\x94\x8c\x1bA/South_Africa/KO56863/2023\x94\x8c\x14A/Townsville/68/2023\x94\x8c\x11A/Sydney/710/2023\x94\x8c\x13A/Wisconsin/27/2023\x94\x8c\x13A/Maldives/852/2023\x94\x8c\x19A/Chipata/15-NIC-001/2023\x94\x8c\x1cA/Malaysia/IMR-SARI1989/2023\x94\x8c\x1cA/Guangdong-Futian/1980/2023\x94\x8c\x11A/Sydney/715/2023\x94\x8c\x12A/Bhutan/0845/2023\x94\x8c\x19A/Solwezi/13-NIC-001/2023\x94\x8c\x11A/Sydney/332/2023\x94\x8c\x16A/Ontario/RV00796/2023\x94\x8c\x18A/Netherlands/01693/2023\x94\x8c\x14A/Bangkok/P3755/2023\x94e\x8c\x04nt50\x94}\x94(\x8c\x0emin_replicates\x94K\x02\x8c\x1bmax_fold_change_from_median\x94K\x04\x8c\x11viruses_ignore_qc\x94]\x94ue}\x94(h\x0c}\x94(\x8c\x17viral_strain_plot_order\x94K\x00N\x86\x94\x8c\x0eserum_titer_as\x94K\x01N\x86\x94\x8c\rqc_thresholds\x94K\x02N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\xcfhRh\xd1h\xc7h\xd3h\xc8ub\x8c\twildcards\x94h\x06\x8c\tWildcards\x94\x93\x94)\x81\x94\x8c\x07Y044d30\x94a}\x94(h\x0c}\x94\x8c\x05serum\x94K\x00N\x86\x94sh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94b\x8c\x05serum\x94h\xe2ub\x8c\x07threads\x94K\x01\x8c\tresources\x94h\x06\x8c\tResources\x94\x93\x94)\x81\x94(K\x01K\x01\x8c\x04/tmp\x94e}\x94(h\x0c}\x94(\x8c\x06_cores\x94K\x00N\x86\x94\x8c\x06_nodes\x94K\x01N\x86\x94\x8c\x06tmpdir\x94K\x02N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\xf9K\x01h\xfbK\x01h\xfdh\xf6ub\x8c\x03log\x94h\x06\x8c\x03Log\x94\x93\x94)\x81\x94\x8c)results/sera/Y044d30/Y044d30_titers.ipynb\x94a}\x94(h\x0c}\x94\x8c\x08notebook\x94K\x00N\x86\x94sh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bj\x0f\x01\x00\x00j\x0c\x01\x00\x00ub\x8c\x06config\x94}\x94(\x8c\x10seqneut-pipeline\x94\x8c\x03../\x94\x8c\x04docs\x94\x8c\x07../docs\x94\x8c\x0bdescription\x94X\xba\x01\x00\x00# Test example for [seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nThis is a small toy-example created by subsetting a real experiment dataset.\n\nSee [https://github.com/jbloomlab/seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nfor the computer code and underlying numerical data.\n\nSee [here](https://github.com/jbloomlab/seqneut-pipeline/graphs/contributors) for a\nlist of all contributors to the pipeline.\n\x94\x8c\x0fviral_libraries\x94}\x94(\x8c\x14pdmH1N1_lib2023_loes\x94\x8c-data/viral_libraries/pdmH1N1_lib2023_loes.csv\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c)data/viral_libraries/2023_H3N2_Kikawa.csv\x94u\x8c\x17viral_strain_plot_order\x94\x8c data/viral_strain_plot_order.csv\x94\x8c\x12neut_standard_sets\x94}\x94\x8c\x08loes2023\x94\x8c3data/neut_standard_sets/loes2023_neut_standards.csv\x94s\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\x08upstream\x94\x8c\x1fCTCCCTACAATGTCGGATTTGTATTTAATAG\x94\x8c\ndownstream\x94\x8c\x00\x94\x8c\x04minq\x94K\x14\x8c\x11upstream_mismatch\x94K\x04\x8c\x0ebc_orientation\x94\x8c\x02R2\x94u\x8c#default_process_plate_qc_thresholds\x94}\x94(\x8c\x1bavg_barcode_counts_per_well\x94K\xfa\x8c\x1fmin_neut_standard_frac_per_well\x94G?tz\xe1G\xae\x14{\x8c"no_serum_per_viral_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?@bM\xd2\xf1\xa9\xfc\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c!per_neut_standard_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?tz\xe1G\xae\x14{\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c min_neut_standard_count_per_well\x94M\xf4\x01\x8c)min_no_serum_count_per_viral_barcode_well\x94K\x1e\x8c+max_frac_infectivity_per_viral_barcode_well\x94K\x05\x8c)min_dilutions_per_barcode_serum_replicate\x94K\x06u\x8c%default_process_plate_curvefit_params\x94}\x94(\x8c\x18frac_infectivity_ceiling\x94K\x01\x8c\x06fixtop\x94]\x94(G?\xe8\x00\x00\x00\x00\x00\x00K\x01e\x8c\tfixbottom\x94K\x00\x8c\x08fixslope\x94]\x94(G?\xe9\x99\x99\x99\x99\x99\x9aK\x05eu\x8c!default_process_plate_curvefit_qc\x94}\x94(\x8c\x1dmax_frac_infectivity_at_least\x94K\x00\x8c\x0fgoodness_of_fit\x94}\x94(\x8c\x06min_R2\x94G?\xe6ffffff\x8c\x08max_RMSD\x94G?\xb9\x99\x99\x99\x99\x99\x9au\x8c#serum_replicates_ignore_curvefit_qc\x94]\x94\x8c+barcode_serum_replicates_ignore_curvefit_qc\x94]\x94u\x8c\x06plates\x94}\x94(\x8c\x06plate2\x94}\x94(\x8c\x04date\x94\x8c\x08datetime\x94\x8c\x04date\x94\x93\x94C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1edata/plates/plate2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00uu\x8c\x07plate11\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe7\t\x1a\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1fdata/plates/plate11_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\x18barcode_serum_replicates\x94]\x94]\x94(\x8c\x10AGTCCTATCCTCAAAT\x94\x8c\x06M099d0\x94eas\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00]\x94]\x94(\x8c\x10AGGTCAAGACCACAGG\x94\x8c\x06M099d0\x94eauu\x8c\nH3N2_plate\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe8\x03\x04\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1cdata/plates/H3N2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00uuu\x8c\x16default_serum_titer_as\x94\x8c\x08midpoint\x94\x8c\x1bdefault_serum_qc_thresholds\x94}\x94(h\xc9K\x02h\xcaK\x03h\xcbh\xccu\x8c\x16sera_override_defaults\x94}\x94(\x8c\x07M099d30\x94}\x94\x8c\rqc_thresholds\x94}\x94(h\xc9K\x02h\xcaK\x03h\xcb]\x94\x8c\x14A/Belgium/H0017/2022\x94aus\x8c\x07Y044d30\x94}\x94(\x8c\rqc_thresholds\x94h\xc8\x8c\x08titer_as\x94h\xc7uu\x8c\x14miscellaneous_plates\x94}\x94\x8c\x0erandom_plate_1\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c,data/miscellaneous_plates/random_plate_1.csv\x94usu\x8c\x04rule\x94\x8c\x0cserum_titers\x94\x8c\x0fbench_iteration\x94N\x8c\tscriptdir\x94\x8cj/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks\x94ub.'); from snakemake.logging import logger; logger.printshellcmds = False; import os; os.chdir(r'/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example');
######## snakemake preamble end #########
Correlate NT50s with midpoints
.encode(
alt.X("nt50", scale=alt.Scale(type="log", nice=False, padding=8)),
alt.Y("midpoint", scale=alt.Scale(type="log", nice=False, padding=8)),
+ alt.Color("titer_bound"),
strokeWidth=alt.condition(virus_selection, alt.value(3), alt.value(0)),
size=alt.condition(virus_selection, alt.value(100), alt.value(60)),
tooltip=[
@@ -7814,7 +7815,7 @@ Correlate NT50s with midpoints
if c not in {"serum", "titer_as"}
],
)
- .mark_circle(stroke="red", fillOpacity=0.45, color="black")
+ .mark_circle(stroke="black", fillOpacity=0.45, color="black")
.properties(
width=350,
height=350,
@@ -7837,23 +7838,23 @@ Correlate NT50s with midpoints
Out[7]:
-
+
Correlate NT50s with midpoints
Out[7]:
-
+
Plot median titers and
title=f"fails {qc_thresholds['min_replicates']=}, {qc_thresholds['max_fold_change_from_median']=}",
legend=alt.Legend(titleLimit=500),
),
+ alt.Shape("titer_bound"),
strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0)),
tooltip=[
alt.Tooltip(c, format=".3g") if per_rep_titers_w_fc[c].dtype == float else c
@@ -8109,8 +8111,7 @@ Plot median titers and
],
)
.mark_point(
- shape="circle",
- size=40,
+ size=35,
filled=True,
fillOpacity=0.5,
strokeOpacity=1,
@@ -8124,14 +8125,14 @@ Plot median titers and
alt.X("titer", scale=alt.Scale(nice=False, padding=5, type="log")),
alt.Y("virus", sort=viruses),
alt.Fill("fails_qc"),
- strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0)),
+ alt.Shape("titer_bound"),
+ strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0.5)),
tooltip=[
alt.Tooltip(c, format=".3g") if median_titers_noqc[c].dtype == float else c
for c in median_titers_noqc
],
)
.mark_point(
- shape="square",
size=75,
filled=True,
fillOpacity=0.9,
@@ -8146,7 +8147,7 @@ Plot median titers and
.properties(
height=alt.Step(11),
width=250,
- title=f"{serum} median (square) and per-replicate (small circle) titers",
+ title=f"{serum} median (large points) and per-replicate (small points) titers",
)
.configure_axis(grid=False)
)
@@ -8165,23 +8166,23 @@ Plot median titers and
Out[10]:
-
+
Plot median titers and
alt.X("titer", scale=alt.Scale(nice=False, padding=5, type="log")),
alt.Y("virus", sort=viruses),
alt.Fill("fails_qc"),
- strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0)),
+ alt.Shape("titer_bound"),
+ strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0.5)),
tooltip=[
alt.Tooltip(c, format=".3g") if median_titers_noqc[c].dtype == float else c
for c in median_titers_noqc
],
)
.mark_point(
- shape="square",
size=75,
filled=True,
fillOpacity=0.9,
@@ -8146,7 +8147,7 @@ Plot median titers and
.properties(
height=alt.Step(11),
width=250,
- title=f"{serum} median (square) and per-replicate (small circle) titers",
+ title=f"{serum} median (large points) and per-replicate (small points) titers",
)
.configure_axis(grid=False)
)
@@ -8165,23 +8166,23 @@ Plot median titers and
Out[10]:
-
+
Plot median titers and
Out[10]:
-
+
######## snakemake preamble start (automatically inserted, do not edit) ########
-import sys; sys.path.extend(['/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example/..', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/bin', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/lib-dynload', '/home/jbloom/.local/lib/python3.11/site-packages', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/home/jbloom/.cache/snakemake/snakemake/source-cache/runtime-cache/tmpokpo7nbb/file/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks']); import pickle; snakemake = pickle.loads(b'\x80\x04\x95p \x00\x00\x00\x00\x00\x00\x8c\x10snakemake.script\x94\x8c\tSnakemake\x94\x93\x94)\x81\x94}\x94(\x8c\x05input\x94\x8c\x0csnakemake.io\x94\x8c\nInputFiles\x94\x93\x94)\x81\x94\x8c&results/plates/plate2/curvefits.pickle\x94a}\x94(\x8c\x06_names\x94}\x94\x8c\x07pickles\x94K\x00K\x01\x86\x94s\x8c\x12_allowed_overrides\x94]\x94(\x8c\x05index\x94\x8c\x04sort\x94eh\x12\x8c\tfunctools\x94\x8c\x07partial\x94\x93\x94h\x06\x8c\x19Namedlist._used_attribute\x94\x93\x94\x85\x94R\x94(h\x18)}\x94\x8c\x05_name\x94h\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\x0eh\x06\x8c\tNamedlist\x94\x93\x94)\x81\x94h\na}\x94(h\x0c}\x94h\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bubub\x8c\x06output\x94h\x06\x8c\x0bOutputFiles\x94\x93\x94)\x81\x94(\x8c.results/sera/Y154d182/titers_per_replicate.csv\x94\x8c results/sera/Y154d182/titers.csv\x94\x8c results/sera/Y154d182/curves.pdf\x94\x8c&results/sera/Y154d182/curvefits.pickle\x94\x8c"results/sera/Y154d182/qc_drops.yml\x94e}\x94(h\x0c}\x94(\x8c\x0eper_rep_titers\x94K\x00N\x86\x94\x8c\x06titers\x94K\x01N\x86\x94\x8c\ncurves_pdf\x94K\x02N\x86\x94\x8c\x06pickle\x94K\x03N\x86\x94\x8c\x08qc_drops\x94K\x04N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh;h4h=h5h?h6hAh7hCh8ub\x8c\x06params\x94h\x06\x8c\x06Params\x94\x93\x94)\x81\x94(]\x94(\x8c\x14A/California/07/2009\x94\x8c\x12A/Michigan/45/2015\x94\x8c\x12A/Brisbane/02/2018\x94\x8c\x11A/Ghana/2080/2020\x94\x8c\x18A/Cote_DIvoire/1448/2021\x94\x8c\x10A/Ghana/138/2020\x94\x8c\x0fA/Togo/845/2020\x94\x8c\x10A/Togo/0274/2021\x94\x8c\x10A/Hawaii/70/2019\x94\x8c\x12A/Niger/10217/2021\x94\x8c\x19A/SouthAfrica/R16462/2021\x94\x8c\x10A/Togo/0304/2021\x94\x8c\x12A/Paris/31196/2021\x94\x8c\x14A/Belgium/H0017/2022\x94\x8c\x18A/England/220200318/2022\x94\x8c\x12A/Paris/30353/2021\x94\x8c\x10A/Nimes/871/2021\x94\x8c\x14A/Belgium/H0038/2022\x94\x8c\x14A/Wisconsin/588/2019\x94\x8c\x14A/Washington/23/2020\x94\x8c\x1aA/India/Pun-NIV312851/2021\x94\x8c\x1aA/India-PUN-NIV328484/2021\x94\x8c\x16A/Bangladesh/8036/2021\x94\x8c\x0eA/Perth/1/2022\x94\x8c\x19A/SouthAfrica/R14850/2021\x94\x8c\x13A/Norway/25089/2022\x94\x8c\x1cA/Bangladesh/3210810034/2021\x94\x8c\x13A/Chester/5355/2022\x94\x8c\x12A/Michigan/19/2021\x94\x8c\x0eA/Utah/27/2022\x94\x8c\x12A/Newcastle/2/2022\x94\x8c\x1fA/India-Pune-Nivcov2221170/2022\x94\x8c\x10A/Sydney/43/2022\x94\x8c\x12A/Brisbane/48/2022\x94\x8c\x16A/Bangladesh/8002/2021\x94\x8c\x16A/Bangladesh/2221/2021\x94\x8c\x06strain\x94\x8c\x0fA/Texas/50/2012\x94\x8c\x1fA/Texas/50/2012_X-223A_(13/252)\x94\x8c\x1aA/Switzerland/9715293/2013\x94\x8c!A/Switzerland/9715293/2013_NIB-88\x94\x8c\x10A/Kansas/14/2017\x94\x8c\x16A/Kansas/14/2017_X-327\x94\x8c\x15A/Hong_Kong/4801/2014\x94\x8c\x1eA/Hong_Kong/4801/2014_(15/192)\x94\x8c\x1fA/Singapore/INFIMH-16-0019/2016\x94\x8c&A/Singapore/INFIMH-16-0019/2016_X-307A\x94\x8c\x13A/Hong_Kong/45/2019\x94\x8c\x15A/Hong_Kong/2671/2019\x94\x8c\x18A/Cambodia/e0826360/2020\x94\x8c\x1cA/Cambodia/e0826360/2020_egg\x94\x8c\x14A/TECPAN/017FLU/2023\x94\x8c\x1aA/South_Africa/R07073/2023\x94\x8c\x1aA/South_Africa/R06506/2023\x94\x8c\x1aA/South_Africa/R05384/2023\x94\x8c\x17A/Surat_Thani/P152/2023\x94\x8c\x10A/Jeju/1047/2023\x94\x8c\x16A/South_Dakota/22/2023\x94\x8c\x1bA/Schleswig-Holstein/4/2023\x94\x8c\x15A/Romania/543634/2022\x94\x8c\x0fA/EHIME/50/2023\x94\x8c\x16A/Luga/RII-11393S/2023\x94\x8c\x12A/YAMAGATA/98/2023\x94\x8c\x10A/SENDAI/45/2023\x94\x8c\x0fA/Darwin/9/2021\x94\x8c\x0fA/Darwin/6/2021\x94\x8c\x12A/Finland/391/2023\x94\x8c\x16A/KANAGAWA/IC2239/2023\x94\x8c\x16A/KANAGAWA/AC2316/2023\x94\x8c\x13A/Brisbane/429/2023\x94\x8c\x1aA/South_Africa/R06359/2023\x94\x8c\x11A/Busan/1301/2023\x94\x8c\x12A/Bhutan/0006/2023\x94\x8c\x1aA/Catalonia/2041146NS/2023\x94\x8c\x1bA/Bhutan/FLU-BTG-00988/2022\x94\x8c\x15A/SouthSudan/631/2023\x94\x8c\x15A/SouthSudan/642/2023\x94\x8c\x12A/Finland/399/2023\x94\x8c$A/Saint-Petersburg/RII-MH144113/2023\x94\x8c\x11A/Thailand/8/2022\x94\x8c\x18A/Netherlands/01685/2023\x94\x8c\x18A/Netherlands/01760/2023\x94\x8c\x1eA/Samut_Songkhram/THIS061/2023\x94\x8c\x14A/Bangkok/P3599/2023\x94\x8c\x16A/Massachusets/18/2022\x94\x8c\x15A/Abu_Dhabi/6753/2023\x94\x8c\x11A/Sydney/749/2023\x94\x8c\x11A/Georgia/40/2023\x94\x8c\x14A/California/81/2023\x94\x8c\x10A/Oman/3011/2023\x94\x8c\x1eA/Catalonia/NSVH102124476/2023\x94\x8c\x1fA/Saskatchewan/SKFLU317847/2023\x94\x8c\x14A/Krabi/THIS050/2023\x94\x8c\x14A/Victoria/1033/2023\x94\x8c\x1cA/SOUTH_AFRICA/R07876/202023\x94\x8c\x1bA/SouthAfrica/PET28931/2023\x94\x8c\x1aA/South_Africa/R07188/2023\x94\x8c\x1aA/South_Africa/R06477/2023\x94\x8c\x1aA/South_Africa/R05510/2023\x94\x8c\x1aA/South_Africa/R06240/2023\x94\x8c\x1bA/South_Africa/K056872/2023\x94\x8c\x1bA/South_Africa/KO56863/2023\x94\x8c\x14A/Townsville/68/2023\x94\x8c\x11A/Sydney/710/2023\x94\x8c\x13A/Wisconsin/27/2023\x94\x8c\x13A/Maldives/852/2023\x94\x8c\x19A/Chipata/15-NIC-001/2023\x94\x8c\x1cA/Malaysia/IMR-SARI1989/2023\x94\x8c\x1cA/Guangdong-Futian/1980/2023\x94\x8c\x11A/Sydney/715/2023\x94\x8c\x12A/Bhutan/0845/2023\x94\x8c\x19A/Solwezi/13-NIC-001/2023\x94\x8c\x11A/Sydney/332/2023\x94\x8c\x16A/Ontario/RV00796/2023\x94\x8c\x18A/Netherlands/01693/2023\x94\x8c\x14A/Bangkok/P3755/2023\x94e\x8c\x08midpoint\x94}\x94(\x8c\x0emin_replicates\x94K\x02\x8c\x1bmax_fold_change_from_median\x94K\x03\x8c\x11viruses_ignore_qc\x94]\x94ue}\x94(h\x0c}\x94(\x8c\x17viral_strain_plot_order\x94K\x00N\x86\x94\x8c\x0eserum_titer_as\x94K\x01N\x86\x94\x8c\rqc_thresholds\x94K\x02N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\xcfhRh\xd1h\xc7h\xd3h\xc8ub\x8c\twildcards\x94h\x06\x8c\tWildcards\x94\x93\x94)\x81\x94\x8c\x08Y154d182\x94a}\x94(h\x0c}\x94\x8c\x05serum\x94K\x00N\x86\x94sh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94b\x8c\x05serum\x94h\xe2ub\x8c\x07threads\x94K\x01\x8c\tresources\x94h\x06\x8c\tResources\x94\x93\x94)\x81\x94(K\x01K\x01\x8c\x04/tmp\x94e}\x94(h\x0c}\x94(\x8c\x06_cores\x94K\x00N\x86\x94\x8c\x06_nodes\x94K\x01N\x86\x94\x8c\x06tmpdir\x94K\x02N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\xf9K\x01h\xfbK\x01h\xfdh\xf6ub\x8c\x03log\x94h\x06\x8c\x03Log\x94\x93\x94)\x81\x94\x8c+results/sera/Y154d182/Y154d182_titers.ipynb\x94a}\x94(h\x0c}\x94\x8c\x08notebook\x94K\x00N\x86\x94sh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bj\x0f\x01\x00\x00j\x0c\x01\x00\x00ub\x8c\x06config\x94}\x94(\x8c\x10seqneut-pipeline\x94\x8c\x03../\x94\x8c\x04docs\x94\x8c\x07../docs\x94\x8c\x0bdescription\x94X\xba\x01\x00\x00# Test example for [seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nThis is a small toy-example created by subsetting a real experiment dataset.\n\nSee [https://github.com/jbloomlab/seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nfor the computer code and underlying numerical data.\n\nSee [here](https://github.com/jbloomlab/seqneut-pipeline/graphs/contributors) for a\nlist of all contributors to the pipeline.\n\x94\x8c\x0fviral_libraries\x94}\x94(\x8c\x14pdmH1N1_lib2023_loes\x94\x8c-data/viral_libraries/pdmH1N1_lib2023_loes.csv\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c)data/viral_libraries/2023_H3N2_Kikawa.csv\x94u\x8c\x17viral_strain_plot_order\x94\x8c data/viral_strain_plot_order.csv\x94\x8c\x12neut_standard_sets\x94}\x94\x8c\x08loes2023\x94\x8c3data/neut_standard_sets/loes2023_neut_standards.csv\x94s\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\x08upstream\x94\x8c\x1fCTCCCTACAATGTCGGATTTGTATTTAATAG\x94\x8c\ndownstream\x94\x8c\x00\x94\x8c\x04minq\x94K\x14\x8c\x11upstream_mismatch\x94K\x04\x8c\x0ebc_orientation\x94\x8c\x02R2\x94u\x8c#default_process_plate_qc_thresholds\x94}\x94(\x8c\x1bavg_barcode_counts_per_well\x94K\xfa\x8c\x1fmin_neut_standard_frac_per_well\x94G?tz\xe1G\xae\x14{\x8c"no_serum_per_viral_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?@bM\xd2\xf1\xa9\xfc\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c!per_neut_standard_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?tz\xe1G\xae\x14{\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c min_neut_standard_count_per_well\x94M\xf4\x01\x8c)min_no_serum_count_per_viral_barcode_well\x94K\x1e\x8c+max_frac_infectivity_per_viral_barcode_well\x94K\x05\x8c)min_dilutions_per_barcode_serum_replicate\x94K\x06u\x8c%default_process_plate_curvefit_params\x94}\x94(\x8c\x18frac_infectivity_ceiling\x94K\x01\x8c\x06fixtop\x94]\x94(G?\xe8\x00\x00\x00\x00\x00\x00K\x01e\x8c\tfixbottom\x94K\x00\x8c\x08fixslope\x94]\x94(G?\xe9\x99\x99\x99\x99\x99\x9aK\x05eu\x8c!default_process_plate_curvefit_qc\x94}\x94(\x8c\x1dmax_frac_infectivity_at_least\x94K\x00\x8c\x0fgoodness_of_fit\x94}\x94(\x8c\x06min_R2\x94G?\xe6ffffff\x8c\x08max_RMSD\x94G?\xb9\x99\x99\x99\x99\x99\x9au\x8c#serum_replicates_ignore_curvefit_qc\x94]\x94\x8c+barcode_serum_replicates_ignore_curvefit_qc\x94]\x94u\x8c\x06plates\x94}\x94(\x8c\x06plate2\x94}\x94(\x8c\x04date\x94\x8c\x08datetime\x94\x8c\x04date\x94\x93\x94C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1edata/plates/plate2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00uu\x8c\x07plate11\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe7\t\x1a\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1fdata/plates/plate11_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\x18barcode_serum_replicates\x94]\x94]\x94(\x8c\x10AGTCCTATCCTCAAAT\x94\x8c\x06M099d0\x94eas\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00]\x94]\x94(\x8c\x10AGGTCAAGACCACAGG\x94\x8c\x06M099d0\x94eauu\x8c\nH3N2_plate\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe8\x03\x04\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1cdata/plates/H3N2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00uuu\x8c\x16default_serum_titer_as\x94h\xc7\x8c\x1bdefault_serum_qc_thresholds\x94h\xc8\x8c\x16sera_override_defaults\x94}\x94(\x8c\x07M099d30\x94}\x94\x8c\rqc_thresholds\x94}\x94(h\xc9K\x02h\xcaK\x03h\xcb]\x94\x8c\x14A/Belgium/H0017/2022\x94aus\x8c\x07Y044d30\x94}\x94(\x8c\rqc_thresholds\x94}\x94(h\xc9K\x02h\xcaK\x04h\xcbh\xccu\x8c\x08titer_as\x94\x8c\x04nt50\x94uu\x8c\x14miscellaneous_plates\x94}\x94\x8c\x0erandom_plate_1\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c,data/miscellaneous_plates/random_plate_1.csv\x94usu\x8c\x04rule\x94\x8c\x0cserum_titers\x94\x8c\x0fbench_iteration\x94N\x8c\tscriptdir\x94\x8cj/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks\x94ub.'); from snakemake.logging import logger; logger.printshellcmds = False; import os; os.chdir(r'/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example');
+import sys; sys.path.extend(['/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example/..', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/bin', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/lib-dynload', '/home/jbloom/.local/lib/python3.11/site-packages', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/home/jbloom/.cache/snakemake/snakemake/source-cache/runtime-cache/tmppc4t0lmo/file/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks']); import pickle; snakemake = pickle.loads(b'\x80\x04\x95p \x00\x00\x00\x00\x00\x00\x8c\x10snakemake.script\x94\x8c\tSnakemake\x94\x93\x94)\x81\x94}\x94(\x8c\x05input\x94\x8c\x0csnakemake.io\x94\x8c\nInputFiles\x94\x93\x94)\x81\x94\x8c&results/plates/plate2/curvefits.pickle\x94a}\x94(\x8c\x06_names\x94}\x94\x8c\x07pickles\x94K\x00K\x01\x86\x94s\x8c\x12_allowed_overrides\x94]\x94(\x8c\x05index\x94\x8c\x04sort\x94eh\x12\x8c\tfunctools\x94\x8c\x07partial\x94\x93\x94h\x06\x8c\x19Namedlist._used_attribute\x94\x93\x94\x85\x94R\x94(h\x18)}\x94\x8c\x05_name\x94h\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\x0eh\x06\x8c\tNamedlist\x94\x93\x94)\x81\x94h\na}\x94(h\x0c}\x94h\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bubub\x8c\x06output\x94h\x06\x8c\x0bOutputFiles\x94\x93\x94)\x81\x94(\x8c.results/sera/Y154d182/titers_per_replicate.csv\x94\x8c results/sera/Y154d182/titers.csv\x94\x8c results/sera/Y154d182/curves.pdf\x94\x8c&results/sera/Y154d182/curvefits.pickle\x94\x8c"results/sera/Y154d182/qc_drops.yml\x94e}\x94(h\x0c}\x94(\x8c\x0eper_rep_titers\x94K\x00N\x86\x94\x8c\x06titers\x94K\x01N\x86\x94\x8c\ncurves_pdf\x94K\x02N\x86\x94\x8c\x06pickle\x94K\x03N\x86\x94\x8c\x08qc_drops\x94K\x04N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh;h4h=h5h?h6hAh7hCh8ub\x8c\x06params\x94h\x06\x8c\x06Params\x94\x93\x94)\x81\x94(]\x94(\x8c\x14A/California/07/2009\x94\x8c\x12A/Michigan/45/2015\x94\x8c\x12A/Brisbane/02/2018\x94\x8c\x11A/Ghana/2080/2020\x94\x8c\x18A/Cote_DIvoire/1448/2021\x94\x8c\x10A/Ghana/138/2020\x94\x8c\x0fA/Togo/845/2020\x94\x8c\x10A/Togo/0274/2021\x94\x8c\x10A/Hawaii/70/2019\x94\x8c\x12A/Niger/10217/2021\x94\x8c\x19A/SouthAfrica/R16462/2021\x94\x8c\x10A/Togo/0304/2021\x94\x8c\x12A/Paris/31196/2021\x94\x8c\x14A/Belgium/H0017/2022\x94\x8c\x18A/England/220200318/2022\x94\x8c\x12A/Paris/30353/2021\x94\x8c\x10A/Nimes/871/2021\x94\x8c\x14A/Belgium/H0038/2022\x94\x8c\x14A/Wisconsin/588/2019\x94\x8c\x14A/Washington/23/2020\x94\x8c\x1aA/India/Pun-NIV312851/2021\x94\x8c\x1aA/India-PUN-NIV328484/2021\x94\x8c\x16A/Bangladesh/8036/2021\x94\x8c\x0eA/Perth/1/2022\x94\x8c\x19A/SouthAfrica/R14850/2021\x94\x8c\x13A/Norway/25089/2022\x94\x8c\x1cA/Bangladesh/3210810034/2021\x94\x8c\x13A/Chester/5355/2022\x94\x8c\x12A/Michigan/19/2021\x94\x8c\x0eA/Utah/27/2022\x94\x8c\x12A/Newcastle/2/2022\x94\x8c\x1fA/India-Pune-Nivcov2221170/2022\x94\x8c\x10A/Sydney/43/2022\x94\x8c\x12A/Brisbane/48/2022\x94\x8c\x16A/Bangladesh/8002/2021\x94\x8c\x16A/Bangladesh/2221/2021\x94\x8c\x06strain\x94\x8c\x0fA/Texas/50/2012\x94\x8c\x1fA/Texas/50/2012_X-223A_(13/252)\x94\x8c\x1aA/Switzerland/9715293/2013\x94\x8c!A/Switzerland/9715293/2013_NIB-88\x94\x8c\x10A/Kansas/14/2017\x94\x8c\x16A/Kansas/14/2017_X-327\x94\x8c\x15A/Hong_Kong/4801/2014\x94\x8c\x1eA/Hong_Kong/4801/2014_(15/192)\x94\x8c\x1fA/Singapore/INFIMH-16-0019/2016\x94\x8c&A/Singapore/INFIMH-16-0019/2016_X-307A\x94\x8c\x13A/Hong_Kong/45/2019\x94\x8c\x15A/Hong_Kong/2671/2019\x94\x8c\x18A/Cambodia/e0826360/2020\x94\x8c\x1cA/Cambodia/e0826360/2020_egg\x94\x8c\x14A/TECPAN/017FLU/2023\x94\x8c\x1aA/South_Africa/R07073/2023\x94\x8c\x1aA/South_Africa/R06506/2023\x94\x8c\x1aA/South_Africa/R05384/2023\x94\x8c\x17A/Surat_Thani/P152/2023\x94\x8c\x10A/Jeju/1047/2023\x94\x8c\x16A/South_Dakota/22/2023\x94\x8c\x1bA/Schleswig-Holstein/4/2023\x94\x8c\x15A/Romania/543634/2022\x94\x8c\x0fA/EHIME/50/2023\x94\x8c\x16A/Luga/RII-11393S/2023\x94\x8c\x12A/YAMAGATA/98/2023\x94\x8c\x10A/SENDAI/45/2023\x94\x8c\x0fA/Darwin/9/2021\x94\x8c\x0fA/Darwin/6/2021\x94\x8c\x12A/Finland/391/2023\x94\x8c\x16A/KANAGAWA/IC2239/2023\x94\x8c\x16A/KANAGAWA/AC2316/2023\x94\x8c\x13A/Brisbane/429/2023\x94\x8c\x1aA/South_Africa/R06359/2023\x94\x8c\x11A/Busan/1301/2023\x94\x8c\x12A/Bhutan/0006/2023\x94\x8c\x1aA/Catalonia/2041146NS/2023\x94\x8c\x1bA/Bhutan/FLU-BTG-00988/2022\x94\x8c\x15A/SouthSudan/631/2023\x94\x8c\x15A/SouthSudan/642/2023\x94\x8c\x12A/Finland/399/2023\x94\x8c$A/Saint-Petersburg/RII-MH144113/2023\x94\x8c\x11A/Thailand/8/2022\x94\x8c\x18A/Netherlands/01685/2023\x94\x8c\x18A/Netherlands/01760/2023\x94\x8c\x1eA/Samut_Songkhram/THIS061/2023\x94\x8c\x14A/Bangkok/P3599/2023\x94\x8c\x16A/Massachusets/18/2022\x94\x8c\x15A/Abu_Dhabi/6753/2023\x94\x8c\x11A/Sydney/749/2023\x94\x8c\x11A/Georgia/40/2023\x94\x8c\x14A/California/81/2023\x94\x8c\x10A/Oman/3011/2023\x94\x8c\x1eA/Catalonia/NSVH102124476/2023\x94\x8c\x1fA/Saskatchewan/SKFLU317847/2023\x94\x8c\x14A/Krabi/THIS050/2023\x94\x8c\x14A/Victoria/1033/2023\x94\x8c\x1cA/SOUTH_AFRICA/R07876/202023\x94\x8c\x1bA/SouthAfrica/PET28931/2023\x94\x8c\x1aA/South_Africa/R07188/2023\x94\x8c\x1aA/South_Africa/R06477/2023\x94\x8c\x1aA/South_Africa/R05510/2023\x94\x8c\x1aA/South_Africa/R06240/2023\x94\x8c\x1bA/South_Africa/K056872/2023\x94\x8c\x1bA/South_Africa/KO56863/2023\x94\x8c\x14A/Townsville/68/2023\x94\x8c\x11A/Sydney/710/2023\x94\x8c\x13A/Wisconsin/27/2023\x94\x8c\x13A/Maldives/852/2023\x94\x8c\x19A/Chipata/15-NIC-001/2023\x94\x8c\x1cA/Malaysia/IMR-SARI1989/2023\x94\x8c\x1cA/Guangdong-Futian/1980/2023\x94\x8c\x11A/Sydney/715/2023\x94\x8c\x12A/Bhutan/0845/2023\x94\x8c\x19A/Solwezi/13-NIC-001/2023\x94\x8c\x11A/Sydney/332/2023\x94\x8c\x16A/Ontario/RV00796/2023\x94\x8c\x18A/Netherlands/01693/2023\x94\x8c\x14A/Bangkok/P3755/2023\x94e\x8c\x08midpoint\x94}\x94(\x8c\x0emin_replicates\x94K\x02\x8c\x1bmax_fold_change_from_median\x94K\x03\x8c\x11viruses_ignore_qc\x94]\x94ue}\x94(h\x0c}\x94(\x8c\x17viral_strain_plot_order\x94K\x00N\x86\x94\x8c\x0eserum_titer_as\x94K\x01N\x86\x94\x8c\rqc_thresholds\x94K\x02N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\xcfhRh\xd1h\xc7h\xd3h\xc8ub\x8c\twildcards\x94h\x06\x8c\tWildcards\x94\x93\x94)\x81\x94\x8c\x08Y154d182\x94a}\x94(h\x0c}\x94\x8c\x05serum\x94K\x00N\x86\x94sh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94b\x8c\x05serum\x94h\xe2ub\x8c\x07threads\x94K\x01\x8c\tresources\x94h\x06\x8c\tResources\x94\x93\x94)\x81\x94(K\x01K\x01\x8c\x04/tmp\x94e}\x94(h\x0c}\x94(\x8c\x06_cores\x94K\x00N\x86\x94\x8c\x06_nodes\x94K\x01N\x86\x94\x8c\x06tmpdir\x94K\x02N\x86\x94uh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bh\xf9K\x01h\xfbK\x01h\xfdh\xf6ub\x8c\x03log\x94h\x06\x8c\x03Log\x94\x93\x94)\x81\x94\x8c+results/sera/Y154d182/Y154d182_titers.ipynb\x94a}\x94(h\x0c}\x94\x8c\x08notebook\x94K\x00N\x86\x94sh\x10]\x94(h\x12h\x13eh\x12h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x12sNt\x94bh\x13h\x16h\x18\x85\x94R\x94(h\x18)}\x94h\x1ch\x13sNt\x94bj\x0f\x01\x00\x00j\x0c\x01\x00\x00ub\x8c\x06config\x94}\x94(\x8c\x10seqneut-pipeline\x94\x8c\x03../\x94\x8c\x04docs\x94\x8c\x07../docs\x94\x8c\x0bdescription\x94X\xba\x01\x00\x00# Test example for [seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nThis is a small toy-example created by subsetting a real experiment dataset.\n\nSee [https://github.com/jbloomlab/seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nfor the computer code and underlying numerical data.\n\nSee [here](https://github.com/jbloomlab/seqneut-pipeline/graphs/contributors) for a\nlist of all contributors to the pipeline.\n\x94\x8c\x0fviral_libraries\x94}\x94(\x8c\x14pdmH1N1_lib2023_loes\x94\x8c-data/viral_libraries/pdmH1N1_lib2023_loes.csv\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c)data/viral_libraries/2023_H3N2_Kikawa.csv\x94u\x8c\x17viral_strain_plot_order\x94\x8c data/viral_strain_plot_order.csv\x94\x8c\x12neut_standard_sets\x94}\x94\x8c\x08loes2023\x94\x8c3data/neut_standard_sets/loes2023_neut_standards.csv\x94s\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\x08upstream\x94\x8c\x1fCTCCCTACAATGTCGGATTTGTATTTAATAG\x94\x8c\ndownstream\x94\x8c\x00\x94\x8c\x04minq\x94K\x14\x8c\x11upstream_mismatch\x94K\x04\x8c\x0ebc_orientation\x94\x8c\x02R2\x94u\x8c#default_process_plate_qc_thresholds\x94}\x94(\x8c\x1bavg_barcode_counts_per_well\x94K\xfa\x8c\x1fmin_neut_standard_frac_per_well\x94G?tz\xe1G\xae\x14{\x8c"no_serum_per_viral_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?@bM\xd2\xf1\xa9\xfc\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c!per_neut_standard_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?tz\xe1G\xae\x14{\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c min_neut_standard_count_per_well\x94M\xf4\x01\x8c)min_no_serum_count_per_viral_barcode_well\x94K\x1e\x8c+max_frac_infectivity_per_viral_barcode_well\x94K\x05\x8c)min_dilutions_per_barcode_serum_replicate\x94K\x06u\x8c%default_process_plate_curvefit_params\x94}\x94(\x8c\x18frac_infectivity_ceiling\x94K\x01\x8c\x06fixtop\x94]\x94(G?\xe8\x00\x00\x00\x00\x00\x00K\x01e\x8c\tfixbottom\x94K\x00\x8c\x08fixslope\x94]\x94(G?\xe9\x99\x99\x99\x99\x99\x9aK\x05eu\x8c!default_process_plate_curvefit_qc\x94}\x94(\x8c\x1dmax_frac_infectivity_at_least\x94K\x00\x8c\x0fgoodness_of_fit\x94}\x94(\x8c\x06min_R2\x94G?\xe6ffffff\x8c\x08max_RMSD\x94G?\xb9\x99\x99\x99\x99\x99\x9au\x8c#serum_replicates_ignore_curvefit_qc\x94]\x94\x8c+barcode_serum_replicates_ignore_curvefit_qc\x94]\x94u\x8c\x06plates\x94}\x94(\x8c\x06plate2\x94}\x94(\x8c\x04date\x94\x8c\x08datetime\x94\x8c\x04date\x94\x93\x94C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1edata/plates/plate2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00uu\x8c\x07plate11\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe7\t\x1a\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1fdata/plates/plate11_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\x18barcode_serum_replicates\x94]\x94]\x94(\x8c\x10AGTCCTATCCTCAAAT\x94\x8c\x06M099d0\x94eas\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00]\x94]\x94(\x8c\x10AGGTCAAGACCACAGG\x94\x8c\x06M099d0\x94eauu\x8c\nH3N2_plate\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe8\x03\x04\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1cdata/plates/H3N2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j:\x01\x00\x00K\xfaj;\x01\x00\x00G?tz\xe1G\xae\x14{j<\x01\x00\x00}\x94(j>\x01\x00\x00G?@bM\xd2\xf1\xa9\xfcj?\x01\x00\x00K\x03j@\x01\x00\x00K\x02ujA\x01\x00\x00}\x94(jC\x01\x00\x00G?tz\xe1G\xae\x14{jD\x01\x00\x00K\x03jE\x01\x00\x00K\x02ujF\x01\x00\x00M\xf4\x01jG\x01\x00\x00K\x1ejH\x01\x00\x00K\x05jI\x01\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(jL\x01\x00\x00K\x01jM\x01\x00\x00jN\x01\x00\x00jO\x01\x00\x00K\x00jP\x01\x00\x00jQ\x01\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(jT\x01\x00\x00K\x00jU\x01\x00\x00}\x94(jW\x01\x00\x00G?\xe6ffffffjX\x01\x00\x00G?\xb9\x99\x99\x99\x99\x99\x9aujY\x01\x00\x00jZ\x01\x00\x00j[\x01\x00\x00j\\\x01\x00\x00uuu\x8c\x16default_serum_titer_as\x94h\xc7\x8c\x1bdefault_serum_qc_thresholds\x94h\xc8\x8c\x16sera_override_defaults\x94}\x94(\x8c\x07M099d30\x94}\x94\x8c\rqc_thresholds\x94}\x94(h\xc9K\x02h\xcaK\x03h\xcb]\x94\x8c\x14A/Belgium/H0017/2022\x94aus\x8c\x07Y044d30\x94}\x94(\x8c\rqc_thresholds\x94}\x94(h\xc9K\x02h\xcaK\x04h\xcbh\xccu\x8c\x08titer_as\x94\x8c\x04nt50\x94uu\x8c\x14miscellaneous_plates\x94}\x94\x8c\x0erandom_plate_1\x94}\x94(\x8c\x04date\x94jd\x01\x00\x00C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c,data/miscellaneous_plates/random_plate_1.csv\x94usu\x8c\x04rule\x94\x8c\x0cserum_titers\x94\x8c\x0fbench_iteration\x94N\x8c\tscriptdir\x94\x8cj/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks\x94ub.'); from snakemake.logging import logger; logger.printshellcmds = False; import os; os.chdir(r'/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example');
######## snakemake preamble end #########
Correlate NT50s with midpoints
.encode(
alt.X("nt50", scale=alt.Scale(type="log", nice=False, padding=8)),
alt.Y("midpoint", scale=alt.Scale(type="log", nice=False, padding=8)),
+ alt.Color("titer_bound"),
strokeWidth=alt.condition(virus_selection, alt.value(3), alt.value(0)),
size=alt.condition(virus_selection, alt.value(100), alt.value(60)),
tooltip=[
@@ -7814,7 +7815,7 @@ Correlate NT50s with midpoints
if c not in {"serum", "titer_as"}
],
)
- .mark_circle(stroke="red", fillOpacity=0.45, color="black")
+ .mark_circle(stroke="black", fillOpacity=0.45, color="black")
.properties(
width=350,
height=350,
@@ -7837,23 +7838,23 @@ Correlate NT50s with midpoints
Out[7]:
-
+
Correlate NT50s with midpoints
Out[7]:
-
+
Plot median titers and
title=f"fails {qc_thresholds['min_replicates']=}, {qc_thresholds['max_fold_change_from_median']=}",
legend=alt.Legend(titleLimit=500),
),
+ alt.Shape("titer_bound"),
strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0)),
tooltip=[
alt.Tooltip(c, format=".3g") if per_rep_titers_w_fc[c].dtype == float else c
@@ -8109,8 +8111,7 @@ Plot median titers and
],
)
.mark_point(
- shape="circle",
- size=40,
+ size=35,
filled=True,
fillOpacity=0.5,
strokeOpacity=1,
@@ -8124,14 +8125,14 @@ Plot median titers and
alt.X("titer", scale=alt.Scale(nice=False, padding=5, type="log")),
alt.Y("virus", sort=viruses),
alt.Fill("fails_qc"),
- strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0)),
+ alt.Shape("titer_bound"),
+ strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0.5)),
tooltip=[
alt.Tooltip(c, format=".3g") if median_titers_noqc[c].dtype == float else c
for c in median_titers_noqc
],
)
.mark_point(
- shape="square",
size=75,
filled=True,
fillOpacity=0.9,
@@ -8146,7 +8147,7 @@ Plot median titers and
.properties(
height=alt.Step(11),
width=250,
- title=f"{serum} median (square) and per-replicate (small circle) titers",
+ title=f"{serum} median (large points) and per-replicate (small points) titers",
)
.configure_axis(grid=False)
)
@@ -8165,23 +8166,23 @@ Plot median titers and
Out[10]:
-
+
Plot median titers and
alt.X("titer", scale=alt.Scale(nice=False, padding=5, type="log")),
alt.Y("virus", sort=viruses),
alt.Fill("fails_qc"),
- strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0)),
+ alt.Shape("titer_bound"),
+ strokeWidth=alt.condition(virus_selection, alt.value(2), alt.value(0.5)),
tooltip=[
alt.Tooltip(c, format=".3g") if median_titers_noqc[c].dtype == float else c
for c in median_titers_noqc
],
)
.mark_point(
- shape="square",
size=75,
filled=True,
fillOpacity=0.9,
@@ -8146,7 +8147,7 @@ Plot median titers and
.properties(
height=alt.Step(11),
width=250,
- title=f"{serum} median (square) and per-replicate (small circle) titers",
+ title=f"{serum} median (large points) and per-replicate (small points) titers",
)
.configure_axis(grid=False)
)
@@ -8165,23 +8166,23 @@ Plot median titers and
Out[10]:
-
+
Plot median titers and
Out[10]:
-
+
######## snakemake preamble start (automatically inserted, do not edit) ########
-import sys; sys.path.extend(['/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example/..', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/bin', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/lib-dynload', '/home/jbloom/.local/lib/python3.11/site-packages', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/home/jbloom/.cache/snakemake/snakemake/source-cache/runtime-cache/tmpokpo7nbb/file/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks']); import pickle; snakemake = pickle.loads(b'\x80\x04\x95\xf4\x14\x00\x00\x00\x00\x00\x00\x8c\x10snakemake.script\x94\x8c\tSnakemake\x94\x93\x94)\x81\x94}\x94(\x8c\x05input\x94\x8c\x0csnakemake.io\x94\x8c\nInputFiles\x94\x93\x94)\x81\x94(\x8c"results/plates/plate2/qc_drops.yml\x94\x8c#results/plates/plate11/qc_drops.yml\x94\x8c&results/plates/H3N2_plate/qc_drops.yml\x94\x8c*results/sera/A23038d0_r32_75K/qc_drops.yml\x94\x8c results/sera/M099d0/qc_drops.yml\x94\x8c!results/sera/M099d30/qc_drops.yml\x94\x8c!results/sera/Y044d30/qc_drops.yml\x94\x8c"results/sera/Y154d182/qc_drops.yml\x94e}\x94(\x8c\x06_names\x94}\x94(\x8c\x0eplate_qc_drops\x94K\x00K\x03\x86\x94\x8c\rsera_qc_drops\x94K\x03K\x08\x86\x94u\x8c\x12_allowed_overrides\x94]\x94(\x8c\x05index\x94\x8c\x04sort\x94eh\x1b\x8c\tfunctools\x94\x8c\x07partial\x94\x93\x94h\x06\x8c\x19Namedlist._used_attribute\x94\x93\x94\x85\x94R\x94(h!)}\x94\x8c\x05_name\x94h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bh\x15h\x06\x8c\tNamedlist\x94\x93\x94)\x81\x94(h\nh\x0bh\x0ce}\x94(h\x13}\x94h\x19]\x94(h\x1bh\x1ceh\x1bh\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bubh\x17h,)\x81\x94(h\rh\x0eh\x0fh\x10h\x11e}\x94(h\x13}\x94h\x19]\x94(h\x1bh\x1ceh\x1bh\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bubub\x8c\x06output\x94h\x06\x8c\x0bOutputFiles\x94\x93\x94)\x81\x94(\x8c#results/qc_drops/plate_qc_drops.yml\x94\x8c"results/qc_drops/sera_qc_drops.yml\x94e}\x94(h\x13}\x94(h\x15K\x00N\x86\x94h\x17K\x01N\x86\x94uh\x19]\x94(h\x1bh\x1ceh\x1bh\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bh\x15hIh\x17hJub\x8c\x06params\x94h\x06\x8c\x06Params\x94\x93\x94)\x81\x94(]\x94(\x8c\x06plate2\x94\x8c\x07plate11\x94\x8c\nH3N2_plate\x94e]\x94(\x8c\x10A23038d0_r32_75K\x94\x8c\x06M099d0\x94\x8c\x07M099d30\x94\x8c\x07Y044d30\x94\x8c\x08Y154d182\x94ee}\x94(h\x13}\x94(\x8c\x06plates\x94K\x00N\x86\x94\x8c\x04sera\x94K\x01N\x86\x94uh\x19]\x94(h\x1bh\x1ceh\x1bh\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bhhh\\hjh`ub\x8c\twildcards\x94h\x06\x8c\tWildcards\x94\x93\x94)\x81\x94}\x94(h\x13}\x94h\x19]\x94(h\x1bh\x1ceh\x1bh\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bub\x8c\x07threads\x94K\x01\x8c\tresources\x94h\x06\x8c\tResources\x94\x93\x94)\x81\x94(K\x01K\x01\x8c\x04/tmp\x94e}\x94(h\x13}\x94(\x8c\x06_cores\x94K\x00N\x86\x94\x8c\x06_nodes\x94K\x01N\x86\x94\x8c\x06tmpdir\x94K\x02N\x86\x94uh\x19]\x94(h\x1bh\x1ceh\x1bh\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bh\x8cK\x01h\x8eK\x01h\x90h\x89ub\x8c\x03log\x94h\x06\x8c\x03Log\x94\x93\x94)\x81\x94\x8c)results/qc_drops/aggregate_qc_drops.ipynb\x94a}\x94(h\x13}\x94\x8c\x08notebook\x94K\x00N\x86\x94sh\x19]\x94(h\x1bh\x1ceh\x1bh\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bh\xa2h\x9fub\x8c\x06config\x94}\x94(\x8c\x10seqneut-pipeline\x94\x8c\x03../\x94\x8c\x04docs\x94\x8c\x07../docs\x94\x8c\x0bdescription\x94X\xba\x01\x00\x00# Test example for [seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nThis is a small toy-example created by subsetting a real experiment dataset.\n\nSee [https://github.com/jbloomlab/seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nfor the computer code and underlying numerical data.\n\nSee [here](https://github.com/jbloomlab/seqneut-pipeline/graphs/contributors) for a\nlist of all contributors to the pipeline.\n\x94\x8c\x0fviral_libraries\x94}\x94(\x8c\x14pdmH1N1_lib2023_loes\x94\x8c-data/viral_libraries/pdmH1N1_lib2023_loes.csv\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c)data/viral_libraries/2023_H3N2_Kikawa.csv\x94u\x8c\x17viral_strain_plot_order\x94\x8c data/viral_strain_plot_order.csv\x94\x8c\x12neut_standard_sets\x94}\x94\x8c\x08loes2023\x94\x8c3data/neut_standard_sets/loes2023_neut_standards.csv\x94s\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\x08upstream\x94\x8c\x1fCTCCCTACAATGTCGGATTTGTATTTAATAG\x94\x8c\ndownstream\x94\x8c\x00\x94\x8c\x04minq\x94K\x14\x8c\x11upstream_mismatch\x94K\x04\x8c\x0ebc_orientation\x94\x8c\x02R2\x94u\x8c#default_process_plate_qc_thresholds\x94}\x94(\x8c\x1bavg_barcode_counts_per_well\x94K\xfa\x8c\x1fmin_neut_standard_frac_per_well\x94G?tz\xe1G\xae\x14{\x8c"no_serum_per_viral_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?@bM\xd2\xf1\xa9\xfc\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c!per_neut_standard_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?tz\xe1G\xae\x14{\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c min_neut_standard_count_per_well\x94M\xf4\x01\x8c)min_no_serum_count_per_viral_barcode_well\x94K\x1e\x8c+max_frac_infectivity_per_viral_barcode_well\x94K\x05\x8c)min_dilutions_per_barcode_serum_replicate\x94K\x06u\x8c%default_process_plate_curvefit_params\x94}\x94(\x8c\x18frac_infectivity_ceiling\x94K\x01\x8c\x06fixtop\x94]\x94(G?\xe8\x00\x00\x00\x00\x00\x00K\x01e\x8c\tfixbottom\x94K\x00\x8c\x08fixslope\x94]\x94(G?\xe9\x99\x99\x99\x99\x99\x9aK\x05eu\x8c!default_process_plate_curvefit_qc\x94}\x94(\x8c\x1dmax_frac_infectivity_at_least\x94K\x00\x8c\x0fgoodness_of_fit\x94}\x94(\x8c\x06min_R2\x94G?\xe6ffffff\x8c\x08max_RMSD\x94G?\xb9\x99\x99\x99\x99\x99\x9au\x8c#serum_replicates_ignore_curvefit_qc\x94]\x94\x8c+barcode_serum_replicates_ignore_curvefit_qc\x94]\x94u\x8c\x06plates\x94}\x94(h]}\x94(\x8c\x04date\x94\x8c\x08datetime\x94\x8c\x04date\x94\x93\x94C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1edata/plates/plate2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(h\xcdK\xfah\xceG?tz\xe1G\xae\x14{h\xcf}\x94(h\xd1G?@bM\xd2\xf1\xa9\xfch\xd2K\x03h\xd3K\x02uh\xd4}\x94(h\xd6G?tz\xe1G\xae\x14{h\xd7K\x03h\xd8K\x02uh\xd9M\xf4\x01h\xdaK\x1eh\xdbK\x05h\xdcK\x06u\x8c\x0fcurvefit_params\x94}\x94(h\xdfK\x01h\xe0h\xe1h\xe2K\x00h\xe3h\xe4u\x8c\x0bcurvefit_qc\x94}\x94(h\xe7K\x00h\xe8}\x94(h\xeaG?\xe6ffffffh\xebG?\xb9\x99\x99\x99\x99\x99\x9auh\xech\xedh\xeeh\xefuuh^}\x94(\x8c\x04date\x94h\xf6C\x04\x07\xe7\t\x1a\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1fdata/plates/plate11_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\x18barcode_serum_replicates\x94]\x94]\x94(\x8c\x10AGTCCTATCCTCAAAT\x94\x8c\x06M099d0\x94eas\x8c\rqc_thresholds\x94}\x94(h\xcdK\xfah\xceG?tz\xe1G\xae\x14{h\xcf}\x94(h\xd1G?@bM\xd2\xf1\xa9\xfch\xd2K\x03h\xd3K\x02uh\xd4}\x94(h\xd6G?tz\xe1G\xae\x14{h\xd7K\x03h\xd8K\x02uh\xd9M\xf4\x01h\xdaK\x1eh\xdbK\x05h\xdcK\x06u\x8c\x0fcurvefit_params\x94}\x94(h\xdfK\x01h\xe0h\xe1h\xe2K\x00h\xe3h\xe4u\x8c\x0bcurvefit_qc\x94}\x94(h\xe7K\x00h\xe8}\x94(h\xeaG?\xe6ffffffh\xebG?\xb9\x99\x99\x99\x99\x99\x9auh\xech\xedh\xee]\x94]\x94(\x8c\x10AGGTCAAGACCACAGG\x94\x8c\x06M099d0\x94eauuh_}\x94(\x8c\x04date\x94h\xf6C\x04\x07\xe8\x03\x04\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1cdata/plates/H3N2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(h\xcdK\xfah\xceG?tz\xe1G\xae\x14{h\xcf}\x94(h\xd1G?@bM\xd2\xf1\xa9\xfch\xd2K\x03h\xd3K\x02uh\xd4}\x94(h\xd6G?tz\xe1G\xae\x14{h\xd7K\x03h\xd8K\x02uh\xd9M\xf4\x01h\xdaK\x1eh\xdbK\x05h\xdcK\x06u\x8c\x0fcurvefit_params\x94}\x94(h\xdfK\x01h\xe0h\xe1h\xe2K\x00h\xe3h\xe4u\x8c\x0bcurvefit_qc\x94}\x94(h\xe7K\x00h\xe8}\x94(h\xeaG?\xe6ffffffh\xebG?\xb9\x99\x99\x99\x99\x99\x9auh\xech\xedh\xeeh\xefuuu\x8c\x16default_serum_titer_as\x94\x8c\x08midpoint\x94\x8c\x1bdefault_serum_qc_thresholds\x94}\x94(\x8c\x0emin_replicates\x94K\x02\x8c\x1bmax_fold_change_from_median\x94K\x03\x8c\x11viruses_ignore_qc\x94]\x94u\x8c\x16sera_override_defaults\x94}\x94(\x8c\x07M099d30\x94}\x94\x8c\rqc_thresholds\x94}\x94(jD\x01\x00\x00K\x02jE\x01\x00\x00K\x03jF\x01\x00\x00]\x94\x8c\x14A/Belgium/H0017/2022\x94aus\x8c\x07Y044d30\x94}\x94(\x8c\rqc_thresholds\x94}\x94(jD\x01\x00\x00K\x02jE\x01\x00\x00K\x04jF\x01\x00\x00jG\x01\x00\x00u\x8c\x08titer_as\x94\x8c\x04nt50\x94uu\x8c\x14miscellaneous_plates\x94}\x94\x8c\x0erandom_plate_1\x94}\x94(\x8c\x04date\x94h\xf6C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c,data/miscellaneous_plates/random_plate_1.csv\x94usu\x8c\x04rule\x94\x8c\x12aggregate_qc_drops\x94\x8c\x0fbench_iteration\x94N\x8c\tscriptdir\x94\x8cj/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks\x94ub.'); from snakemake.logging import logger; logger.printshellcmds = False; import os; os.chdir(r'/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example');
+import sys; sys.path.extend(['/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example/..', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/bin', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/lib-dynload', '/home/jbloom/.local/lib/python3.11/site-packages', '/fh/fast/bloom_j/software/miniconda3/envs/seqneut-pipeline/lib/python3.11/site-packages', '/home/jbloom/.cache/snakemake/snakemake/source-cache/runtime-cache/tmppc4t0lmo/file/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks', '/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks']); import pickle; snakemake = pickle.loads(b'\x80\x04\x95\xf4\x14\x00\x00\x00\x00\x00\x00\x8c\x10snakemake.script\x94\x8c\tSnakemake\x94\x93\x94)\x81\x94}\x94(\x8c\x05input\x94\x8c\x0csnakemake.io\x94\x8c\nInputFiles\x94\x93\x94)\x81\x94(\x8c"results/plates/plate2/qc_drops.yml\x94\x8c#results/plates/plate11/qc_drops.yml\x94\x8c&results/plates/H3N2_plate/qc_drops.yml\x94\x8c*results/sera/A23038d0_r32_75K/qc_drops.yml\x94\x8c results/sera/M099d0/qc_drops.yml\x94\x8c!results/sera/M099d30/qc_drops.yml\x94\x8c!results/sera/Y044d30/qc_drops.yml\x94\x8c"results/sera/Y154d182/qc_drops.yml\x94e}\x94(\x8c\x06_names\x94}\x94(\x8c\x0eplate_qc_drops\x94K\x00K\x03\x86\x94\x8c\rsera_qc_drops\x94K\x03K\x08\x86\x94u\x8c\x12_allowed_overrides\x94]\x94(\x8c\x05index\x94\x8c\x04sort\x94eh\x1b\x8c\tfunctools\x94\x8c\x07partial\x94\x93\x94h\x06\x8c\x19Namedlist._used_attribute\x94\x93\x94\x85\x94R\x94(h!)}\x94\x8c\x05_name\x94h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bh\x15h\x06\x8c\tNamedlist\x94\x93\x94)\x81\x94(h\nh\x0bh\x0ce}\x94(h\x13}\x94h\x19]\x94(h\x1bh\x1ceh\x1bh\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bubh\x17h,)\x81\x94(h\rh\x0eh\x0fh\x10h\x11e}\x94(h\x13}\x94h\x19]\x94(h\x1bh\x1ceh\x1bh\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bubub\x8c\x06output\x94h\x06\x8c\x0bOutputFiles\x94\x93\x94)\x81\x94(\x8c#results/qc_drops/plate_qc_drops.yml\x94\x8c"results/qc_drops/sera_qc_drops.yml\x94e}\x94(h\x13}\x94(h\x15K\x00N\x86\x94h\x17K\x01N\x86\x94uh\x19]\x94(h\x1bh\x1ceh\x1bh\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bh\x15hIh\x17hJub\x8c\x06params\x94h\x06\x8c\x06Params\x94\x93\x94)\x81\x94(]\x94(\x8c\x06plate2\x94\x8c\x07plate11\x94\x8c\nH3N2_plate\x94e]\x94(\x8c\x10A23038d0_r32_75K\x94\x8c\x06M099d0\x94\x8c\x07M099d30\x94\x8c\x07Y044d30\x94\x8c\x08Y154d182\x94ee}\x94(h\x13}\x94(\x8c\x06plates\x94K\x00N\x86\x94\x8c\x04sera\x94K\x01N\x86\x94uh\x19]\x94(h\x1bh\x1ceh\x1bh\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bhhh\\hjh`ub\x8c\twildcards\x94h\x06\x8c\tWildcards\x94\x93\x94)\x81\x94}\x94(h\x13}\x94h\x19]\x94(h\x1bh\x1ceh\x1bh\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bub\x8c\x07threads\x94K\x01\x8c\tresources\x94h\x06\x8c\tResources\x94\x93\x94)\x81\x94(K\x01K\x01\x8c\x04/tmp\x94e}\x94(h\x13}\x94(\x8c\x06_cores\x94K\x00N\x86\x94\x8c\x06_nodes\x94K\x01N\x86\x94\x8c\x06tmpdir\x94K\x02N\x86\x94uh\x19]\x94(h\x1bh\x1ceh\x1bh\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bh\x8cK\x01h\x8eK\x01h\x90h\x89ub\x8c\x03log\x94h\x06\x8c\x03Log\x94\x93\x94)\x81\x94\x8c)results/qc_drops/aggregate_qc_drops.ipynb\x94a}\x94(h\x13}\x94\x8c\x08notebook\x94K\x00N\x86\x94sh\x19]\x94(h\x1bh\x1ceh\x1bh\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1bsNt\x94bh\x1ch\x1fh!\x85\x94R\x94(h!)}\x94h%h\x1csNt\x94bh\xa2h\x9fub\x8c\x06config\x94}\x94(\x8c\x10seqneut-pipeline\x94\x8c\x03../\x94\x8c\x04docs\x94\x8c\x07../docs\x94\x8c\x0bdescription\x94X\xba\x01\x00\x00# Test example for [seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nThis is a small toy-example created by subsetting a real experiment dataset.\n\nSee [https://github.com/jbloomlab/seqneut-pipeline](https://github.com/jbloomlab/seqneut-pipeline)\nfor the computer code and underlying numerical data.\n\nSee [here](https://github.com/jbloomlab/seqneut-pipeline/graphs/contributors) for a\nlist of all contributors to the pipeline.\n\x94\x8c\x0fviral_libraries\x94}\x94(\x8c\x14pdmH1N1_lib2023_loes\x94\x8c-data/viral_libraries/pdmH1N1_lib2023_loes.csv\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c)data/viral_libraries/2023_H3N2_Kikawa.csv\x94u\x8c\x17viral_strain_plot_order\x94\x8c data/viral_strain_plot_order.csv\x94\x8c\x12neut_standard_sets\x94}\x94\x8c\x08loes2023\x94\x8c3data/neut_standard_sets/loes2023_neut_standards.csv\x94s\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\x08upstream\x94\x8c\x1fCTCCCTACAATGTCGGATTTGTATTTAATAG\x94\x8c\ndownstream\x94\x8c\x00\x94\x8c\x04minq\x94K\x14\x8c\x11upstream_mismatch\x94K\x04\x8c\x0ebc_orientation\x94\x8c\x02R2\x94u\x8c#default_process_plate_qc_thresholds\x94}\x94(\x8c\x1bavg_barcode_counts_per_well\x94K\xfa\x8c\x1fmin_neut_standard_frac_per_well\x94G?tz\xe1G\xae\x14{\x8c"no_serum_per_viral_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?@bM\xd2\xf1\xa9\xfc\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c!per_neut_standard_barcode_filters\x94}\x94(\x8c\x08min_frac\x94G?tz\xe1G\xae\x14{\x8c\x0fmax_fold_change\x94K\x03\x8c\tmax_wells\x94K\x02u\x8c min_neut_standard_count_per_well\x94M\xf4\x01\x8c)min_no_serum_count_per_viral_barcode_well\x94K\x1e\x8c+max_frac_infectivity_per_viral_barcode_well\x94K\x05\x8c)min_dilutions_per_barcode_serum_replicate\x94K\x06u\x8c%default_process_plate_curvefit_params\x94}\x94(\x8c\x18frac_infectivity_ceiling\x94K\x01\x8c\x06fixtop\x94]\x94(G?\xe8\x00\x00\x00\x00\x00\x00K\x01e\x8c\tfixbottom\x94K\x00\x8c\x08fixslope\x94]\x94(G?\xe9\x99\x99\x99\x99\x99\x9aK\x05eu\x8c!default_process_plate_curvefit_qc\x94}\x94(\x8c\x1dmax_frac_infectivity_at_least\x94K\x00\x8c\x0fgoodness_of_fit\x94}\x94(\x8c\x06min_R2\x94G?\xe6ffffff\x8c\x08max_RMSD\x94G?\xb9\x99\x99\x99\x99\x99\x9au\x8c#serum_replicates_ignore_curvefit_qc\x94]\x94\x8c+barcode_serum_replicates_ignore_curvefit_qc\x94]\x94u\x8c\x06plates\x94}\x94(h]}\x94(\x8c\x04date\x94\x8c\x08datetime\x94\x8c\x04date\x94\x93\x94C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1edata/plates/plate2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(h\xcdK\xfah\xceG?tz\xe1G\xae\x14{h\xcf}\x94(h\xd1G?@bM\xd2\xf1\xa9\xfch\xd2K\x03h\xd3K\x02uh\xd4}\x94(h\xd6G?tz\xe1G\xae\x14{h\xd7K\x03h\xd8K\x02uh\xd9M\xf4\x01h\xdaK\x1eh\xdbK\x05h\xdcK\x06u\x8c\x0fcurvefit_params\x94}\x94(h\xdfK\x01h\xe0h\xe1h\xe2K\x00h\xe3h\xe4u\x8c\x0bcurvefit_qc\x94}\x94(h\xe7K\x00h\xe8}\x94(h\xeaG?\xe6ffffffh\xebG?\xb9\x99\x99\x99\x99\x99\x9auh\xech\xedh\xeeh\xefuuh^}\x94(\x8c\x04date\x94h\xf6C\x04\x07\xe7\t\x1a\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1fdata/plates/plate11_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\x18barcode_serum_replicates\x94]\x94]\x94(\x8c\x10AGTCCTATCCTCAAAT\x94\x8c\x06M099d0\x94eas\x8c\rqc_thresholds\x94}\x94(h\xcdK\xfah\xceG?tz\xe1G\xae\x14{h\xcf}\x94(h\xd1G?@bM\xd2\xf1\xa9\xfch\xd2K\x03h\xd3K\x02uh\xd4}\x94(h\xd6G?tz\xe1G\xae\x14{h\xd7K\x03h\xd8K\x02uh\xd9M\xf4\x01h\xdaK\x1eh\xdbK\x05h\xdcK\x06u\x8c\x0fcurvefit_params\x94}\x94(h\xdfK\x01h\xe0h\xe1h\xe2K\x00h\xe3h\xe4u\x8c\x0bcurvefit_qc\x94}\x94(h\xe7K\x00h\xe8}\x94(h\xeaG?\xe6ffffffh\xebG?\xb9\x99\x99\x99\x99\x99\x9auh\xech\xedh\xee]\x94]\x94(\x8c\x10AGGTCAAGACCACAGG\x94\x8c\x06M099d0\x94eauuh_}\x94(\x8c\x04date\x94h\xf6C\x04\x07\xe8\x03\x04\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x13H3N2_lib2023_Kikawa\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c\x1cdata/plates/H3N2_samples.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(h\xcdK\xfah\xceG?tz\xe1G\xae\x14{h\xcf}\x94(h\xd1G?@bM\xd2\xf1\xa9\xfch\xd2K\x03h\xd3K\x02uh\xd4}\x94(h\xd6G?tz\xe1G\xae\x14{h\xd7K\x03h\xd8K\x02uh\xd9M\xf4\x01h\xdaK\x1eh\xdbK\x05h\xdcK\x06u\x8c\x0fcurvefit_params\x94}\x94(h\xdfK\x01h\xe0h\xe1h\xe2K\x00h\xe3h\xe4u\x8c\x0bcurvefit_qc\x94}\x94(h\xe7K\x00h\xe8}\x94(h\xeaG?\xe6ffffffh\xebG?\xb9\x99\x99\x99\x99\x99\x9auh\xech\xedh\xeeh\xefuuu\x8c\x16default_serum_titer_as\x94\x8c\x08midpoint\x94\x8c\x1bdefault_serum_qc_thresholds\x94}\x94(\x8c\x0emin_replicates\x94K\x02\x8c\x1bmax_fold_change_from_median\x94K\x03\x8c\x11viruses_ignore_qc\x94]\x94u\x8c\x16sera_override_defaults\x94}\x94(\x8c\x07M099d30\x94}\x94\x8c\rqc_thresholds\x94}\x94(jD\x01\x00\x00K\x02jE\x01\x00\x00K\x03jF\x01\x00\x00]\x94\x8c\x14A/Belgium/H0017/2022\x94aus\x8c\x07Y044d30\x94}\x94(\x8c\rqc_thresholds\x94}\x94(jD\x01\x00\x00K\x02jE\x01\x00\x00K\x04jF\x01\x00\x00jG\x01\x00\x00u\x8c\x08titer_as\x94\x8c\x04nt50\x94uu\x8c\x14miscellaneous_plates\x94}\x94\x8c\x0erandom_plate_1\x94}\x94(\x8c\x04date\x94h\xf6C\x04\x07\xe7\x08\x01\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x14pdmH1N1_lib2023_loes\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c,data/miscellaneous_plates/random_plate_1.csv\x94usu\x8c\x04rule\x94\x8c\x12aggregate_qc_drops\x94\x8c\x0fbench_iteration\x94N\x8c\tscriptdir\x94\x8cj/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks\x94ub.'); from snakemake.logging import logger; logger.printshellcmds = False; import os; os.chdir(r'/fh/fast/bloom_j/computational_notebooks/jbloom/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/test_example');
######## snakemake preamble end #########