######## snakemake preamble start (automatically inserted, do not edit) ########
import sys;sys.path.extend(['/home/ckikawa/miniforge3/envs/seqneut-pipeline/lib/python3.12/site-packages', '/fh/fast/bloom_j/computational_notebooks/ckikawa/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline', '/fh/fast/bloom_j/computational_notebooks/ckikawa/2024/flu_seqneut_H3N2_2023-2024', '/home/ckikawa/miniforge3/envs/seqneut-pipeline/bin', '/home/ckikawa/miniforge3/envs/seqneut-pipeline/lib/python3.12', '/home/ckikawa/miniforge3/envs/seqneut-pipeline/lib/python3.12/lib-dynload', '/home/ckikawa/miniforge3/envs/seqneut-pipeline/lib/python3.12/site-packages', '/home/ckikawa/.cache/snakemake/snakemake/source-cache/runtime-cache/tmpzj4h86q0/file/fh/fast/bloom_j/computational_notebooks/ckikawa/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks', '/fh/fast/bloom_j/computational_notebooks/ckikawa/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks']);import pickle;from snakemake import script;script.snakemake = pickle.loads(b'\x80\x04\x95\xdd\x89\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/plate15/qc_drops.yml\x94\x8c#results/plates/plate16/qc_drops.yml\x94\x8c#results/plates/plate17/qc_drops.yml\x94\x8c#results/plates/plate18/qc_drops.yml\x94\x8c(results/plates/plate19_100k/qc_drops.yml\x94\x8c(results/plates/plate20_150k/qc_drops.yml\x94\x8c(results/plates/plate21_200k/qc_drops.yml\x94\x8c#results/plates/plate22/qc_drops.yml\x94\x8c#results/plates/plate23/qc_drops.yml\x94\x8c#results/plates/plate24/qc_drops.yml\x94\x8c#results/plates/plate25/qc_drops.yml\x94\x8c#results/plates/plate26/qc_drops.yml\x94\x8c#results/plates/plate27/qc_drops.yml\x94\x8c#results/plates/plate28/qc_drops.yml\x94\x8c#results/plates/plate29/qc_drops.yml\x94\x8c#results/plates/plate30/qc_drops.yml\x94\x8c#results/plates/plate31/qc_drops.yml\x94\x8c#results/plates/plate32/qc_drops.yml\x94\x8c#results/plates/plate33/qc_drops.yml\x94\x8c#results/plates/plate34/qc_drops.yml\x94\x8c#results/plates/plate35/qc_drops.yml\x94\x8c#results/plates/plate36/qc_drops.yml\x94\x8c#results/plates/plate37/qc_drops.yml\x94\x8c#results/plates/plate38/qc_drops.yml\x94\x8c#results/plates/plate39/qc_drops.yml\x94\x8c#results/plates/plate40/qc_drops.yml\x94\x8c#results/plates/plate41/qc_drops.yml\x94\x8c=results/sera/AusVaccineCohort_AUS24_s001_postvax/qc_drops.yml\x94\x8c<results/sera/AusVaccineCohort_AUS24_s001_prevax/qc_drops.yml\x94\x8c=results/sera/AusVaccineCohort_AUS24_s002_postvax/qc_drops.yml\x94\x8c<results/sera/AusVaccineCohort_AUS24_s002_prevax/qc_drops.yml\x94\x8c=results/sera/AusVaccineCohort_AUS24_s004_postvax/qc_drops.yml\x94\x8c<results/sera/AusVaccineCohort_AUS24_s004_prevax/qc_drops.yml\x94\x8c=results/sera/AusVaccineCohort_AUS24_s006_postvax/qc_drops.yml\x94\x8c<results/sera/AusVaccineCohort_AUS24_s006_prevax/qc_drops.yml\x94\x8c=results/sera/AusVaccineCohort_AUS24_s007_postvax/qc_drops.yml\x94\x8c<results/sera/AusVaccineCohort_AUS24_s007_prevax/qc_drops.yml\x94\x8c=results/sera/AusVaccineCohort_AUS24_s008_postvax/qc_drops.yml\x94\x8c<results/sera/AusVaccineCohort_AUS24_s008_prevax/qc_drops.yml\x94\x8c=results/sera/AusVaccineCohort_AUS24_s009_postvax/qc_drops.yml\x94\x8c<results/sera/AusVaccineCohort_AUS24_s009_prevax/qc_drops.yml\x94\x8c=results/sera/AusVaccineCohort_AUS24_s010_postvax/qc_drops.yml\x94\x8c<results/sera/AusVaccineCohort_AUS24_s010_prevax/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1949_s012_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1949_s012_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1951_s014_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1951_s014_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1956_s042_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1956_s042_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1957_s008_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1957_s008_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1960_s003_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1960_s003_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1963_s051_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1963_s051_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1964_s006_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1964_s006_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1966_s057_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1966_s057_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1968_s033_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1968_s033_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1968_s049_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1968_s049_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1971_s044_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1971_s044_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1974_s034_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1974_s034_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1975_s030_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1975_s030_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1976_s028_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1976_s028_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1977_s035_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1977_s035_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1978_s039_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1978_s039_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1980_s016_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1980_s016_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1981_s053_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1981_s053_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1984_s041_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1984_s041_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1984_s047_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1984_s047_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1985_s015_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1985_s015_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1986_s004_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1986_s004_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1987_s010_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1987_s010_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1987_s037_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1987_s037_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1988_s031_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1988_s031_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1989_s026_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1989_s026_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1989_s052_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1989_s052_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1993_s020_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1993_s020_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1994_s005_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1994_s005_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1994_s024_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1994_s024_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1995_s002_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1995_s002_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1996_s043_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1996_s043_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1996_s056_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1996_s056_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1997_s027_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1997_s027_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1997_s045_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1997_s045_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1999_s046_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1999_s046_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y1999_s048_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y1999_s048_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y2001_s017_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y2001_s017_d28/qc_drops.yml\x94\x8c@results/sera/PennVaccineCohort_PENN23_y2001_s025_d0/qc_drops.yml\x94\x8cAresults/sera/PennVaccineCohort_PENN23_y2001_s025_d28/qc_drops.yml\x94\x8c5results/sera/PooledSera_PennPostVax_pool/qc_drops.yml\x94\x8c@results/sera/PooledSera_PennPreVax_PennPostVax_pool/qc_drops.yml\x94\x8c4results/sera/PooledSera_PennPreVax_pool/qc_drops.yml\x94\x8c8results/sera/PooledSera_SCHPennPrePost_pool/qc_drops.yml\x94\x8c9results/sera/PooledSera_SCH_PennPostVax_pool/qc_drops.yml\x94\x8c8results/sera/PooledSera_SCH_PennPreVax_pool/qc_drops.yml\x94\x8c-results/sera/PooledSera_SCH_pool/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2009_s001/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2009_s002/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2009_s004/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2009_s005/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2009_s006/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2009_s007/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2009_s009/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2010_s010/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2010_s011/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2011_s012/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2011_s013/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2012_s014/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2012_s016/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2012_s017/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2012_s018/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2013_s020/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2013_s021/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2013_s023/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2013_s024/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2014_s025/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2014_s026/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2014_s027/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2014_s028/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2014_s029/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2015_s031/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2015_s032/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2015_s033/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2015_s034/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2015_s035/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2016_s036/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2016_s037/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2016_s038/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2016_s039/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2016_s040/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2017_s041/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2017_s042/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2018_s043/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2018_s044/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2018_s045/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2018_s046/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2018_s047/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2019_s048/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2019_s049/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2019_s050/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2020_s051/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2020_s052/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2020_s053/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2020_s054/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2020_s055/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2021_s056/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2021_s057/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2021_s059/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2022_s062/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2022_s064/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2022_s066/qc_drops.yml\x94\x8c.results/sera/SCH_SCH23_y2022_s067/qc_drops.yml\x94\x8c.results/sera/pilot_A230043d0_100k/qc_drops.yml\x94\x8c.results/sera/pilot_A230043d0_150k/qc_drops.yml\x94\x8c.results/sera/pilot_A230043d0_200k/qc_drops.yml\x94\x8c/results/sera/pilot_A230043d28_100k/qc_drops.yml\x94\x8c/results/sera/pilot_A230043d28_150k/qc_drops.yml\x94\x8c/results/sera/pilot_A230043d28_200k/qc_drops.yml\x94e}\x94(\x8c\x06_names\x94}\x94(\x8c\x0eplate_qc_drops\x94K\x00K\x1b\x86\x94\x8c\x14groups_sera_qc_drops\x94K\x1bK\xbe\x86\x94u\x8c\x12_allowed_overrides\x94]\x94(\x8c\x05index\x94\x8c\x04sort\x94eh\xd1h\x06\x8c\x0eAttributeGuard\x94\x93\x94)\x81\x94}\x94\x8c\x04name\x94h\xd1sbh\xd2h\xd4)\x81\x94}\x94h\xd7h\xd2sbh\xcbh\x06\x8c\tNamedlist\x94\x93\x94)\x81\x94(h\nh\x0bh\x0ch\rh\x0eh\x0fh\x10h\x11h\x12h\x13h\x14h\x15h\x16h\x17h\x18h\x19h\x1ah\x1bh\x1ch\x1dh\x1eh\x1fh h!h"h#h$e}\x94(h\xc9}\x94h\xcf]\x94(h\xd1h\xd2eh\xd1h\xd4)\x81\x94}\x94h\xd7h\xd1sbh\xd2h\xd4)\x81\x94}\x94h\xd7h\xd2sbubh\xcdh\xdb)\x81\x94(h%h&h\'h(h)h*h+h,h-h.h/h0h1h2h3h4h5h6h7h8h9h:h;h<h=h>h?h@hAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh[h\\h]h^h_h`hahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzh{h|h}h~h\x7fh\x80h\x81h\x82h\x83h\x84h\x85h\x86h\x87h\x88h\x89h\x8ah\x8bh\x8ch\x8dh\x8eh\x8fh\x90h\x91h\x92h\x93h\x94h\x95h\x96h\x97h\x98h\x99h\x9ah\x9bh\x9ch\x9dh\x9eh\x9fh\xa0h\xa1h\xa2h\xa3h\xa4h\xa5h\xa6h\xa7h\xa8h\xa9h\xaah\xabh\xach\xadh\xaeh\xafh\xb0h\xb1h\xb2h\xb3h\xb4h\xb5h\xb6h\xb7h\xb8h\xb9h\xbah\xbbh\xbch\xbdh\xbeh\xbfh\xc0h\xc1h\xc2h\xc3h\xc4h\xc5h\xc6h\xc7e}\x94(h\xc9}\x94h\xcf]\x94(h\xd1h\xd2eh\xd1h\xd4)\x81\x94}\x94h\xd7h\xd1sbh\xd2h\xd4)\x81\x94}\x94h\xd7h\xd2sbubub\x8c\x06output\x94h\x06\x8c\x0bOutputFiles\x94\x93\x94)\x81\x94(\x8c#results/qc_drops/plate_qc_drops.yml\x94\x8c)results/qc_drops/groups_sera_qc_drops.yml\x94e}\x94(h\xc9}\x94(h\xcbK\x00N\x86\x94h\xcdK\x01N\x86\x94uh\xcf]\x94(h\xd1h\xd2eh\xd1h\xd4)\x81\x94}\x94h\xd7h\xd1sbh\xd2h\xd4)\x81\x94}\x94h\xd7h\xd2sbh\xcbh\xf0h\xcdh\xf1ub\x8c\x06params\x94h\x06\x8c\x06Params\x94\x93\x94)\x81\x94(]\x94(\x8c\x07plate15\x94\x8c\x07plate16\x94\x8c\x07plate17\x94\x8c\x07plate18\x94\x8c\x0cplate19_100k\x94\x8c\x0cplate20_150k\x94\x8c\x0cplate21_200k\x94\x8c\x07plate22\x94\x8c\x07plate23\x94\x8c\x07plate24\x94\x8c\x07plate25\x94\x8c\x07plate26\x94\x8c\x07plate27\x94\x8c\x07plate28\x94\x8c\x07plate29\x94\x8c\x07plate30\x94\x8c\x07plate31\x94\x8c\x07plate32\x94\x8c\x07plate33\x94\x8c\x07plate34\x94\x8c\x07plate35\x94\x8c\x07plate36\x94\x8c\x07plate37\x94\x8c\x07plate38\x94\x8c\x07plate39\x94\x8c\x07plate40\x94\x8c\x07plate41\x94e]\x94(\x8c\x10AusVaccineCohort\x94\x8c\x12AUS24_s001_postvax\x94\x86\x94j\x1c\x01\x00\x00\x8c\x11AUS24_s001_prevax\x94\x86\x94j\x1c\x01\x00\x00\x8c\x12AUS24_s002_postvax\x94\x86\x94j\x1c\x01\x00\x00\x8c\x11AUS24_s002_prevax\x94\x86\x94j\x1c\x01\x00\x00\x8c\x12AUS24_s004_postvax\x94\x86\x94j\x1c\x01\x00\x00\x8c\x11AUS24_s004_prevax\x94\x86\x94j\x1c\x01\x00\x00\x8c\x12AUS24_s006_postvax\x94\x86\x94j\x1c\x01\x00\x00\x8c\x11AUS24_s006_prevax\x94\x86\x94j\x1c\x01\x00\x00\x8c\x12AUS24_s007_postvax\x94\x86\x94j\x1c\x01\x00\x00\x8c\x11AUS24_s007_prevax\x94\x86\x94j\x1c\x01\x00\x00\x8c\x12AUS24_s008_postvax\x94\x86\x94j\x1c\x01\x00\x00\x8c\x11AUS24_s008_prevax\x94\x86\x94j\x1c\x01\x00\x00\x8c\x12AUS24_s009_postvax\x94\x86\x94j\x1c\x01\x00\x00\x8c\x11AUS24_s009_prevax\x94\x86\x94j\x1c\x01\x00\x00\x8c\x12AUS24_s010_postvax\x94\x86\x94j\x1c\x01\x00\x00\x8c\x11AUS24_s010_prevax\x94\x86\x94\x8c\x11PennVaccineCohort\x94\x8c\x14PENN23_y1949_s012_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1949_s012_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1951_s014_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1951_s014_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1956_s042_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1956_s042_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1957_s008_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1957_s008_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1960_s003_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1960_s003_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1963_s051_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1963_s051_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1964_s006_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1964_s006_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1966_s057_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1966_s057_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1968_s033_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1968_s033_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1968_s049_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1968_s049_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1971_s044_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1971_s044_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1974_s034_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1974_s034_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1975_s030_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1975_s030_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1976_s028_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1976_s028_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1977_s035_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1977_s035_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1978_s039_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1978_s039_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1980_s016_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1980_s016_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1981_s053_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1981_s053_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1984_s041_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1984_s041_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1984_s047_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1984_s047_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1985_s015_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1985_s015_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1986_s004_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1986_s004_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1987_s010_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1987_s010_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1987_s037_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1987_s037_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1988_s031_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1988_s031_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1989_s026_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1989_s026_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1989_s052_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1989_s052_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1993_s020_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1993_s020_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1994_s005_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1994_s005_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1994_s024_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1994_s024_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1995_s002_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1995_s002_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1996_s043_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1996_s043_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1996_s056_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1996_s056_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1997_s027_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1997_s027_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1997_s045_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1997_s045_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1999_s046_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1999_s046_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y1999_s048_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y1999_s048_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y2001_s017_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y2001_s017_d28\x94\x86\x94j=\x01\x00\x00\x8c\x14PENN23_y2001_s025_d0\x94\x86\x94j=\x01\x00\x00\x8c\x15PENN23_y2001_s025_d28\x94\x86\x94\x8c\nPooledSera\x94\x8c\x10PennPostVax_pool\x94\x86\x94j\xda\x01\x00\x00\x8c\x1bPennPreVax_PennPostVax_pool\x94\x86\x94j\xda\x01\x00\x00\x8c\x0fPennPreVax_pool\x94\x86\x94j\xda\x01\x00\x00\x8c\x13SCHPennPrePost_pool\x94\x86\x94j\xda\x01\x00\x00\x8c\x14SCH_PennPostVax_pool\x94\x86\x94j\xda\x01\x00\x00\x8c\x13SCH_PennPreVax_pool\x94\x86\x94j\xda\x01\x00\x00\x8c\x08SCH_pool\x94\x86\x94\x8c\x03SCH\x94\x8c\x10SCH23_y2009_s001\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2009_s002\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2009_s004\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2009_s005\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2009_s006\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2009_s007\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2009_s009\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2010_s010\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2010_s011\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2011_s012\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2011_s013\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2012_s014\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2012_s016\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2012_s017\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2012_s018\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2013_s020\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2013_s021\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2013_s023\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2013_s024\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2014_s025\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2014_s026\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2014_s027\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2014_s028\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2014_s029\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2015_s031\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2015_s032\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2015_s033\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2015_s034\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2015_s035\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2016_s036\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2016_s037\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2016_s038\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2016_s039\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2016_s040\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2017_s041\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2017_s042\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2018_s043\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2018_s044\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2018_s045\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2018_s046\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2018_s047\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2019_s048\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2019_s049\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2019_s050\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2020_s051\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2020_s052\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2020_s053\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2020_s054\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2020_s055\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2021_s056\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2021_s057\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2021_s059\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2022_s062\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2022_s064\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2022_s066\x94\x86\x94j\xe9\x01\x00\x00\x8c\x10SCH23_y2022_s067\x94\x86\x94\x8c\x05pilot\x94\x8c\x0eA230043d0_100k\x94\x86\x94jZ\x02\x00\x00\x8c\x0eA230043d0_150k\x94\x86\x94jZ\x02\x00\x00\x8c\x0eA230043d0_200k\x94\x86\x94jZ\x02\x00\x00\x8c\x0fA230043d28_100k\x94\x86\x94jZ\x02\x00\x00\x8c\x0fA230043d28_150k\x94\x86\x94jZ\x02\x00\x00\x8c\x0fA230043d28_200k\x94\x86\x94ee}\x94(h\xc9}\x94(\x8c\x06plates\x94K\x00N\x86\x94\x8c\x0bgroups_sera\x94K\x01N\x86\x94uh\xcf]\x94(h\xd1h\xd2eh\xd1h\xd4)\x81\x94}\x94h\xd7h\xd1sbh\xd2h\xd4)\x81\x94}\x94h\xd7h\xd2sbji\x02\x00\x00h\xffjk\x02\x00\x00j\x1b\x01\x00\x00ub\x8c\twildcards\x94h\x06\x8c\tWildcards\x94\x93\x94)\x81\x94}\x94(h\xc9}\x94h\xcf]\x94(h\xd1h\xd2eh\xd1h\xd4)\x81\x94}\x94h\xd7h\xd1sbh\xd2h\xd4)\x81\x94}\x94h\xd7h\xd2sbub\x8c\x07threads\x94K\x01\x8c\tresources\x94h\x06\x8c\tResources\x94\x93\x94)\x81\x94(K\x01K\x01\x8c\x14/loc/scratch/1700788\x94e}\x94(h\xc9}\x94(\x8c\x06_cores\x94K\x00N\x86\x94\x8c\x06_nodes\x94K\x01N\x86\x94\x8c\x06tmpdir\x94K\x02N\x86\x94uh\xcf]\x94(h\xd1h\xd2eh\xd1h\xd4)\x81\x94}\x94h\xd7h\xd1sbh\xd2h\xd4)\x81\x94}\x94h\xd7h\xd2sbj\x85\x02\x00\x00K\x01j\x87\x02\x00\x00K\x01j\x89\x02\x00\x00j\x82\x02\x00\x00ub\x8c\x03log\x94h\x06\x8c\x03Log\x94\x93\x94)\x81\x94\x8c)results/qc_drops/aggregate_qc_drops.ipynb\x94a}\x94(h\xc9}\x94\x8c\x08notebook\x94K\x00N\x86\x94sh\xcf]\x94(h\xd1h\xd2eh\xd1h\xd4)\x81\x94}\x94h\xd7h\xd1sbh\xd2h\xd4)\x81\x94}\x94h\xd7h\xd2sbj\x97\x02\x00\x00j\x94\x02\x00\x00ub\x8c\x06config\x94}\x94(\x8c\x10seqneut-pipeline\x94\x8c\x10seqneut-pipeline\x94\x8c\x04docs\x94\x8c\x04docs\x94\x8c\x0bdescription\x94X\n\x01\x00\x00# Sequencing-based neutralization assays of 2023-2024 human serum samples versus H3N2 influenza libraries\n\nThe numerical data and computer code are at [https://github.com/jbloomlab/flu_seqneut_H3N2_2023-2024](https://github.com/jbloomlab/flu_seqneut_H3N2_2023-2024)\n\x94\x8c\x0fviral_libraries\x94}\x94(\x8c\x0cH3N2_library\x94\x8c)data/viral_libraries/2023_H3N2_Kikawa.csv\x94\x8c\x0cH1N1_library\x94\x8c-data/viral_libraries/pdmH1N1_lib2023_loes.csv\x94u\x8c\x17viral_strain_plot_order\x94\x8c+data/H3N2library_2023-2024_strain_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\x1cCCTACAATGTCGGATTTGTATTTAATAG\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\x94M\xf4\x01\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?\x1a6\xe2\xeb\x1cC-\x8c\x0fmax_fold_change\x94K\x04\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\x04\x8c\tmax_wells\x94K\x02u\x8c min_neut_standard_count_per_well\x94M\xe8\x03\x8c)min_no_serum_count_per_viral_barcode_well\x94Kd\x8c+max_frac_infectivity_per_viral_barcode_well\x94K\x03\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?\xe3333333K\x01e\x8c\tfixbottom\x94K\x00\x8c\x08fixslope\x94]\x94(G?\xe9\x99\x99\x99\x99\x99\x9aK\neu\x8c!default_process_plate_curvefit_qc\x94}\x94(\x8c\x1dmax_frac_infectivity_at_least\x94G\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x0fgoodness_of_fit\x94}\x94(\x8c\x06min_R2\x94G?\xe0\x00\x00\x00\x00\x00\x00\x8c\x08max_RMSD\x94G?\xc3333333u\x8c#serum_replicates_ignore_curvefit_qc\x94]\x94\x8c+barcode_serum_replicates_ignore_curvefit_qc\x94]\x94u\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\x06\x8c\x11viruses_ignore_qc\x94]\x94u\x8c\x16sera_override_defaults\x94}\x94\x8c\x06plates\x94}\x94(j\x00\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x11PennVaccineCohort\x94\x8c\x04date\x94\x8c\x08datetime\x94\x8c\x04date\x94\x93\x94C\x04\x07\xe8\x03\x1c\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-03-28_plate_mapping_file15.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00uuj\x01\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x11PennVaccineCohort\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x04\t\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-04-09_plate_mapping_file16.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00uuj\x02\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x03SCH\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x04\x0b\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-04-11_plate_mapping_file17.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\x05wells\x94]\x94\x8c\x02A9\x94as\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00uuj\x03\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x03SCH\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x04\x0b\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-04-11_plate_mapping_file18.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00uuj\x04\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x05pilot\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x04\x10\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-04-23_plate_mapping_file21.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00uuj\x05\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x05pilot\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x04\x10\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-04-23_plate_mapping_file22.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00uuj\x06\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x05pilot\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x04\x10\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-04-23_plate_mapping_file23.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00uuj\x07\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x11PennVaccineCohort\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x04\x12\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-04-18_plate_mapping_file19.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06TGACGC\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x08\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x11PennVaccineCohort\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x04\x12\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-04-18_plate_mapping_file20.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06CAGTTG\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\t\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x11PennVaccineCohort\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x05\x02\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-05-02_plate_mapping_file24.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00uuj\n\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x03SCH\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x05\x14\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-05-20_plate_mapping_file27.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06TGACGC\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x0b\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x03SCH\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x05\x14\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-05-20_plate_mapping_file28.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06CAGTTG\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x0c\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x11PennVaccineCohort\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x05\x11\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-05-17_plate_mapping_file26.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?PbM\xd2\xf1\xa9\xfcj\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06GCTACA\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\r\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x11PennVaccineCohort\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x05\x11\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-05-17_plate_mapping_file25.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?PbM\xd2\xf1\xa9\xfcj\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06ATCGAT\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x0e\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x11PennVaccineCohort\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x05\x1c\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-05-28_plate_mapping_file30.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06TGACGC\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x0f\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x11PennVaccineCohort\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x05\x1c\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-05-28_plate_mapping_file29.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06CAGTTG\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x10\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x03SCH\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x05\x1e\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-05-30_plate_mapping_file31.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06GCTACA\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x11\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x03SCH\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x05\x1e\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-05-30_plate_mapping_file32.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\x08barcodes\x94]\x94\x8c\x10CCAATCCCAGCCTTTA\x94as\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06ATCGAT\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x12\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x11PennVaccineCohort\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x06\x04\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-06-04_plate_mapping_file34.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06TGACGC\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x13\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x11PennVaccineCohort\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x06\x04\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-06-04_plate_mapping_file33.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06CAGTTG\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x14\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x11PennVaccineCohort\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x06\x04\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-07-02_plate_mapping_file36.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06ATCGAT\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x15\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x03SCH\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x05\x1e\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-07-02_plate_mapping_file35.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06TGACGC\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x16\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x10AusVaccineCohort\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\t\x18\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-09-24_plate_mapping_file37.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06ATCGAT\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x17\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\nPooledSera\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\t\x18\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-09-24_plate_mapping_file38.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06ATCGAT\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x18\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\nPooledSera\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\t\x19\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-09-25_plate_mapping_file40.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06GCTACA\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x19\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x10AusVaccineCohort\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\t\x19\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-09-25_plate_mapping_file41.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\x05wells\x94]\x94(\x8c\x03C10\x94\x8c\x03C11\x94es\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06GCTACA\x94\x8c\x12upstream2_mismatch\x94K\x01uuj\x1a\x01\x00\x00}\x94(\x8c\x05group\x94\x8c\x10AusVaccineCohort\x94\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\t\x19\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c/data/plates/2024-09-25_plate_mapping_file39.csv\x94\x8c\x0cmanual_drops\x94}\x94\x8c\rqc_thresholds\x94}\x94(j\xbe\x02\x00\x00M\xf4\x01j\xbf\x02\x00\x00G?tz\xe1G\xae\x14{j\xc0\x02\x00\x00}\x94(j\xc2\x02\x00\x00G?\x1a6\xe2\xeb\x1cC-j\xc3\x02\x00\x00K\x04j\xc4\x02\x00\x00K\x02uj\xc5\x02\x00\x00}\x94(j\xc7\x02\x00\x00G?tz\xe1G\xae\x14{j\xc8\x02\x00\x00K\x04j\xc9\x02\x00\x00K\x02uj\xca\x02\x00\x00M\xe8\x03j\xcb\x02\x00\x00Kdj\xcc\x02\x00\x00K\x03j\xcd\x02\x00\x00K\x06u\x8c\x0fcurvefit_params\x94}\x94(j\xd0\x02\x00\x00K\x01j\xd1\x02\x00\x00j\xd2\x02\x00\x00j\xd3\x02\x00\x00K\x00j\xd4\x02\x00\x00j\xd5\x02\x00\x00u\x8c\x0bcurvefit_qc\x94}\x94(j\xd8\x02\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00j\xd9\x02\x00\x00}\x94(j\xdb\x02\x00\x00G?\xe0\x00\x00\x00\x00\x00\x00j\xdc\x02\x00\x00G?\xc3333333uj\xdd\x02\x00\x00j\xde\x02\x00\x00j\xdf\x02\x00\x00j\xe0\x02\x00\x00u\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06ATCGAT\x94\x8c\x12upstream2_mismatch\x94K\x01uuu\x8c\x14miscellaneous_plates\x94}\x94(\x8c\x13240111_initial_H3N2\x94}\x94(\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x01\x0b\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c=data/miscellaneous_plates/H3N2library_initialPool_samples.csv\x94u\x8c\x12240124_repool_H3N2\x94}\x94(\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x01\x18\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8cGdata/miscellaneous_plates/2024-01-22_H3N2_sampleData_rePool_MOItest.csv\x94u\x8c\x12240207_repool_H3N2\x94}\x94(\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x02\x07\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8cGdata/miscellaneous_plates/2024-02-07_H3N2_sampleData_rePool_MOItest.csv\x94u\x8c\x12240207_repool_H1N1\x94}\x94(\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x02\x07\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH1N1_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8cGdata/miscellaneous_plates/2024-02-07_H1N1_sampleData_rePool_MOItest.csv\x94u\x8c\x1f240328_repool_H3N2_variableCell\x94}\x94(\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\x03\x1c\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8cBdata/miscellaneous_plates/2024-03-28_H3N2_MOItest_variableCell.csv\x94u\x8c\x1c240924_repool_H3N2_balancing\x94}\x94(\x8c\x04date\x94j\xf3\x02\x00\x00C\x04\x07\xe8\t\x18\x94\x85\x94R\x94\x8c\rviral_library\x94\x8c\x0cH3N2_library\x94\x8c\x11neut_standard_set\x94\x8c\x08loes2023\x94\x8c\x0bsamples_csv\x94\x8c>data/miscellaneous_plates/2024-09-24_repool_H3N2_balancing.csv\x94\x8c\x1eillumina_barcode_parser_params\x94}\x94(\x8c\tupstream2\x94\x8c\x06GCTACA\x94\x8c\x12upstream2_mismatch\x94K\x01uuuu\x8c\x04rule\x94\x8c\x12aggregate_qc_drops\x94\x8c\x0fbench_iteration\x94N\x8c\tscriptdir\x94\x8ck/fh/fast/bloom_j/computational_notebooks/ckikawa/2024/flu_seqneut_H3N2_2023-2024/seqneut-pipeline/notebooks\x94ub.');del script;from snakemake.logging import logger;from snakemake.script import snakemake; logger.printshellcmds = False;import os; os.chdir(r'/fh/fast/bloom_j/computational_notebooks/ckikawa/2024/flu_seqneut_H3N2_2023-2024');
######## snakemake preamble end #########
Aggregate and analyze the drops from QC-ing the plates and sera¶
import altair as alt
import pandas as pd
from ruamel.yaml import YAML
yaml = YAML(typ="rt")
_ = alt.data_transformers.disable_max_rows()
Get variables from snakemake
:
input_plate_qc_drops = snakemake.input.plate_qc_drops
input_groups_sera_qc_drops = snakemake.input.groups_sera_qc_drops
output_plate_qc_drops = snakemake.output.plate_qc_drops
output_groups_sera_qc_drops = snakemake.output.groups_sera_qc_drops
plates = snakemake.params.plates
groups_sera = snakemake.params.groups_sera
Analyze plate QC drops¶
Read QC drops for individual plates into a merged dictionary, write it to YAML, and also convert to a DataFrame. If you really want to look into the details of what is being dropped, you will want to look at that merged YAML file.
# read dictionary of QC drops
assert len(plates) == len(input_plate_qc_drops)
plate_qc_drops = {}
for plate, qc_drops_yaml in zip(plates, input_plate_qc_drops):
with open(qc_drops_yaml) as f:
plate_qc_drops[plate] = yaml.load(f)
assert len(plate_qc_drops) == len(input_plate_qc_drops)
print(f"Writing merged plate drops to {output_plate_qc_drops}")
with open(output_plate_qc_drops, "w") as f:
yaml.dump(plate_qc_drops, stream=f)
# convert dictionary of QC drops into list of tuples
plate_qc_drop_tups = [
(plate_key, droptype_key, drop_key, reason)
for (plate_key, plate_val) in plate_qc_drops.items()
for droptype_key, droptype_val in plate_val.items()
for drop_key, reason in droptype_val.items()
]
# create data frame of QC drops
plate_qc_drops_df = pd.DataFrame(
plate_qc_drop_tups,
columns=["plate", "drop type", "drop", "reason"],
)
Writing merged plate drops to results/qc_drops/plate_qc_drops.yml
plate_qc_drop_counts = plate_qc_drops_df.groupby(
["plate", "drop type", "reason"], as_index=False
).aggregate(n_drops=pd.NamedAgg("drop", "nunique"))
assert plate_qc_drop_counts["n_drops"].sum() == len(plate_qc_drops_df)
Now plot the number of drops for each plate. You should be worried (maybe re-do or discard) any plates with a very large number of drops:
plate_selection = alt.selection_point(fields=["plate"], on="mouseover", empty=False)
plate_qc_drop_counts_chart = (
alt.Chart(plate_qc_drop_counts)
.add_params(plate_selection)
.encode(
alt.X(
"n_drops",
title="number of drops",
),
alt.Y(
"plate",
sort=plates,
title=None,
axis=alt.Axis(labelFontStyle="bold", labelFontSize=11),
),
alt.Column(
"drop type",
title=None,
spacing=5,
header=alt.Header(labelFontSize=12, labelFontStyle="bold", labelPadding=1),
),
alt.Color(
"reason",
legend=alt.Legend(
orient="top", columns=1, labelLimit=230, title=None, padding=1
),
),
strokeWidth=alt.condition(plate_selection, alt.value(3), alt.value(0.5)),
tooltip=plate_qc_drop_counts.columns.tolist(),
)
.mark_bar(height={"band": 0.8}, stroke="black")
.properties(
width=230,
height=alt.Step(16),
title=alt.TitleParams(
"Number of QC drops when processing plates", anchor="middle", dy=-2
),
)
.configure_axis(grid=False)
.resolve_scale(color="independent", x="independent")
)
plate_qc_drop_counts_chart
Look for barcodes dropped especially often in plate QC¶
If a barcode is dropped especially often across plates, that could indicate something problematic with that barcode such that it should be removed altogether from the library analysis.
barcode_drops = (
plate_qc_drops_df.query("`drop type`.str.startswith('barcode')")
.assign(barcode=lambda x: x["drop"].str.split().str[0])
.groupby(["drop type", "barcode"], as_index=False)
.aggregate(
plates_where_dropped=pd.NamedAgg("plate", "nunique"),
total_drops=pd.NamedAgg("plate", "count"),
)
)
barcode_selection = alt.selection_point(fields=["barcode"], on="mouseover", empty=False)
barcode_drops_chart = (
alt.Chart(barcode_drops)
.add_params(barcode_selection)
.encode(
alt.X(
"total_drops",
title="times barcode dropped",
),
alt.Y(
"barcode",
sort=alt.SortField("total_drops", order="descending"),
axis=alt.Axis(labelFontSize=9),
),
alt.Column(
"drop type",
title=None,
spacing=8,
header=alt.Header(labelFontSize=12, labelFontStyle="bold", labelPadding=1),
),
strokeWidth=alt.condition(barcode_selection, alt.value(3), alt.value(0.5)),
tooltip=barcode_drops.columns.tolist(),
)
.mark_bar(height={"band": 0.8}, stroke="black")
.properties(
width=200,
height=alt.Step(10),
title=alt.TitleParams(
"Number of QC drops when processing plates", anchor="middle", dy=-2
),
)
.configure_axis(grid=False)
.resolve_scale(color="independent", x="independent", y="independent")
)
barcode_drops_chart
Analyze the groups/sera QC¶
Analyze the QC performed on the groups/sera, which involves completely dropping titers for certain virus-sera pairs.
Read the QC for different groups/sera into a merged dictionary, write it to YAML, and also convert to a DataFrame. If you really want to look into the details of what is being dropped, you will want to look at that merged YAML file.
# read dictionary of QC drops
assert len(groups_sera) == len(input_groups_sera_qc_drops)
groups_sera_qc_drops = {}
for (group, serum), qc_drops_yaml in zip(groups_sera, input_groups_sera_qc_drops):
if group not in groups_sera_qc_drops:
groups_sera_qc_drops[group] = {}
with open(qc_drops_yaml) as f:
groups_sera_qc_drops[group][serum] = yaml.load(f)
print(f"Writing merged groups/sera drops to {output_groups_sera_qc_drops}")
with open(output_groups_sera_qc_drops, "w") as f:
yaml.dump(groups_sera_qc_drops, stream=f)
# convert dictionary of QC drops into list of tuples
groups_sera_qc_drop_tups = [
(group_key, serum_key, virus, reason)
for (group_key, group_val) in groups_sera_qc_drops.items()
for (serum_key, serum_val) in group_val.items()
for virus, reason in serum_val.items()
]
# create data frame of QC drops
groups_sera_qc_drops_df = pd.DataFrame(
groups_sera_qc_drop_tups,
columns=["group", "serum", "virus", "reason"],
)
Writing merged groups/sera drops to results/qc_drops/groups_sera_qc_drops.yml
Plot the number of viruses dropped for each group/serum. If a group/serum has many missed viruses, then you will lack a lot of titers and so it may be worth reviewing the cause of the drops.
groups_sera_n_drops = groups_sera_qc_drops_df.groupby(
["group", "serum", "reason"], as_index=False
).aggregate(n_viruses=pd.NamedAgg("virus", "nunique"))
assert groups_sera_n_drops["n_viruses"].sum() == len(groups_sera_qc_drops_df)
groups_sera_n_drops_chart = (
alt.Chart(groups_sera_n_drops)
.encode(
alt.X("n_viruses", title="number of viruses dropped"),
alt.Y("serum"),
alt.Row("group"),
alt.Color("reason", title="reason dropped", legend=alt.Legend(labelLimit=350)),
tooltip=groups_sera_n_drops.columns.tolist(),
)
.mark_bar(height={"band": 0.8})
.properties(
width=250,
height=alt.Step(13),
title="Number of viruses dropped at serum QC for each serum",
)
.configure_axis(grid=False)
.resolve_scale(y="independent", x="independent")
)
groups_sera_n_drops_chart
Plot the number of sera for which each virus is dropped during serum QC. If a virus is dropped for many sera, that may indicate some issue with that virus in assays:
virus_n_drops = groups_sera_qc_drops_df.groupby(
["group", "virus", "reason"], as_index=False
).aggregate(n_sera=pd.NamedAgg("serum", "nunique"))
assert virus_n_drops["n_sera"].sum() == len(groups_sera_qc_drops_df)
virus_n_drops_chart = (
alt.Chart(virus_n_drops)
.encode(
alt.X("n_sera", title="number of sera for which virus is dropped"),
alt.Y("virus", sort=alt.SortField("n_sera", order="descending")),
alt.Row("group"),
alt.Color("reason", title="reason dropped", legend=alt.Legend(labelLimit=350)),
tooltip=virus_n_drops.columns.tolist(),
)
.mark_bar(height={"band": 0.8})
.properties(
width=250,
height=alt.Step(13),
title="Number of sera for which each virus is dropped at serum QC",
)
.configure_axis(grid=False)
.resolve_scale(y="independent", x="independent")
)
virus_n_drops_chart