{
"cells": [
{
"cell_type": "markdown",
"id": "bee925b7",
"metadata": {},
"source": [
"# Analysis of InDel-assembled mixed linker microcin library\n",
"Withanage et al.\n",
"> 07/23 - V. Pinheiro - v.1.0"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "d1ada767",
"metadata": {},
"outputs": [],
"source": [
"# Relevant libraries required for the analysis\n",
"using DelimitedFiles\n",
"using Plots\n",
"using BioSequences\n",
"using DataStructures\n",
"using Combinatorics\n",
"using DataFrames\n",
"using CSV\n",
"using BenchmarkTools\n",
"using FASTX\n",
"using StatsBase\n",
"using Distributions\n",
"using TypedTables"
]
},
{
"cell_type": "markdown",
"id": "599296d7",
"metadata": {},
"source": [
"## Creating a summary of the library design"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "fe6231eb",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"rev_comp (generic function with 1 method)"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## functions needed for this section\n",
"\n",
"function rev_comp(str)\n",
" # simple function to generate reverse complement of each string\n",
" # since BsaI assembly is done in the antisense strand\n",
" str2=\"\"\n",
" for i = length(str):-1:1\n",
" if str[i] == 'A'\n",
" str2 = str2 * \"T\"\n",
" elseif str[i] == 'C'\n",
" str2 = str2 * \"G\"\n",
" elseif str[i] == 'G'\n",
" str2 = str2 * \"C\"\n",
" elseif str[i] == 'T'\n",
" str2 = str2 * \"A\"\n",
" end\n",
" end\n",
" return str2\n",
"end\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "e4e6d11e",
"metadata": {},
"outputs": [],
"source": [
"## Opening the assembly design\n",
"# Column 1: DNA sequences of the building blocks (BsaI-based)\n",
"# Column 2: Description of the part\n",
"# Subsequent columns: assembly cycles with molar ratios of building blocks used at each cycle\n",
"\n",
"design = DataFrame(CSV.File(\"Indel_Mixed_library.csv\"));\n",
"sort!(design, :Block)\n",
"\n",
"## Removing missing values from design file\n",
"design = coalesce.(design, 0);"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "d41658e1",
"metadata": {},
"outputs": [],
"source": [
"## Adding an ID and block length\n",
"ID_addon = DataFrame([[],[],[]], [\"ID\", \"Block\", \"Block_length\"])\n",
"for n = 1: size(design, 1)\n",
" ID = n\n",
" new_block = design.Block[n]\n",
" new_block_length = length(design.Block[n])\n",
"\n",
" entry = DataFrame(permutedims([ID, new_block, new_block_length]), [\"ID\", \"Block\", \"Block_length\"])\n",
" append!(ID_addon, entry)\n",
"end\n",
"\n",
"design = innerjoin(design, ID_addon, on = :Block)\n",
"\n",
"#= Because it is possible for small blocks to be confused with larger \n",
" ones, interpretation has to be carried out \"backwards\", trying to identify longer\n",
" blocks before shorter ones. =#\n",
"sort!(design, :Block_length, rev=true);"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "c8378475",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
| 1 | 12 | CTCCCATTTTATGGCGGCGAG | CTCGCCGCCATAAAATGGGAG | GACATACAGACAGGGATGAGGTCTCTCTCCCATTTTATGGCGGCGAG | (B17_lib)_CC_motif_B | 0 | 1 | 1 | 1 | 1 | 0 | 47 |
| 2 | 8 | ATTATTCTGCTGGTTGTT | AACAACCAGCAGAATAAT | GACATACAGACAGGGATGAGGTCTCTATTATTCTGCTGGTTGTT | (B17_lib)_Prion_B | 0 | 1 | 1 | 1 | 1 | 0 | 44 |
| 3 | 13 | CTTTGCTGCTGCCTC | GAGGCAGCAGCAAAG | GACATACAGACAGGGATGAGGTCTCTCTTTGCTGCTGCCTC | (B17_lib)_EAAAK_B | 0 | 1 | 1 | 1 | 1 | 0 | 41 |
| 4 | 1 | ACAACAACC | GGTTGTTGT | GACATACAGACAGGGATGAGGTCTCTACAACAACC | (B17_lib)_GCC_B | 1 | 0 | 0 | 0 | 0 | 1 | 35 |
| 5 | 3 | ACACGAGCC | GGCTCGTGT | GACATACAGACAGGGATGAGGTCTCTACACGAGCC | (B17_lib)_GSC_B | 1 | 0 | 0 | 0 | 0 | 1 | 35 |
| 6 | 4 | ACCACCACC | GGTGGTGGT | GACATACAGACAGGGATGAGGTCTCTACCACCACC | (B17_lib)_GGG_B | 0 | 1 | 1 | 1 | 1 | 0 | 35 |
| 7 | 5 | AGAACATCC | GGATGTTCT | GACATACAGACAGGGATGAGGTCTCTAGAACATCC | (B17_lib)_GCS_B | 1 | 0 | 0 | 0 | 0 | 1 | 35 |
| 8 | 6 | AGAAGAACC | GGTTCTTCT | GACATACAGACAGGGATGAGGTCTCTAGAAGAACC | (B17_lib)_GSS_B | 1 | 0 | 0 | 0 | 0 | 1 | 35 |
| 9 | 9 | CCTCCTCCT | AGGAGGAGG | GACATACAGACAGGGATGAGGTCTCTCCTCCTCCT | (B17_lib)_polyR3_B | 0 | 1 | 1 | 1 | 1 | 0 | 35 |
| 10 | 2 | ACACCC | GGGTGT | GACATACAGACAGGGATGAGGTCTCTACACCC | (B17_lib)_GC_B | 1 | 0 | 0 | 0 | 0 | 1 | 32 |
| 11 | 7 | AGGAGC | GCTCCT | GACATACAGACAGGGATGAGGTCTCTAGGAGC | (B17_lib)_AP_B | 0 | 1 | 1 | 1 | 1 | 0 | 32 |
| 12 | 10 | CGACCC | GGGTCG | GACATACAGACAGGGATGAGGTCTCTCGACCC | (B17_lib)_GS_B | 1 | 0 | 0 | 0 | 0 | 1 | 32 |
| 13 | 11 | CGTCCC | GGGACG | GACATACAGACAGGGATGAGGTCTCTCGTCCC | (B17_lib)_GT_B | 1 | 0 | 0 | 0 | 0 | 1 | 32 |
"
],
"text/latex": [
"\\begin{tabular}{r|ccccc}\n",
"\t& ID & Block\\_core & Block\\_core\\_RC & Block & \\\\\n",
"\t\\hline\n",
"\t& Any & Any & Any & String & \\\\\n",
"\t\\hline\n",
"\t1 & 12 & CTCCCATTTTATGGCGGCGAG & CTCGCCGCCATAAAATGGGAG & GACATACAGACAGGGATGAGGTCTCTCTCCCATTTTATGGCGGCGAG & $\\dots$ \\\\\n",
"\t2 & 8 & ATTATTCTGCTGGTTGTT & AACAACCAGCAGAATAAT & GACATACAGACAGGGATGAGGTCTCTATTATTCTGCTGGTTGTT & $\\dots$ \\\\\n",
"\t3 & 13 & CTTTGCTGCTGCCTC & GAGGCAGCAGCAAAG & GACATACAGACAGGGATGAGGTCTCTCTTTGCTGCTGCCTC & $\\dots$ \\\\\n",
"\t4 & 1 & ACAACAACC & GGTTGTTGT & GACATACAGACAGGGATGAGGTCTCTACAACAACC & $\\dots$ \\\\\n",
"\t5 & 3 & ACACGAGCC & GGCTCGTGT & GACATACAGACAGGGATGAGGTCTCTACACGAGCC & $\\dots$ \\\\\n",
"\t6 & 4 & ACCACCACC & GGTGGTGGT & GACATACAGACAGGGATGAGGTCTCTACCACCACC & $\\dots$ \\\\\n",
"\t7 & 5 & AGAACATCC & GGATGTTCT & GACATACAGACAGGGATGAGGTCTCTAGAACATCC & $\\dots$ \\\\\n",
"\t8 & 6 & AGAAGAACC & GGTTCTTCT & GACATACAGACAGGGATGAGGTCTCTAGAAGAACC & $\\dots$ \\\\\n",
"\t9 & 9 & CCTCCTCCT & AGGAGGAGG & GACATACAGACAGGGATGAGGTCTCTCCTCCTCCT & $\\dots$ \\\\\n",
"\t10 & 2 & ACACCC & GGGTGT & GACATACAGACAGGGATGAGGTCTCTACACCC & $\\dots$ \\\\\n",
"\t11 & 7 & AGGAGC & GCTCCT & GACATACAGACAGGGATGAGGTCTCTAGGAGC & $\\dots$ \\\\\n",
"\t12 & 10 & CGACCC & GGGTCG & GACATACAGACAGGGATGAGGTCTCTCGACCC & $\\dots$ \\\\\n",
"\t13 & 11 & CGTCCC & GGGACG & GACATACAGACAGGGATGAGGTCTCTCGTCCC & $\\dots$ \\\\\n",
"\\end{tabular}\n"
],
"text/plain": [
"\u001b[1m13×12 DataFrame\u001b[0m\n",
"\u001b[1m Row \u001b[0m│\u001b[1m ID \u001b[0m\u001b[1m Block_core \u001b[0m\u001b[1m Block_core_RC \u001b[0m\u001b[1m Block \u001b[0m ⋯\n",
" │\u001b[90m Any \u001b[0m\u001b[90m Any \u001b[0m\u001b[90m Any \u001b[0m\u001b[90m String \u001b[0m ⋯\n",
"─────┼──────────────────────────────────────────────────────────────────────────\n",
" 1 │ 12 CTCCCATTTTATGGCGGCGAG CTCGCCGCCATAAAATGGGAG GACATACAGACAGGGATGAG ⋯\n",
" 2 │ 8 ATTATTCTGCTGGTTGTT AACAACCAGCAGAATAAT GACATACAGACAGGGATGAG\n",
" 3 │ 13 CTTTGCTGCTGCCTC GAGGCAGCAGCAAAG GACATACAGACAGGGATGAG\n",
" 4 │ 1 ACAACAACC GGTTGTTGT GACATACAGACAGGGATGAG\n",
" 5 │ 3 ACACGAGCC GGCTCGTGT GACATACAGACAGGGATGAG ⋯\n",
" 6 │ 4 ACCACCACC GGTGGTGGT GACATACAGACAGGGATGAG\n",
" 7 │ 5 AGAACATCC GGATGTTCT GACATACAGACAGGGATGAG\n",
" 8 │ 6 AGAAGAACC GGTTCTTCT GACATACAGACAGGGATGAG\n",
" 9 │ 9 CCTCCTCCT AGGAGGAGG GACATACAGACAGGGATGAG ⋯\n",
" 10 │ 2 ACACCC GGGTGT GACATACAGACAGGGATGAG\n",
" 11 │ 7 AGGAGC GCTCCT GACATACAGACAGGGATGAG\n",
" 12 │ 10 CGACCC GGGTCG GACATACAGACAGGGATGAG\n",
" 13 │ 11 CGTCCC GGGACG GACATACAGACAGGGATGAG ⋯\n",
"\u001b[36m 9 columns omitted\u001b[0m"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Defining the sequences that are added in assembly, i.e. the true building blocks\n",
"core_blocks = DataFrame([[],[], []], [\"ID\", \"Block_core\", \"Block_core_RC\"])\n",
"\n",
"for n = 1: size(design, 1)\n",
" ID = design.ID[n]\n",
" new_core = design.Block[n][findall(\"GGTCTC\", design.Block[n])[1][end]+2:end]\n",
" new_rccore = rev_comp(new_core)\n",
"\n",
" entry = DataFrame(permutedims([ID, new_core, new_rccore]), [\"ID\", \"Block_core\", \"Block_core_RC\"])\n",
" append!(core_blocks, entry)\n",
"end\n",
"\n",
"design = innerjoin(core_blocks, design , on = :ID)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "01cade6b",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"image/svg+xml": [
"\n",
"\n"
],
"text/html": [
"\n",
"\n"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"design_for_plotting = sort(design, :ID)\n",
"\n",
"## Creating a display of the assembly program\n",
"total_cycles = 0\n",
"assembly_matrix = []\n",
"for i = 1:size(design_for_plotting, 2)\n",
" if occursin(\"Cycle\", names(design_for_plotting)[i]) && total_cycles == 0\n",
" assembly_matrix = design_for_plotting[:, i]./sum(design_for_plotting[:, i])\n",
" total_cycles += 1\n",
" elseif occursin(\"Cycle\", names(design_for_plotting)[i]) && total_cycles > 0 \n",
" new_cycle = design_for_plotting[:, i]./sum(design_for_plotting[:, i])\n",
" assembly_matrix = hcat(assembly_matrix, new_cycle)\n",
" total_cycles += 1\n",
" end\n",
"end\n",
"\n",
"heatmap([string(n) for n = 1:total_cycles], \n",
"[string(block) for block in design_for_plotting.Description],\n",
"assembly_matrix, xlabel = \"Cycle\" , ylabel = \"Building blocks\", clims=(0,0.25))\n",
"\n",
"#= This is the recipe for assembly. Using this recipe, it is possible to simulate assembly and determine the \n",
"expected distribution for all intermediate lengths. This is not carried out here. =#"
]
},
{
"cell_type": "markdown",
"id": "503e73b6",
"metadata": {},
"source": [
"## Importing and filtering NGS data"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "ce83d056",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"isolate_insert (generic function with 1 method)"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Functions relevant for analysis\n",
"\n",
"# Load FASTA file as an Array of String\n",
"function load_fasta_file(file_name::String)\n",
" R0 = []\n",
" reader = FASTA.Reader(open(file_name, \"r\"))\n",
" for record in reader\n",
" push!(R0, convert(String, FASTA.sequence(record)))\n",
" end\n",
" close(reader)\n",
" return R0\n",
"end\n",
"\n",
"\n",
"# Opens a FASTA file and isolates the sequences flanked by both upstream and downstream elements\n",
"function isolate_insert(File::String, upstream::String, downstream::String)\n",
" full_seq = []\n",
" all_seq = load_fasta_file(File)\n",
"\n",
" for n = 1:size(all_seq, 1)\n",
" if occursin(upstream, all_seq[n]) && occursin(downstream, all_seq[n]) # looks for sequences that have both sequences\n",
" edge1 = findfirst(upstream, all_seq[n])[end] # finds the end of the upstream\n",
" edge2 = findfirst(downstream, all_seq[n])[1] # finds the beginning of downstream\n",
" \n",
" new_seq = all_seq[n][edge1:edge2]\n",
" if new_seq != \"\"\n",
" push!(full_seq, new_seq) # pushes non-empty sequences into a set\n",
" end\n",
" end\n",
" end\n",
"\n",
" return full_seq\n",
"\n",
"end "
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "64913fae",
"metadata": {},
"outputs": [],
"source": [
"upstream = \"AACCTCTATTTCCAG\" # TEV site immediately upstream of cloning site\n",
"downstream = \"TCACATATCTGAAGG\" # GSHI conserved peptide sequence\n",
"\n",
"## Opens the Galaxy pre-trimmed sequences in FASTA format and isolates the microcin sequences\n",
"full_seq = isolate_insert(\"Mixed_library_galaxy_pear.fasta\", upstream, downstream)\n",
"\n",
"## Goes through the DNA sequences to identify repeats, through a dictionary\n",
"NGS_processing = Dict{String, Int64}()\n",
"NGS_data = DataFrame([[], [], [], []], [\"Sequence_number\", \"Microcin_sequence\", \"Microcin_assembly\", \"Count\"])\n",
"for i = 1: size(full_seq, 1)\n",
" if haskey(NGS_processing, full_seq[i])\n",
" NGS_processing[full_seq[i]] += 1\n",
" else\n",
" NGS_processing[full_seq[i]] = 1\n",
" end\n",
"end\n",
"\n",
"# Remaps the dictionary to a DataFrame for subsequent analysis\n",
"for (key, value) ∈ NGS_processing # converts dictionary to DataFrame\n",
" entry = DataFrame([[0], [key], [[]], [value]], [\"Sequence_number\", \"Microcin_sequence\", \"Microcin_assembly\", \"Count\"])\n",
" append!(NGS_data, entry)\n",
"end\n",
"sort!(NGS_data, :Count, rev=true)\n",
"\n",
"# Introduces a sequence number for convenience in later analysis\n",
"for n = 1:size(NGS_data, 1)\n",
" NGS_data.Sequence_number[n] = n\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "ee54546d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(7701628, 2519663)"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Saves the dataframe as a CSV for convenience\n",
"CSV.write(\"NGS_full_data_pear.csv\", NGS_data)\n",
"\n",
"# Summary: (total number of reads, number of different sequences)\n",
"(sum(NGS_data.Count), size(NGS_data, 1))\n",
"\n",
"#= Errors are expected to emerge from sequencing, sample preparation artefacts, as well as PCR generation of the library.\n",
"In the absence of any error correction process, the number of different sequences obtained here is expected to\n",
"be an overestimate of the true diversity in the library =#"
]
},
{
"cell_type": "markdown",
"id": "92ce7873",
"metadata": {},
"source": [
"## Identifying assembly order for individual sequences"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "d0307861",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"RE_assemble (generic function with 1 method)"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Functions relevant to the assembly program\n",
"\n",
"# Generates all sequences within a defined Hamming distance \n",
"function hamming(sequence::String, distance::Int)\n",
" output = [] # creates a space for output\n",
" new_entry = []\n",
" bases = ['A', 'C', 'G', 'T']\n",
" \n",
"\n",
" # calculating all sequences to be searched\n",
" positions = collect(combinations(collect(UnitRange(1, length(sequence))), distance)) # generates all the positions\n",
" variants = collect(multiset_permutations(bases, [distance,distance,distance,distance], distance)) # generates all the nucleobase variants\n",
"\n",
" for i = 1: size(positions, 1)\n",
" for j = 1: size(variants, 1)\n",
" new_entry = collect(sequence)\n",
" for x = 1: distance\n",
" new_entry[positions[i][x]] = variants[j][x]\n",
" end\n",
" push!(output, join(new_entry))\n",
" end\n",
" end\n",
"\n",
" return unique(output)\n",
"end\n",
"\n",
"# Generates all sequences within a Hamming distance of 1 or with 1 deletion (i.e. not quite Levenshtein distance)\n",
"function seq_neighbours(sequence::String)\n",
" output = [] # creates a space for output\n",
" new_entry = []\n",
" bases = ['A', 'C', 'G', 'T', ' ']\n",
" \n",
" distance = 1\n",
"\n",
" # calculating all sequences to be searched\n",
" positions = collect(combinations(collect(UnitRange(1, length(sequence))), distance)) # generates all the positions\n",
" variants = collect(multiset_permutations(bases, [distance,distance,distance,distance, distance], distance)) # generates all the nucleobase variants\n",
"\n",
" for i = 1: size(positions, 1)\n",
" for j = 1: size(variants, 1)\n",
" new_entry = collect(sequence)\n",
" for x = 1: distance\n",
" new_entry[positions[i][x]] = variants[j][x]\n",
" end\n",
" push!(output, join(new_entry))\n",
" end\n",
" end\n",
" unique!(output)\n",
" for n = 1: size(output, 1)\n",
" if occursin(\" \", output[n])\n",
" space = findfirst(\" \", output[n])[1]\n",
" output[n] = output[n][1:space-1]*output[n][space+1:end]\n",
" end\n",
" end\n",
" push!(output, sequence) \n",
" return output\n",
"end\n",
"\n",
" \n",
"# Reconstructs a sequence based on the design file provided\n",
"function RE_assemble(read::String, design::DataFrame)\n",
"\n",
" # starts the incorporation counter\n",
" successful_incorporations = 0\n",
"\n",
" # first routine picks out all 100% correct matches with blocks\n",
" analysis = Dict{Int64, Vector{UnitRange{Int64}}}()\n",
" for x = 1: size(design, 1)\n",
" ## generating correct sequences\n",
" test_seqs = [design.Block_core_RC[x]]\n",
" for y = 1: size(test_seqs, 1)\n",
" query = Regex(test_seqs[y])\n",
" for m in eachmatch(query, read, overlap=false)\n",
" interval = m.offset:(m.offset+length(test_seqs[y])-1)\n",
" if haskey(analysis, design.ID[x])\n",
" analysis[design.ID[x]] = vcat(analysis[design.ID[x]], [interval])\n",
" successful_incorporations += 1\n",
" else\n",
" analysis[design.ID[x]] = [interval]\n",
" successful_incorporations += 1\n",
" end\n",
" end\n",
" end\n",
" end\n",
"\n",
" # second routine picks out error-containing matches (up to 1 error)\n",
" analysis_werrors = Dict{Int64, Vector{UnitRange{Int64}}}()\n",
" for x = 1: size(design, 1)\n",
" ## generating all testable sequences\n",
" test_seqs = seq_neighbours(design.Block_core_RC[x])\n",
" for y = 1: size(test_seqs, 1)\n",
" query = Regex(test_seqs[y])\n",
" for m in eachmatch(query, read, overlap=false)\n",
" interval = m.offset:(m.offset+length(test_seqs[y])-1)\n",
" if haskey(analysis_werrors, design.ID[x])\n",
" analysis_werrors[design.ID[x]] = vcat(analysis_werrors[design.ID[x]], [interval])\n",
" else\n",
" analysis_werrors[design.ID[x]] = [interval]\n",
" end\n",
" end\n",
" end\n",
" end\n",
"\n",
" # sanity checks if troubleshooting is required\n",
" # sort(collect(analysis), by = x->x[2])\n",
" # sort(collect(analysis_werrors), by = x->x[1])\n",
"\n",
"\n",
" # tries to locate all error-free assemblies\n",
" total_coverage = []\n",
" for i = 1: size(collect(analysis), 1)\n",
" for j = 1: size(collect(analysis)[i][2], 1)\n",
" total_coverage = total_coverage ∪ collect(analysis)[i][2][j]\n",
" end\n",
" end\n",
" sequence_to_map = 1:length(read)\n",
" # determines the positions in the sequence not mapped\n",
" not_found = setdiff(sequence_to_map,total_coverage)\n",
"\n",
"\n",
" # starts mapping with sequences containing 1 error to the still available space\n",
" for attempts = 1: (total_cycles - successful_incorporations + 1) # one cycle beyond the library synthesis plan is used here for error catching\n",
" Error_correction = DataFrame([[], [], []], [\"ID\", \"sequence_overlap\", \"Remaining_bases\"])\n",
"\n",
" for i = 1: size(collect(analysis_werrors), 1)\n",
" for j = 1: size(collect(analysis_werrors)[i][2], 1)\n",
" test_range = collect(analysis_werrors)[i][2][j]\n",
" if test_range ∩ not_found == test_range\n",
" seq_ID = collect(analysis_werrors)[i][1]\n",
" remaining = length(not_found) - length(test_range)\n",
" new_entry = DataFrame([[seq_ID], [test_range], [remaining]], [\"ID\", \"sequence_overlap\", \"Remaining_bases\"])\n",
" append!(Error_correction, new_entry)\n",
" end\n",
" end\n",
" end\n",
"\n",
" sort!(Error_correction, :Remaining_bases)\n",
" if isempty(Error_correction) == false\n",
" # adds new sequences to the same dictionary containing the error-free identifications\n",
" if haskey(analysis, Error_correction.ID[1])\n",
" analysis[Error_correction.ID[1]] = vcat(analysis[Error_correction.ID[1]], [Error_correction.sequence_overlap[1]])\n",
" else\n",
" analysis[Error_correction.ID[1]] = [Error_correction.sequence_overlap[1]] \n",
" end\n",
" successful_incorporations += 1\n",
" \n",
" not_found = setdiff(not_found, Error_correction.sequence_overlap[1] )\n",
" end\n",
" end \n",
"\n",
" # This routine uses the \"analysis\" dictionary to reconstruct the assembly order\n",
" re_assembly = DataFrame([[], []], [\"ID\", \"sequence_overlap\"])\n",
" if length(not_found) <= 10\n",
" for i = 1: size(collect(analysis), 1)\n",
" for j = 1: size(collect(analysis)[i][2], 1)\n",
" ID = collect(analysis)[i][1][]\n",
" range = collect(analysis)[i][2][j]\n",
"\n",
" new_entry = DataFrame([[ID], [range]], [\"ID\", \"sequence_overlap\"])\n",
" re_assembly = append!(re_assembly, new_entry)\n",
" end\n",
" end\n",
" sort!(re_assembly, :sequence_overlap)\n",
" re_assembly_order = re_assembly.ID\n",
" else\n",
" # ensures that sequences that cannot be correctly assembled are removed from the list\n",
" successful_incorporations = 0\n",
" end\n",
"\n",
" return re_assembly.ID, successful_incorporations\n",
"end\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "051afdcd",
"metadata": {},
"outputs": [],
"source": [
"## Given the number of sequences to be processed, it is most efficient to write directly to file.\n",
"open(\"reassembly_pear.csv\", \"w\") do io\n",
" println(io, \"Sequence_number;block_numbers;block_order;Count\")\n",
" for n = 1: size(NGS_data, 1)\n",
" (order, number) = RE_assemble(NGS_data.Microcin_sequence[n], design)\n",
" println(io, string(n) * \";\" * string(number) * \";\" * string(order) * \";\" * string(NGS_data.Count[n]))\n",
" end\n",
"end"
]
},
{
"cell_type": "markdown",
"id": "038b8fe1",
"metadata": {},
"source": [
"## Analysing the reconstructed library"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "d3926e28",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"2518263×4 DataFrame
2518238 rows omitted
| 1 | 1 | 1 | Any[2] | 443610 |
| 2 | 2 | 2 | Any[7, 11] | 70716 |
| 3 | 3 | 1 | Any[6] | 58981 |
| 4 | 4 | 1 | Any[7] | 52913 |
| 5 | 5 | 1 | Any[8] | 40400 |
| 6 | 6 | 2 | Any[6, 11] | 38071 |
| 7 | 7 | 1 | Any[10] | 35316 |
| 8 | 8 | 1 | Any[11] | 32117 |
| 9 | 9 | 2 | Any[7, 2] | 31313 |
| 10 | 10 | 1 | Any[5] | 31058 |
| 11 | 11 | 2 | Any[8, 11] | 26369 |
| 12 | 12 | 2 | Any[7, 10] | 26225 |
| 13 | 13 | 1 | Any[2] | 24526 |
| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |
| 2518252 | 2519652 | 0 | Any[] | 1 |
| 2518253 | 2519653 | 0 | Any[] | 1 |
| 2518254 | 2519654 | 0 | Any[] | 1 |
| 2518255 | 2519655 | 0 | Any[] | 1 |
| 2518256 | 2519656 | 0 | Any[] | 1 |
| 2518257 | 2519657 | 0 | Any[] | 1 |
| 2518258 | 2519658 | 0 | Any[] | 1 |
| 2518259 | 2519659 | 0 | Any[] | 1 |
| 2518260 | 2519660 | 4 | Any[10, 7, 9, 11] | 1 |
| 2518261 | 2519661 | 0 | Any[] | 1 |
| 2518262 | 2519662 | 0 | Any[] | 1 |
| 2518263 | 2519663 | 0 | Any[] | 1 |
"
],
"text/latex": [
"\\begin{tabular}{r|cccc}\n",
"\t& Sequence\\_number & block\\_numbers & block\\_order & Count\\\\\n",
"\t\\hline\n",
"\t& Int64 & Int64 & String31 & Int64\\\\\n",
"\t\\hline\n",
"\t1 & 1 & 1 & Any[2] & 443610 \\\\\n",
"\t2 & 2 & 2 & Any[7, 11] & 70716 \\\\\n",
"\t3 & 3 & 1 & Any[6] & 58981 \\\\\n",
"\t4 & 4 & 1 & Any[7] & 52913 \\\\\n",
"\t5 & 5 & 1 & Any[8] & 40400 \\\\\n",
"\t6 & 6 & 2 & Any[6, 11] & 38071 \\\\\n",
"\t7 & 7 & 1 & Any[10] & 35316 \\\\\n",
"\t8 & 8 & 1 & Any[11] & 32117 \\\\\n",
"\t9 & 9 & 2 & Any[7, 2] & 31313 \\\\\n",
"\t10 & 10 & 1 & Any[5] & 31058 \\\\\n",
"\t11 & 11 & 2 & Any[8, 11] & 26369 \\\\\n",
"\t12 & 12 & 2 & Any[7, 10] & 26225 \\\\\n",
"\t13 & 13 & 1 & Any[2] & 24526 \\\\\n",
"\t14 & 14 & 2 & Any[5, 11] & 22707 \\\\\n",
"\t15 & 15 & 1 & Any[9] & 20272 \\\\\n",
"\t16 & 16 & 1 & Any[3] & 19764 \\\\\n",
"\t17 & 17 & 2 & Any[6, 2] & 17249 \\\\\n",
"\t18 & 18 & 1 & Any[2] & 16649 \\\\\n",
"\t19 & 19 & 1 & Any[1] & 15225 \\\\\n",
"\t20 & 20 & 2 & Any[8, 3] & 15195 \\\\\n",
"\t21 & 21 & 1 & Any[2] & 14954 \\\\\n",
"\t22 & 22 & 2 & Any[8, 2] & 14686 \\\\\n",
"\t23 & 23 & 2 & Any[9, 7] & 14554 \\\\\n",
"\t24 & 24 & 3 & Any[9, 7, 11] & 13997 \\\\\n",
"\t25 & 25 & 2 & Any[6, 10] & 13361 \\\\\n",
"\t26 & 26 & 2 & Any[8, 10] & 12710 \\\\\n",
"\t27 & 27 & 2 & Any[5, 2] & 12518 \\\\\n",
"\t28 & 28 & 1 & Any[2] & 12377 \\\\\n",
"\t29 & 29 & 3 & Any[10, 7, 11] & 12315 \\\\\n",
"\t30 & 30 & 3 & Any[11, 7, 11] & 12084 \\\\\n",
"\t$\\dots$ & $\\dots$ & $\\dots$ & $\\dots$ & $\\dots$ \\\\\n",
"\\end{tabular}\n"
],
"text/plain": [
"\u001b[1m2518263×4 DataFrame\u001b[0m\n",
"\u001b[1m Row \u001b[0m│\u001b[1m Sequence_number \u001b[0m\u001b[1m block_numbers \u001b[0m\u001b[1m block_order \u001b[0m\u001b[1m Count \u001b[0m\n",
" │\u001b[90m Int64 \u001b[0m\u001b[90m Int64 \u001b[0m\u001b[90m String31 \u001b[0m\u001b[90m Int64 \u001b[0m\n",
"─────────┼─────────────────────────────────────────────────────────────\n",
" 1 │ 1 1 Any[2] 443610\n",
" 2 │ 2 2 Any[7, 11] 70716\n",
" 3 │ 3 1 Any[6] 58981\n",
" 4 │ 4 1 Any[7] 52913\n",
" 5 │ 5 1 Any[8] 40400\n",
" 6 │ 6 2 Any[6, 11] 38071\n",
" 7 │ 7 1 Any[10] 35316\n",
" 8 │ 8 1 Any[11] 32117\n",
" 9 │ 9 2 Any[7, 2] 31313\n",
" 10 │ 10 1 Any[5] 31058\n",
" 11 │ 11 2 Any[8, 11] 26369\n",
" ⋮ │ ⋮ ⋮ ⋮ ⋮\n",
" 2518254 │ 2519654 0 Any[] 1\n",
" 2518255 │ 2519655 0 Any[] 1\n",
" 2518256 │ 2519656 0 Any[] 1\n",
" 2518257 │ 2519657 0 Any[] 1\n",
" 2518258 │ 2519658 0 Any[] 1\n",
" 2518259 │ 2519659 0 Any[] 1\n",
" 2518260 │ 2519660 4 Any[10, 7, 9, 11] 1\n",
" 2518261 │ 2519661 0 Any[] 1\n",
" 2518262 │ 2519662 0 Any[] 1\n",
" 2518263 │ 2519663 0 Any[] 1\n",
"\u001b[36m 2518242 rows omitted\u001b[0m"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Loading the file generated from asesmbly\n",
"dataset = DataFrame(CSV.File(\"reassembly_pear.csv\", delim=\";\"))\n",
" \n",
"# Removes any sequences that have more blocks than possible due to the assembly program\n",
"dataset = filter(row -> row.block_numbers <= total_cycles, dataset)"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "9006ca5a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"1823543×6 DataFrame
1823518 rows omitted
| 1 | 55 | GTGTGGTT | Any[] | 7393 | 0 | Any[] |
| 2 | 94 | GGGGGATACTGGTT | Any[] | 4949 | 0 | Any[] |
| 3 | 234 | GGGGGGCT | Any[] | 1968 | 0 | Any[] |
| 4 | 342 | GGGGGATAATGGTT | Any[] | 1331 | 0 | Any[] |
| 5 | 381 | GGGGGGAGGTGCTGGGACGGGTT | Any[] | 1219 | 0 | Any[] |
| 6 | 426 | GGGGGACAACAGCAGAATAATGGCTCGTGTGGTT | Any[] | 1097 | 0 | Any[] |
| 7 | 435 | GGGGGGGACGGCAGCGAAGGGGTCGGGTT | Any[] | 1073 | 0 | Any[] |
| 8 | 441 | GGGGGGTTCTTCTAGTGGTGGTTGTTGTT | Any[] | 1066 | 0 | Any[] |
| 9 | 472 | GGGGGGCGCGGGTGCTCCTGGTT | Any[] | 1014 | 0 | Any[] |
| 10 | 495 | GGGGGGGTGTTCTGGTT | Any[] | 968 | 0 | Any[] |
| 11 | 504 | GGGGGACAACCAGCAGAATGGCTCGTGTGGTT | Any[] | 959 | 0 | Any[] |
| 12 | 567 | GGGGGGAGGTGCTGGGTGTGGTT | Any[] | 879 | 0 | Any[] |
| 13 | 605 | GGGGAACAAAAAGCAGAATAATGGTGGTGGTGGGTGTGGTT | Any[] | 841 | 0 | Any[] |
| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |
| 1823532 | 2519647 | GGGGAGGTTGAGGAGGAGGGGGGGTGGGAGGAGGAGGGGGACGGGTT | Any[] | 1 | 0 | Any[] |
| 1823533 | 2519652 | GGGGTTAGTGTCGGCCCCACTCGAATGCAGAAAATGGTATTGTACTGGTT | Any[] | 1 | 0 | Any[] |
| 1823534 | 2519653 | GATGGAGTCCATGAGTAGGTGTGGTAGGGGGTGTGGTT | Any[] | 1 | 0 | Any[] |
| 1823535 | 2519654 | GGGGAACATCAGCAGAATGATGCTCCTGGGAAGGGTT | Any[] | 1 | 0 | Any[] |
| 1823536 | 2519655 | GGGGAACAAACAGAAGAATGATGGGCCGGGTT | Any[] | 1 | 0 | Any[] |
| 1823537 | 2519656 | GGGGCGGCTCGGTGCCGCTGGCTGGTGTGGTT | Any[] | 1 | 0 | Any[] |
| 1823538 | 2519657 | GGGAAGNAGGAGGAGGAGGAGGGCTCCTGGGTCGGGTT | Any[] | 1 | 0 | Any[] |
| 1823539 | 2519658 | GGGGGCTTTTAAACACCGGTGTTCTCATGGGGCGGGTT | Any[] | 1 | 0 | Any[] |
| 1823540 | 2519659 | GGGGAACAACCAGCAGAGGAATGGTGGTTGGGAGCATGACTCTTCTGGTT | Any[] | 1 | 0 | Any[] |
| 1823541 | 2519661 | GGGGGGGAAGCGGGCCGGCAAAAAGGGAGGGGAGGGGTT | Any[] | 1 | 0 | Any[] |
| 1823542 | 2519662 | GGGGGGCAACCAGCAGAATAATGGTGGAGGTAGTGGTGGTGGGACGGGTT | Any[] | 1 | 0 | Any[] |
| 1823543 | 2519663 | GGGGGGGACAAATAAACAGAAGAATAGTACCAACCAGCAGAATAATGGGACGGGTT | Any[] | 1 | 0 | Any[] |
"
],
"text/latex": [
"\\begin{tabular}{r|ccc}\n",
"\t& Sequence\\_number & Microcin\\_sequence & \\\\\n",
"\t\\hline\n",
"\t& Any & Any & \\\\\n",
"\t\\hline\n",
"\t1 & 55 & GTGTGGTT & $\\dots$ \\\\\n",
"\t2 & 94 & GGGGGATACTGGTT & $\\dots$ \\\\\n",
"\t3 & 234 & GGGGGGCT & $\\dots$ \\\\\n",
"\t4 & 342 & GGGGGATAATGGTT & $\\dots$ \\\\\n",
"\t5 & 381 & GGGGGGAGGTGCTGGGACGGGTT & $\\dots$ \\\\\n",
"\t6 & 426 & GGGGGACAACAGCAGAATAATGGCTCGTGTGGTT & $\\dots$ \\\\\n",
"\t7 & 435 & GGGGGGGACGGCAGCGAAGGGGTCGGGTT & $\\dots$ \\\\\n",
"\t8 & 441 & GGGGGGTTCTTCTAGTGGTGGTTGTTGTT & $\\dots$ \\\\\n",
"\t9 & 472 & GGGGGGCGCGGGTGCTCCTGGTT & $\\dots$ \\\\\n",
"\t10 & 495 & GGGGGGGTGTTCTGGTT & $\\dots$ \\\\\n",
"\t11 & 504 & GGGGGACAACCAGCAGAATGGCTCGTGTGGTT & $\\dots$ \\\\\n",
"\t12 & 567 & GGGGGGAGGTGCTGGGTGTGGTT & $\\dots$ \\\\\n",
"\t13 & 605 & GGGGAACAAAAAGCAGAATAATGGTGGTGGTGGGTGTGGTT & $\\dots$ \\\\\n",
"\t14 & 629 & GGGGAGATGTTCTAACAACCAGCAGAATGACAACAACCAGAGAATAATGGTT & $\\dots$ \\\\\n",
"\t15 & 637 & GGGGAACAAAAAGCAGAATAATGGTGGTGGTGGGACGGGTT & $\\dots$ \\\\\n",
"\t16 & 666 & GGGGGCTAATGGTT & $\\dots$ \\\\\n",
"\t17 & 703 & GGGGGGTTCTTCTTGGAGGGGGGGACGGGTT & $\\dots$ \\\\\n",
"\t18 & 706 & GGGGGGTTCTTCTAACAACCAGCAGAATAATAGGAGGAGGGCTCCTGGTGATGTGGATGTTCTGGTT & $\\dots$ \\\\\n",
"\t19 & 744 & GGGGAGGAGGAGGAGGTTGGTT & $\\dots$ \\\\\n",
"\t20 & 764 & GGGGGGCTCGTGTCTCGCGCCATAAAATGGAGGCTCCTAGGAGGAGGGGTT & $\\dots$ \\\\\n",
"\t21 & 772 & GGGGGGATGTTCTCTCGCCGCTAAAATGGGAGGGGTGTGGTT & $\\dots$ \\\\\n",
"\t22 & 775 & GGAGGGGTGTAACAACCAGCAGAATAATAGGAGGAGGAGGGGGTGTGGTT & $\\dots$ \\\\\n",
"\t23 & 825 & GGGGGGAGGTGATGGGACGGGTT & $\\dots$ \\\\\n",
"\t24 & 944 & GGGAGAGACCAGCAGAATAATGGTGGTGGTGGGTGTGGTT & $\\dots$ \\\\\n",
"\t25 & 948 & GGGGGATT & $\\dots$ \\\\\n",
"\t26 & 949 & GGGGAGGGGGAGGAGGAGGAGGGGATGTTCTGGTT & $\\dots$ \\\\\n",
"\t27 & 961 & GGGGCTCGCCGCCATAAATGGAGCTCGCCGCCATAAAATGGGAGGGGACGGGTT & $\\dots$ \\\\\n",
"\t28 & 988 & GGGGGGAGGTGATGGGTGTGGTT & $\\dots$ \\\\\n",
"\t29 & 1013 & GGGGGGGTCGAGGAGGTCGGCTCCTGGTT & $\\dots$ \\\\\n",
"\t30 & 1015 & GGAGAACAACCAGCAGAATAATGGTGGTGGTGGTGCTCCTGGGACGGGTT & $\\dots$ \\\\\n",
"\t$\\dots$ & $\\dots$ & $\\dots$ & \\\\\n",
"\\end{tabular}\n"
],
"text/plain": [
"\u001b[1m1823543×6 DataFrame\u001b[0m\n",
"\u001b[1m Row \u001b[0m│\u001b[1m Sequence_number \u001b[0m\u001b[1m Microcin_sequence \u001b[0m\u001b[1m Microcin_assemb\u001b[0m ⋯\n",
" │\u001b[90m Any \u001b[0m\u001b[90m Any \u001b[0m\u001b[90m Any \u001b[0m ⋯\n",
"─────────┼──────────────────────────────────────────────────────────────────────\n",
" 1 │ 55 GTGTGGTT Any[] ⋯\n",
" 2 │ 94 GGGGGATACTGGTT Any[]\n",
" 3 │ 234 GGGGGGCT Any[]\n",
" 4 │ 342 GGGGGATAATGGTT Any[]\n",
" 5 │ 381 GGGGGGAGGTGCTGGGACGGGTT Any[] ⋯\n",
" 6 │ 426 GGGGGACAACAGCAGAATAATGGCTCGTGTGG… Any[]\n",
" 7 │ 435 GGGGGGGACGGCAGCGAAGGGGTCGGGTT Any[]\n",
" 8 │ 441 GGGGGGTTCTTCTAGTGGTGGTTGTTGTT Any[]\n",
" 9 │ 472 GGGGGGCGCGGGTGCTCCTGGTT Any[] ⋯\n",
" 10 │ 495 GGGGGGGTGTTCTGGTT Any[]\n",
" 11 │ 504 GGGGGACAACCAGCAGAATGGCTCGTGTGGTT Any[]\n",
" ⋮ │ ⋮ ⋮ ⋮ ⋱\n",
" 1823534 │ 2519653 GATGGAGTCCATGAGTAGGTGTGGTAGGGGGT… Any[]\n",
" 1823535 │ 2519654 GGGGAACATCAGCAGAATGATGCTCCTGGGAA… Any[] ⋯\n",
" 1823536 │ 2519655 GGGGAACAAACAGAAGAATGATGGGCCGGGTT Any[]\n",
" 1823537 │ 2519656 GGGGCGGCTCGGTGCCGCTGGCTGGTGTGGTT Any[]\n",
" 1823538 │ 2519657 GGGAAGNAGGAGGAGGAGGAGGGCTCCTGGGT… Any[]\n",
" 1823539 │ 2519658 GGGGGCTTTTAAACACCGGTGTTCTCATGGGG… Any[] ⋯\n",
" 1823540 │ 2519659 GGGGAACAACCAGCAGAGGAATGGTGGTTGGG… Any[]\n",
" 1823541 │ 2519661 GGGGGGGAAGCGGGCCGGCAAAAAGGGAGGGG… Any[]\n",
" 1823542 │ 2519662 GGGGGGCAACCAGCAGAATAATGGTGGAGGTA… Any[]\n",
" 1823543 │ 2519663 GGGGGGGACAAATAAACAGAAGAATAGTACCA… Any[] ⋯\n",
"\u001b[36m 4 columns and 1823522 rows omitted\u001b[0m"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#= Sequences that cannot be assembled by the RE_assemble function are annotated as 0-block assemblies\n",
"which are expected to skew estimates of how efficient the InDel assembly was. I analyse here the distribution of \n",
"lengths present among the 0-block assemblies to demonstrate that assembly failure does not equate to empty vectors =#\n",
"\n",
"# Creates a separate dataset with sequences that cannot be assembled\n",
"zero_cycle = filter(row -> row.block_numbers == 0, dataset)\n",
"zero_cycle = innerjoin(NGS_data, select!(zero_cycle, Not([:Count])), on=:Sequence_number)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "921cb906",
"metadata": {},
"outputs": [],
"source": [
"# Looks at the length of the sequences for which assembly failed\n",
"insert_lenghts = []\n",
"for n in zero_cycle.Microcin_sequence\n",
" element = length(n)\n",
" push!(insert_lenghts, element)\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "07b72ada",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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zhqEQogVK1b89ddfzZs337Rp06ZNm+56FhgAgJs5cRCGhoYmJCSkpaXt3r27SZMmji7HWX388ceOLsFpHDlyZPfu3Y6uwml88cUXBoO9I14kk5SUtGHDBkdX4TS++uqrv//+uwI7dOIgxL2zWCzvvfeeo6twGvv379+5c6ejq3Aa8+fPv379uqOrcA4nTpzYtGmTo6twGqtWrbp48WIFdkgQAgCkRhACAKRGEAIApKazPnjsIebp6VmjRg2en3JLly5dql27tqOrcA55eXkWi6VSpUqOLsQ5pKWlhYaGurjw3LC7KyoqKioqqlq1qqMLcQ5XrlwJDg52d3e3ZeGhQ4fOnj37zstIccvBhQsXGL12OwaDgUel2Mhisaiqyo06NuLQsp2qqiaTyca/7CjXoRUSEnLXZaT4RAgAwO1wjRAAIDWCEAAgNYIQACA1ghAAIDXGv8nl5MmTO3bsyMrKatiw4bBhw7TvP8vLy/vuu++sy7Rt25ZntwohLl++vHXrVutsjx49wsPDtent27dv3769evXqY8eO5W4KTXx8vNH4f98r26BBg06dOpWUlKxcudLa2KJFixYtWjiiugfChQsXjh8/npubO3To0LJfAnr06NG1a9f6+PiMHj3aeowZDIavv/46JSWlefPmw4YNk+3uL6PReObMmdOnTwcEBPTv319rtFgse/bsOXDgQHFxcUxMTL9+/fR6vRDi/Pnze/bssa7bt2/f8t6IwidCiRQVFcXFxWVmZtaqVevbb79t165daWmpECIrK2vy5MkX/1deXp6jK30gnD179u2337buluLiYq19+fLlY8aMqVOnzunTpzt06FD2r7/MLl26ZN1X06ZNO3bsmBAiPz9/4sSJ1vbc3FxHl+kwly9fjomJWbx48fPPP1/2gdH79u2LjY2tWrVqfn5+q1atMjMztfZBgwatX78+MjLyk08+ef311x1UtcMsXLhw0KBBX375ZdmHIe/evXvKlCkmk6latWozZsx47rnntPZDhw59/PHH1sPMnpvlVEjDYrEYDAZturS0tFKlSrt27VJVNSkpKTg42KGlPYi2bt0aExNzQ6OiKJGRkRs2bNCmmzRpsmbNGkdU9+BKSkpyc3PLyMhQVTUzM9PNzc3RFT0QtJtQtbdTly5dsrbHxcV9+OGH2nT//v3feecdVVXPnDnj4+NTUFCgqmpycrK3t/f169cdUbXDaLtr1apVLVq0sDaWlpYqiqJNnzp1Sq/XFxYWqqq6fPny3r1738vm+EQoEb1eb71jV1VVg8FgPT9jMBjmzJmzcOHCpKQkxxX4wPn7778//fTTpUuX/vXXX1pLRkZGcnJyt27dhBA6nS42Nnbv3r0OrfGB89VXX/Xq1at69erarKIoc+fOnT9//m+//ebYwhxLO4l3s71792qHkxCiW7du2uG0b9++tm3bar+e9erVq169+tGjR+9bqQ+CW+4uDw8P6yni0tJSd3d36x+0y5cvf/zxx8uWLcvOzrZnc3YXCqc2ffr01q1bt2rVSgjh6uraqVOn7OzsI0eOtGjR4ttvv3V0dQ8Eb2/vli1b5uTk/Pzzz40aNdq3b58QIiMjw9vb2/oGolq1aleuXHFomQ8Ws9m8atWqMWPGaLN6vb5bt25ZWVknT55s167dkiVLHFvegyY/P7+oqKhKlSrabNWqVTMyMoQQmZmZ1katncOsLLPZ/Oqrr06dOtXNzU0IERAQ0Lhx47y8vISEhAYNGtjxlovBMjKaO3fu5s2b9+3bp729qlu3rvW70Lp06fLaa68988wzDi3wgfDYY4899thj2vTbb789c+bM/fv3u7m5mc1m6zImk4mniJX1008/qarao0cPbbZKlSrWAUc9e/YcMWLE2LFjb/fZSELa33HrEWU2m7WPOK6urhaLxboYT18ry2KxjB492sfH56233tJa+vXr169fP2164sSJb7/99rp168rVJ0ekdBYtWjRnzpxdu3bd8hF87dq1u3LlijaIBlbt2rXTvgi0Ro0aRqPx2rVrWnt6erotTzKUx7Jly8aMGXPLx7G2a9euoKDAuusghPDy8goKCkpPT9dm09PTa9SoIYQIDQ21Ngohrly5orVDUZSxY8dmZWX9+OOPt3wPav1VLReCUC7Lly9///33d+7cWatWLWtjSUmJdXrTpk316tXz9PR0RHUPlht2S+PGjYUQwcHBbdu2Xbt2rRCiuLh4y5YtvXv3dliJD5jMzMzt27ePHj3a2nLDPqxatSpfsHCD3r17ax9fFEVZv359r169hBBPPPHE8ePH09LShBAHDhwwmUxt27Z1cKEPAFVVX3zxxZSUlISEhLJ/o6xv3FVV/emnn7Rf1XLh1KhErl27Nnbs2NDQ0EGDBmkts2bN6t2793vvvbdt27aGDRtevnz5zJkzZe8plNn48eP//PPP8PDwpKSkjIyMLVu2aO3vvvvuwIEDExMTT58+HR0d3aVLF8fW+eCIj49v27ZtZGSktWXevHn/+te/GjdunJmZeezYsfj4eNnuhyurU6dOBQUFQohevXq5u7sfOnTI3d19xowZnTp1unLlSlZWVklJyYgRI4QQoaGhkydP7tSpU9euXTdv3vzee+/Jdgb+yJEjL7zwwvXr17Oyslq2bNm+ffsvvvjip59+WrRoUVRUVOfOnbXF1q5dW6dOnX79+plMppCQkFOnTpWWlu7cubO8m+PbJyRiMplOnz5dtiU8PDw4OLikpOTo0aPp6emVK1eOiYkJDAx0VIUPlPz8/MTExOzs7GrVqrVt29bLy8v6o/T09P3791erVq1Tp05c8bJKSUnx8vIKDQ21thgMhmPHjqWlpQUFBbVq1apy5coOLM/hTp48WfbK36OPPqodPDk5OTt37vT19e3atWvZwDt69GhKSkp0dHRUVJQDynWo/Pz85ORk62xAQEC9evVycnJuOO35yCOPeHp6Xr9+/ciRIzk5OaGhoW3bttWuvJYLQQgAkBpvZgEAUiMIAQBSIwgBAFIjCAEAUiMIAQBSIwgBAFIjCAEAUiMIAQBSIwgBAFIjCAEAUiMIAQBS+38y7y6ftESBngAAAABJRU5ErkJggg==",
"image/svg+xml": [
"\n",
"\n"
],
"text/html": [
"\n",
"\n"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"histogram(insert_lenghts, nbins = 40, labels=false)\n",
"# increasing the number of bins allows clear vizualization of the reading frame\n",
"# it is clear that while the assembly algorithm is working, there are many exceptions that differ\n",
"# by more than 1 base from the expected sequencing blocks"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "7f4083b7",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.7178776580972449"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Estimate of assembly efficiency\n",
"viableAssembly = sum(dataset.Count) - sum(zero_cycle.Count)\n",
"assemblyEfficiency = viableAssembly / sum(dataset.Count)\n",
"\n",
"#= Introduction of additional or more advanced error-catching mechanisms could further improve\n",
"the assembly efficiency, if needed. One such approach is to focus analysis on non-unique sequences.\n",
"Unique sequences are the most likely to contain errors but also the rarer assembled sequences (as it\n",
"would be expected for 6-block assemblies) =#"
]
},
{
"cell_type": "markdown",
"id": "dd81c4f7",
"metadata": {},
"source": [
"### Analysis excluding unique sequences\n"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "4222c2c0",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"5421405"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nonUnique = filter(row -> row.Count > 1, dataset)\n",
"sum(nonUnique.Count)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "8bef8166",
"metadata": {},
"outputs": [],
"source": [
"# Creates a separate dataset with sequences that cannot be assembled\n",
"zero_cycle_nonUnique = filter(row -> row.block_numbers == 0, nonUnique)\n",
"zero_cycle_nonUnique = innerjoin(NGS_data, select!(zero_cycle_nonUnique, Not([:Count])), on=:Sequence_number);"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "2b0235c1",
"metadata": {},
"outputs": [],
"source": [
"# Looks at the length of the sequences for which assembly failed\n",
"insert_lenghts_nonUnique = []\n",
"for n in zero_cycle_nonUnique.Microcin_sequence\n",
" element = length(n)\n",
" push!(insert_lenghts_nonUnique, element)\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "b6e411c4",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3de1yUZf7w8WuAweEwIAYoeDZ1VHQ1SSXJYs1jHh5tczGpbdeXhw4+lampaD6tZlbrzw7a+qi7ipamKTxbmpUmpWjrmma2WZsYAgkICAwwwwzM4f79cT87y0+tlHtsYK7P+6+Zi7uL70zjfJgDg05RFAEAgKwCfD0AAAC+RAgBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCkRggBAFJrMSGsqal57rnnGq+4XC632+2jcaTgdrtdLpevp/BniqI4nU5fT+HnHA6Hr0fwc35wDbeYEJaVlW3fvr3xisPh4G76pnK5XNxN31SKojQ0NPh6Cj9nt9t9PYKf84NruMWEEACAm4EQAgCkRggBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJBakK8HgPe5XK4XVq2yWCwa93G73JMm/a/k5GSvTAUAzRMh9ENVVVUrVr7oGJeudaNzR+udLkIIwL8RQv8U2CrEMWaB1l10AUKUe2McAGi+eI0QACA1QggAkBohBABIjRACAKRGCAEAUiOEAACpEUIAgNQIIQBAaoQQACA1QggAkBohBABIjRACAKRGCAEAUiOEAACpEUIAgNQIIQBAaoQQACA1QggAkBohBABIjRACAKRGCAEAUiOEAACpEUIAgNQIIQBAaoQQACA1Qgi5LFiUrvOGMGOE0+n09aUB4AVBvh4A+EVdrjSLtLUiZbbGfRoej3A6nUFB/AsCWjweEQIApEYIAQBSu64QFhYWPvbYY0OGDOnZs2fj9YqKiokTJxqNxo4dO27fvt2zvmfPni5duoSHh48dO7a0tFRdtFqt06ZNi4yMbNeu3Z///GfPwQcPHjSZTGFhYXfffXd+fr4XLhMAANftukJos9k6dOjw8MMPX7hwofH6woULQ0JCysvLd+/e/cgjj6gZKykp+f3vf5+RkVFZWdmuXbunnnpKPfj5558vLy8vLi4+dOjQ0qVLv/jiCyGExWKZMmXKiy++WF1dPWjQoJkzZ3r58gEA8JOuK4Qmkyk9PX3YsGGNF+12+9tvv71kyRKDwZCUlDR69Og333xTCLFjx44777wzJSUlODj42WefzcrKqq6uFkJs3rx50aJFYWFhCQkJqampGRkZQoisrKzu3btPnjw5KCgoPT398OHDhYWF3r+UAAD8iKa/RlhUVGSz2RISEtSzffv2PXfunBDi3Llzffv2VRe7desWFBSUn59fXV1dVlbWr1+/nzi4TZs2cXFxubm5P/Yd3W53VSOKojR5eAAAVE1/83dlZWVISEhgYKB6NiIioqKiQghRVVUVFxfnOSwiIqKysjIiIkIIER4efvXBnkXPwdf8drW1tQUFBd26dfOszJ07d86cOXq9vskXwV9ZLBYhvPNTQkNDQ21trVe2aiYcDoe3tqqtrdW4m9vtrq+vd7lc3hoJV7NYLL4ewc8182vYYDD8bCaaHsLo6Gibzeb5VSqz2RwbGyuEuOWWWxrfdVZXV8fExERHRwshampqQkNDrzi4oKDAc7DZbI6JibnmtzMajV27dm38eNFutwcGBhLCq9XX1wuh88pWwcHBRqPRK1s1E3q9XngphUaj0WAwaNnB7Xbr9Xr1HwVuHj+7DTdDLf0abnoI4+Pjw8PDv/rqq4EDBwohvvrqq8GDBwshTCbTvn371GPOnTunKErnzp2NRmN8fPyZM2fatWunHqy+AdVkMr333nvqwZcvXy4tLe3Ro4fGiwSvyT+1/v0P/7J5i8Zt9EGB/zx9qlOnTl4ZCgC867pC6HQ6z5w5c/78eUVRTp06pdfrf/WrX7Vq1eqhhx567rnntm3bduLEiezs7HXr1gkh0tLSli1b9t5776WkpCxbtiw1NVX9YWHGjBkrV65MTEw8f/787t27c3JyhBCTJ09+8sknt23bNnny5GXLlo0aNap9+/Y39QLjBtRb3UkP2ib9UeM2Qavv9rPnVwH4k+sKYU1NzezZs4UQAwYMmD17dmxs7P79+4UQq1atmjNnjslkio2NffPNNzt06CCEiImJeeeddxYuXFhSUjJ8+PBXXnlF3WTx4sXq+2UiIiLWrl2rvnEmNDT03XffnTt37rx58+64445NmzbdrAuKptEbRGiUxj10gXxuA4Dm67pC2KZNm5MnT169HhERsW3btqvXx4wZM2bMmCsWDQbD+vXr169ff8V6cnLyiRMnrm9aAAC8jB/VAQBSI4QAAKkRQgCA1AghAEBqhBAAIDVCCACQGiEEAEiNEAIApEYIAQBSI4QAAKkRQgCA1AghAEBqhBAAIDVCCACQGiEEAEiNEAIApEYIAQBSI4QAAKkRQgCA1AghAEBqhBAAIDVCCACQGiEEAEiNEAIApEYIAQBSI4QAAKkF+XoA4Lrk5uYmDrnD5XJr3KfBpYhJK7wyEgD/QAjRMlRVVelu6VT3vz/UuE/g6hFemQeA3yCEaDF0gUEiNErrLgGB3pgFgP8ghIDPFBcXZ2Rk6PV6jfvodLoZM2a0adPGK1MBsiGEgM8cOXLk+f+73dl/gsZ99Kd2DxgwYNSoUV6ZCpANIQR8KbhL//rJKzVuYiz50ivDAHLi1ycAAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCkRggBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCkRggBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCkRggBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCkRggBAFIjhAAAqTU9hDab7db/ad26dUKIs2fPNl7ctWuXerzFYklNTTUajbGxsWvXrvXs89FHH916662hoaF33nnnhQsXNF4eAABuSFCT/0uDwXDw4EH1dFVVVVJS0rBhw4QQ9fX1DQ0Nhw8fVr8UExOjnnj++efNZnNZWVlBQUFycvLQoUMTExNra2tTU1O3bds2bty4xYsXz5w58+OPP9Z2iQAAuAFND6FOp+vWrZt6et26dQMGDOjfv///3zQoyPMljy1btrz99tshISG9evVKTU3NyMhITEzMysrq3r37xIkThRCLFy9u27ZtYWFhp06dmjwVAAA3xDuvEW7evHn69OmesyUlJZ06derdu/czzzxjtVqFEOpjwb59+6oHJCQk5ObmCiFyc3P79eunLkZFRcXFxanr1+R2u6sa8crkAADJNf0RoccXX3zxr3/9a+rUqerZDh06HDhwoHfv3gUFBY8++mhlZeVf/vIXtVthYWHqMUajsaKiQghRVVXlWRRCREREVFZWXvO71NbWFhQUNH6gOXfu3Dlz5uj1eu0Xwc9YLBYhFF9P8R+KIqxWa21trZZN6urqhNKMLpQQora21uFwaNnBZrN55TIpimKz2TRew/7KYrH4egQ/18yvYYPB8LOZ8EIIN2/e/Jvf/CYqKko9GxsbGxsbK4SIiYlZs2bNhAkTNm3aFB0dLYSoqalRs2c2m9Vjbrnllvz8fM9WZrPZ85riFYxGY9euXRs/XrTb7YGBgYTwavX19ULofD3Ff+h0IiwszGg0atkkNDRU6JrRhRJCGI1Gg8GgZYeQkBCvXCadThcSEqLxGvZjXDM3W0u/hrU+NWq323fs2NH4edHGdP/+V240Gtu3b3/mzBn17FdffWUymYQQvXr18iyWl5eXlpb27NlT40gAAFw/rSHMyspq3br13Xff7Vk5cODA8ePHL1++/MUXXzz99NP33XefmsMZM2Y8//zz5eXln3322Z49e9R2Tp48ubi4OCMjo6am5tlnnx09enR8fLzGkQAAuH5anxo9efLkvHnzAgL+E9Ty8vJnnnmmqKgoNjZ2woQJS5cuVdcXL15cXl7ev3//yMjIN954Q33jTEhIyHvvvTd37txnnnkmOTl506ZNGucBAOCGaA3hmjVrrlhJS0tLS0u7+shWrVq98cYbb7zxxhXrd9xxx/HjxzWOAQBA0/ARawAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCkRggBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCkpvXvEQI/y1Vv++ijj7755hstm5w/f97tcnlrJADwIIS46Ww15mVbP9CHt9aySUNZfn2dzVsjAYAHIcTNpwuw/ma1iO+jaZNjWwMOrPHSQADwH7xGCACQGiEEAEiNEAIApEYIAQBSI4QAAKkRQgCA1AghAEBqhBAAIDVCCACQGiEEAEiNEAIApEYIAQBSI4QAAKkRQgCA1AghAEBqhBAAIDVCCACQGiEEAEiNEAIApEYIAQBSI4QAAKkRQgCA1AghAEBqhBAAIDVCCACQGiEEAEiNEAIApEYIAQBSI4QAAKkRQgCA1AghAEBqhBAAIDVCCACQGiEEAEiNEAIApEYIAQBSI4QAAKkRQgCA1AghAEBqhBAAIDVCCACQGiEEAEiNEAIApEYIAQBSI4QAAKkRQgCA1AghAEBqhBAAIDVNIfzd735367/dc889nvWdO3fGx8eHhYWNGDHi0qVL6qLFYpkyZUp4eHh0dPRrr73mOfiDDz7o0qVLaGhocnJyXl6elnkAALhRmkJYUlIyd+7cgwcPHjx4MCMjQ10sLi6eMWPGO++8U11d3bVr1yeffFJdX7FiRW1t7eXLl48dO7Z8+fJTp04JIWprax944IF169ZZLJZhw4bNmjVL28UBAODGBGn872NjY7t169Z4Zfv27cOGDbvzzjuFEOnp6SaTqbq6OjIycsuWLTt37jQYDCaTKTU1dcuWLYmJiZmZmT169Bg/frwQYuHChW3bti0oKOjcubPGqQC5KG6LxVJVVaVxG6PRGBSk9T4BaHG03uiffPLJJ554ok+fPitWrEhOThZC5Obm9u3bV/1q165d9Xp9fn5+586dy8vLPesJCQl79+694uCoqKi4uLjz58//WAjdbrfnn7pOpzMYDBqHB5pMUZTTp08HBwdr2SQvL09RFO3DWC6eS017KEjfSssmiuKOjY0t/P6c9nmAlkVTCJcsWdKtW7fg4OA333xzzJgxX3/9defOnc1mc3x8vOeYiIiIysrKiIgIIUR4eLi6aDQaKyoqhBBmszksLOyKg6/5vSwWS0FBQeNHn08//fScOXP0er2Wi+CXrFarEF64e8VPcLlcYx96VBcQqGUTW/kPrm5DtQ+jCJ3rkd3OhJGadjGX1LycZLFYtM/TrFitVp1O5+sp/Fkzv4YNBsPPPs+hKYQpKSnqiQULFmRlZX3wwQePPPJIdHR0TU2N55jq6uqYmJiYmBj1dGhoqBDCbDbHxsYKIaKjoy9cuOA52Gw2q0deLTw8vGvXrrm5uZ4Vu90eGBhICK9mt9uFaL63S79RPS9H6LU9LfH2U0HmIi+N4wU6nc7z06rfUBTF/y5Us+IH17A3f31C/aGgV69eZ86cUVe+++47IUSXLl3Cw8Pbt2/vWT9z5kyvXr3Ug7/88kt1saysrLS0tGfPnl4cCQCAn9b0EFZXV2/dujU/P7+oqOjFF188e/bsmDFjhBDTpk07efJkZmZmRUXF0qVLp06dqv6wMGvWrBUrVly6dCknJyczM3P69OlCiEmTJl26dOmvf/2r2WxeunTpmDFjGj+tCgDAzabpEeHu3bvvvvvuO+64Iycn5+DBg+qbXKKjozMzM1988cW+ffuGhISsWbNGPXjRokUDBw4cNGjQY489tn79+oSEBCFESEjI3r17N2/e3Lt374qKik2bNmm/SAAAXL+mv0YYGRm5b9++a35pxIgRI0aMuGIxODh47dq1a9euvWJ9yJAhx44da/IYAABowUesAQCkRggBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCkRggBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCkRggBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCkRggBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCkRggBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCkRggBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCkRggBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCkRggBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCk5oUQKopy/Qe73e4bWgcA4KZqegjr6uoeeOCB6OjokJCQPn367Nu3T10/e/bsrY3s2rVLXa+trb3vvvsiIyPbtGmzZs0azz7vv/9+x44dIyIihgwZ8v3332u5MAAA3Kimh9DhcCQmJn799dc2m23JkiVTpky5dOmSEKK+vr6hoeHgv917773q8cuXL7fb7ZcvXz5x4sQLL7zw+eefCyFqamqmTZu2adOmmpqaESNGzJw50yuXCgCA69T0EEZGRs6fP79du3Y6nS4tLc1gMJw7d079UlBQULd/MxqN6mJGRsaCBQtatWrVvXv31NTUrVu3CiGysrJMJtOYMWMCAgIWLFhw9OjRgoIC7ZcKAIDr5J03yxw9elRRlH79+qlni4uL4+Pju3fv/tRTT9XW1gohzGbz5cuXExIS1AP69Olz/vx5IURubq5nsXXr1nFxcer6Nbnd7qpGnE6nV4YHAMgsSPsWJSUlDz300CuvvBIVFSWE6NixY3Z2dp8+fQoLC2fPnv3EE09s2bKlqqpKCBEeHq7+J0ajsaKiQghhNpvDwsI8W0VERFRWVl7zu1gsloKCgm7dunlW5s2b9/jjj+v1eu0Xwc9YrVYhbuAdTPChZvX/ye12X7x4Ufs+4eHhQUFeuG/xCqvVqtPpfD2FP2vm17DBYPjZW6PWG2tZWZn62t4f/vAHdSUmJiYmJkYIERUVtXr16nHjxm3evFldqa6uDg0NFUKYzebY2FghRHR09IULFzy7VVVVqUdeLTw8vGvXrrm5uZ4Vu90eGBhICK9mt9uFaL63SzTWjP4/1VXVVJR17/Mrjdu4GuzLlqQ/++xSrwylnaIonh/BcTP4wTWsKYRms3ns2LFTpkxJT0+/5gFutzsgIEAIER4e3qFDhy+//DIuLk4IcebMmd69ewshevXqlZWVpR5cVlZWVlZmMpm0jASgiZwNupCI+jWlWvd5f5XNbvfGQMAvpOmvEVqt1uHDh8fHx0+YMOHUqVOnTp1Sn//88MMPjx49Wlpaevz48blz595///3qo+ZZs2atWLGiuLj48OHDmZmZ06dPF0JMmjSptLR006ZNlZWV6enpY8eOVUsJAMAvo+mPCM1m8y233GK32xctWqSuLFmyJCUlxWw2L126tKSkJCYmZvz48YsXL1a/unDhwoqKiqSkpKioqA0bNvTp00cIERISsm/fvqeffvq5554bOnTopk2btF8kAACuX9ND2L59+4MHD169PnXq1KlTp169Hhwc/Oqrr7766qtXrA8ePPjo0aNNHgNA81JR+N6HXxeUlGvcxhAc9Pp/vdz4zXTATdJc3tkFwE9czv8mKOqsc4DGbQz/77nF8+d2797dK0MBP4EQAvC2TgPEXTM07qHPXvPzBwHewF+fAABIjRACAKRGCAEAUiOEAACpEUIAgNQIIQBAaoQQACA1QggAkBohBABIjRACAKRGCAEAUiOEAACpEUIAgNQIIQBAaoQQACA1QggAkBohBABIjRACAKQW5OsB8D9Mf+TxXW+/rXETRVEanC6vzAMAfo8QNi/f5/9Ql/q66DtK0y5l34v/0rYDAEiDEDY/rcJFaJSmHUIivDQKAPg/XiMEAEiNEAIApEYIAQBSI4QAAKkRQgCA1AghAEBqhBAAIDVCCACQGiEEAEiNEAIApEYIAQBSI4QAAKkRQgCA1AghAEBqhBAAIDVCCACQGiEEAEiNv1APoDly1NW+9KfVrVu31rjPgP6/Sps2zSsjwV8RQgDNUX19/V8KwkVFhKZdLhckZL9BCPHTCCGA5uquGSL2Vk075B4V2Uu9NA38Fq8RAgCkRggBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0QAgCkRggBAFIjhAAAqRFCAIDUCCEAQGqEEAAgNUIIAJAaIQQASI0/zOsdFy9efH3tOkXzPnkXLogeXpgHAHCdCKF3nDhxYu3OffZB0zTuE1BW4ZV5AADXiRB6TXB8T/uYBRo3Ccj5q9sr0wAArg+vEQIApEYIAQBSI4QAAKk1l9cIHQ6HXq/3ybcuLS21Wq3aNxGK9jeNAgB+ab4P4b59+2bPnl1bW2symXbs2NGjxy/92wOmhH5OfZhOp+nBcX1tpdJtiLdGAgD8YnwcwpqamrS0tN27d48cOfLZZ5+dNWvWJ5988gvPUF/fYP8/34iQSE277FkcVPy1lyYCAPxyfPwaYWZmpslkGjVqlE6nmz9//rFjx/Lz8307EgBAKj5+RHj+/PmEhAT1dOvWrePj48+fP9+lS5drHux2u6uqqjxn9Xp9YGCgd+aoqxaKtt/fc9QLl0PUVf38kT9JUdyi3qJ1H1uNUBTtwwiXQzjsXthHHUnjPg11QnF5YRi3SzTUeedC1ZmFvpWmHbx0sxGKIuqtWvex1wrhjZuN2ykabN65hu2abzY1ZRWlxS+99JLGQdxud0pKStu2bTXu09DQEBwcrHETRVHCwsJatdJ22/PSMEKIixcvhoWFad+nU6dOQUG+SZJO8elbPB5//HGdTrdu3Tr1bL9+/ZYtWzZlypSrj/zyyy9vv/12o9HoWZk3b97jjz+u/S02tw0ZWnTxB42buF1Ol8ut13yrcriUQJ0SEKDtkbqiNDQ4gltpHcbV0KDoAoL0Wm+aDS5FHyB0Op2WTRS32+l0ar+GnU6nTqfT/iNUQ4MzOFjrNeN2Ol1uRR+s9TbscCmBOhEQoO0aVhSHV242jgZFF6D9Hq3BpegDNN5qhOJ2OR0u7RfKWW/XBwXpNf9bqLPZQkNCtA7jdDqdToPBoHEfm83WqlUrjfc2iqLYbPbQUK0XSgjx8ssvP/DAA9r3uYLBYPjZW6OPHxFGR0dfuHDBc7aqqio2NvaaR4aHh3ft2jU3N9ezYrfbAwMDtYcw9+xXGnfwVw6Hw+12a//BEz/G7Xbb7fbQ0FBfD+LPamtrG/8ADa/zg2vYx68R9u7d+/Tp0+rp0tLSsrKynj17+nYkAIBUfBzCSZMmlZWVbdiwoby8PD09fdy4cXFxcb4dCQAgFR+H0GAwvP/++2+99VZiYqLFYtm4caNv5wEAyMb3H7F2++235+TkFBYW7tq1KyYm5vr/w4MHD546dermDYYTJ05kZ2f7egp/9t1332VlZfl6Cn9WWlqakZHh6yn8WV1dnefdji2X70PYZAcOHDh27Jivp/BnOTk5H3/8sa+n8GenT5/eu3evr6fwZ+fOndu5c6evp/BnpaWlGzZs8PUUWrXgEAIAoB0hBABIjRACAKTm40+WuX7ffvvtbbfd1r59e89KRUWFXq+PiIjw4VT+rbq62uVytWnTxteD+C2r1Wq1Wn/sQySgXX19fWVlJb+UdfO4XK7i4uKOHTv6epAfNW3atBUrVvz0MS0mhEKIvLy8xme99VlZ+DEul0tRFF99+p8MFEVxOBxe+bxH/Jj6+no+HemmaubXcFxcXMjPfaxdSwohAABex2uEAACpEUIAgNQIIQBAaoQQACC1lvqGwNOnT+/atSs4OPjhhx++9dZbfT2OP7Barfv37z99+nRQUNDo0aOTk5PV9ZycnG+//dZz2KxZs3w0YItXWVm5Z88ez9nk5OSEhAT19GeffZaVlRUZGTl9+vTGvyOEG3Lx4sX9+/c3Xhk7dmzHjh3Pnj3b+OMYf/vb37Zu3foXn64FKy0tPXnyZFFR0T333NP4/ragoGDLli11dXVTpkwZNGiQZz0zM/PYsWOdOnWaOXOmV/54/c3WIh8RnjhxIiUlpXXr1g6HY/DgwYWFhb6eyB+8+uqrGzZsMBqNgYGBEyZM8Hx+4I4dO7Zv356Xl5eXl9f4ryjjRhUXF8+bNy/v32pqatT1AwcOjBs3Lj4+vqysbNCgQRUVFb6ds+Wy2Wyeq/fYsWOPPvqo2+0WQmRnZ7/22mueLzU0NPh60hZm2LBhL7zwwsKFC0+ePOlZvHTp0qBBg2pqamJjY0eOHHnkyBF1fdWqVenp6d27d8/Ozh49enTL+MUEpQWaMmXKsmXL1NMPPfTQwoULfTuPf7DZbJ7TGzdu7N+/v3r6kUceWblypY+G8iv//Oc/4+Pjr17/9a9//frrr6unx44d+6c//emXncs/LV++fOTIkerp119/PS0tzbfztGjqrxT3799/586dnsU//vGPkydPVk+/9NJL9957r6IoNpstOjr6s88+UxSloaEhLi7u008/9cXIN6ZFPiI8fPjwyJEj1dMjR448fPiwb+fxDwaDwXPabreHh4d7zp48efLll1/etWtXfX29L0bzHzab7ZVXXlm/fn1ubq664na7c3JyRowYoZ7l9uwViqJs3bp1+vTpnpW8vLyXX35569atZrPZh4O1UAEB1yjFkSNHrr4fPnv2bH19fVJSkhBCr9enpKS0iNtzywuhw+G4fPmy5y8XxsbGlpSU+HYkP3Pp0qWVK1cuXLhQPduhQ4d27dqZzebVq1cPHDjQ84QebpRerx82bFhFRcXx48dvu+029fXC8vJyp9Pp+ZQ1bs9ekZ2dXVVVNWnSJPVsVFSUyWSqqanZsWOHyWT6/vvvfTuefygpKWl8P2y1Wmtqai5duhQTE6PT6dT1tm3bFhcX+27G69Xy3iwTGBgYEBDgdDrVs06nk0+o8iKz2Tx+/PhZs2ZNmDBBXVmyZC91I1UAAANdSURBVIl6YsWKFUOGDNm4ceP8+fN9N2ALZjKZ3n33XfX0XXfdNX/+/Pvvv1+v1wshuD171+bNm9PS0jxPcjz44IMPPvigejotLW3lypWbN2/23XR+IigoqPHtVgih1+sbLwohHA5Hc/70NY+W94gwICCgXbt2RUVF6tmioqL4+HjfjuQ3qqurR40alZKSsnz58qu/GhgYmJSUdMUnvqJphg4d+sMPPzidzqioqJCQkMa3Zz4hWqPq6uq//e1vjZ8XbWzo0KHchr2iffv2nkd7RUVFbdq0CQkJiY+PLy8v97wdqaXcnlteCIUQEydOVJ9WUhRlz549nscu0MJqtU6cODEpKWn16tWN1202m3qirq7u0KFDnnf840bZ7XbP6b1795pMpqCgIJ1ON2HCBPX27HK5srKyJk6c6LsZ/cFbb73Vq1evAQMGeFY8t2G3271///6+ffv6aDS/MmHChMzMTPV9ubt371bvhxMSEuLj499//30hREVFxSeffNIi7p9b5Idu5+fnJycnJyUlqU9JHz16NDIy0tdDtXhLly5dtWrVgAED1Of3w8PDP/30UyFEfHx8YmJiZGTk4cOHe/fuvXfv3hbxXEcztGjRok8++aRnz56FhYVnz57ds2dPSkqKEOLrr78ePnz4Pffc88MPP7jd7uzs7MZvXMKNGjhw4IwZMx577DHPyrBhw0JCQtq2bXvq1KmAgIBDhw61bdvWhxO2OHPmzDl+/Pg333wTFxcXFRW1YcOGxMREq9V61113GY3Gtm3bHjly5PDhwz179hRC7Nmz59FHHx0/fvzf//73u+66a+PGjb4e/+e1yBAKIaqrqz/++ONWrVqNGDGCew2vuHjxYmlpqedsYGCg+jN1YWHh6dOn7XZ7jx49Bg4c6LsBW7y6urrPP/+8uLg4Ojp68ODBjX96q6ioOHToUGRk5PDhw9VXDdE0brf79OnTvXv3Dg0N9SyWl5d//vnn1dXVnTp1SkpK4m+33ajc3NzG75Lr2bOn0WgUQtTX12dnZ1sslhEjRkRFRXkOyMvL+8c//tGpUyfP53I0cy01hAAAeEWLfI0QAABvIYQAAKkRQgCA1AghAEBqhBAAIDVCCACQGiEEAEiNEAIApEYIAQBSI4QAAKkRQgCA1P4bD9XepOc7xDIAAAAASUVORK5CYII=",
"image/svg+xml": [
"\n",
"\n"
],
"text/html": [
"\n",
"\n"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"histogram(insert_lenghts_nonUnique, nbins = 40, labels=false)\n",
"# increasing the number of bins allows clear vizualization of the reading frame"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "0d86b843",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.9221212951255255"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Estimate of assembly efficiency\n",
"viableAssemblyNonUnique = sum(nonUnique.Count) - sum(zero_cycle_nonUnique.Count)\n",
"assemblyEfficiencyNonUnique = viableAssemblyNonUnique / sum(nonUnique.Count)\n",
"\n",
"#= As expected, removal of unique sequences, that are expected to contain a higher sequencing error load,\n",
"improves the reconstruction efficiency =#"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "391f7509",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"7-element Vector{Pair{Int64, Int64}}:\n",
" 0 => 422212\n",
" 1 => 1087772\n",
" 2 => 1137859\n",
" 3 => 1255448\n",
" 4 => 952524\n",
" 5 => 473674\n",
" 6 => 91916"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Generating a histogram for estimating incorporation efficiency per round - not excluding unassembled sequences\n",
"incorporation = Dict{Int64, Int64}()\n",
"\n",
"for i = 1: size(nonUnique, 1)\n",
" if haskey(incorporation, nonUnique.block_numbers[i])\n",
" incorporation[nonUnique.block_numbers[i]] += nonUnique.Count[i]\n",
" else\n",
" incorporation[nonUnique.block_numbers[i]] = nonUnique.Count[i]\n",
" end\n",
"end\n",
"\n",
"sort(collect(incorporation), by= x -> x[1])"
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "d4ebd110",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Binomial{Float64}(n=6, p=0.42608253764476184)"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Estimating efficiency of incorporation per round\n",
"incorporation_per_round = fit_mle(Binomial, maximum(collect(incorporation))[1], \n",
" nonUnique.block_numbers, nonUnique.Count)"
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "d5218a45",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Binomial{Float64}(n=6, p=0.4620677777393271)"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Repeating the calculation but removing the 0-block assemblies, which are shown above as not empty constructs\n",
"nonUniqueNonZero = filter(row -> row.block_numbers > 0, nonUnique);\n",
"## Estimating efficiency of incorporation per round\n",
"incorporation_per_round = fit_mle(Binomial, maximum(collect(incorporation))[1], \n",
" nonUniqueNonZero.block_numbers, nonUniqueNonZero.Count)\n"
]
},
{
"cell_type": "markdown",
"id": "d0417ba0",
"metadata": {},
"source": [
"### Analysis including unique sequences"
]
},
{
"cell_type": "code",
"execution_count": 55,
"id": "f1e72b84",
"metadata": {},
"outputs": [],
"source": [
"# This removes 0-block assemblies\n",
"datasetNonZero = filter(row -> row.block_numbers > 0, dataset);"
]
},
{
"cell_type": "code",
"execution_count": 58,
"id": "631b7e06",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"6-element Vector{Pair{Int64, Int64}}:\n",
" 1 => 1092492\n",
" 2 => 1192895\n",
" 3 => 1388113\n",
" 4 => 1123853\n",
" 5 => 603441\n",
" 6 => 125757"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Generating a histogram for estimating incorporation efficiency per round\n",
"incorporationUnique = Dict{Int64, Int64}()\n",
"\n",
"for i = 1: size(datasetNonZero, 1)\n",
" if haskey(incorporationUnique, datasetNonZero.block_numbers[i])\n",
" incorporationUnique[datasetNonZero.block_numbers[i]] += datasetNonZero.Count[i]\n",
" else\n",
" incorporationUnique[datasetNonZero.block_numbers[i]] = datasetNonZero.Count[i]\n",
" end\n",
"end\n",
"\n",
"sort(collect(incorporationUnique), by= x -> x[1])"
]
},
{
"cell_type": "code",
"execution_count": 59,
"id": "3a29d73a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Binomial{Float64}(n=6, p=0.479798340773477)"
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Estimating efficiency of incorporation per round\n",
"incorporation_per_round = fit_mle(Binomial, maximum(collect(incorporationUnique))[1], \n",
" datasetNonZero.block_numbers, datasetNonZero.Count)"
]
},
{
"cell_type": "markdown",
"id": "50777981",
"metadata": {},
"source": [
"### Assessing library coverage\n",
"For this section, all correctly assembled sequences are used (including unique)\n"
]
},
{
"cell_type": "code",
"execution_count": 62,
"id": "174a6092",
"metadata": {},
"outputs": [],
"source": [
"## Deduplicating the library after re-assembly\n",
"#= Because the re-assembly of the library blocks includes some steps towards reconstructing blocks with errors\n",
"duplications emerge in the assembly and this routine allows that to be removed. =#\n",
"\n",
"sequences = Dict{Vector{Int64}, Int64}()\n",
"for i = 1: size(datasetNonZero, 1)\n",
" correct_block = parse.(Int,split(replace(datasetNonZero.block_order[i], r\"[^0-9.]\"=>\" \")))\n",
" if haskey(sequences, correct_block)\n",
" sequences[correct_block] += datasetNonZero.Count[i]\n",
" else\n",
" sequences[correct_block] = datasetNonZero.Count[i]\n",
" end\n",
"end\n",
"\n",
"collated_sequences = collect(sequences)\n",
"\n",
"analysis_dataset = DataFrame([[],[],[]], [\"block_numbers\", \"block_array\", \"Count\"])\n",
"\n",
"for i = 1: size(collated_sequences, 1)\n",
" entry = collated_sequences[i][1]\n",
" number = length(entry)\n",
" count = collated_sequences[i][2]\n",
"\n",
" new_entry = DataFrame([[number], [entry], [count]], [\"block_numbers\", \"block_array\", \"Count\"])\n",
" append!(analysis_dataset, new_entry)\n",
"end\n",
"\n",
"sort!(analysis_dataset, :Count, rev=true);"
]
},
{
"cell_type": "code",
"execution_count": 65,
"id": "2d63e0bd",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1092492, 13)"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Looking at positional composition - single incorporations\n",
"one_cycle = filter(row -> row.block_numbers == 1, analysis_dataset) #creates a subset\n",
"\n",
"# Creates a frequency table\n",
"library1 = zeros(Int64, size(design, 1), 1)\n",
"for i = 1: size(one_cycle.block_array,1)\n",
" library1[one_cycle.block_array[i][1]] += one_cycle.Count[i]\n",
"end\n",
"library1 = library1./sum(library1)\n",
"sort!(design, :ID)\n",
"\n",
"# Summary: (total number of reads, number of different sequences)\n",
"Cycle1 = sum(one_cycle.Count), size(one_cycle, 1)"
]
},
{
"cell_type": "code",
"execution_count": 64,
"id": "02d64523",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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hFDXwy967fbt21paWqqqqkTK/v37RUVFEUKLFi26evWqubk5QujNmzckEmncuHGsZefOnTt37lyEEJPJvH79+vbt27ttzsjICAdCLDMzMzk5eeTIkcRJuQsXLjQwMPjtt99wHzopKSlpbGwUFRVNSEjQ0dEhjgVBCL1+/To9PV1ZWdnGxob1lCwGgxEfH29paUkc6puQkIBPKBQXF8cb6zU0NMjJyb169QpvoHf9+nWcc/HixVJSUh8/ftTW1mb7dUxMTHANTU1NFArl/fv3urq63f4IAADwTfVu0+1v1JkeYj+APX78eExMjJWVVUVFxcGDB3HitWvX1NTU+BgIb926ZWdn1zW9tbX148ePxCHsJBK33yg+Pr6+vn769OndNrd582ZilPno0aO1a9cWFxfPmzePOPtDUVFRSUnpyZMnbItHRkbOnj178eLFJSUlK1asICYT/f777zNnznz//v3Bgwft7e1ZR2YCAgK7d++OiIjAb58/fz5v3jy8XSxBREREQECg65PXpKQkaWlpJSWlbr9XZmamsLCwnJxctzkBAAB0xf7Bko2NTXl5+YcPHzQ0NCQlJXGitbX15MmT+dh2enq6u7s7a4qenh6JRKqoqBg3bty6det6UklgYKCnpyfbMRwXLS0tr169EhISWrhw4ZgxY5YtW0ahUHAH0tLS8CFYXdXU1Lx8+VJMTGzVqlVaWlorV64UERHZt2/fmzdvtLS06HS6gYFBaGjovHnziCI+Pj7+/v4eHh4IofPnzy9duhTfYW5tbfX3929ra7t586axsTE+QASbMWPGkydPqFTqrVu3Bg4cyOkrhIWFxcfHt7e319TUnDt3bvDgwZxydnR0IARbrAEAvhaNRut2OgIT8bx8os+xHxF++PBBXFx89OjRRBRECFlbW/PxASFCqKGhgbV+hFBycvKrV69SU1NFRUU7TWZhq7Gx8ebNm4sXL+a16QkTJuCApKWlJScnl5WVhdMlJSU7nYnFyszMDM9ekZeXHz58+Js3b969ezdkyBAtLS2EEJlMtrW1ZX2QiRByc3PLycnJyspqbGy8du2al5cXTqfT6fn5+dnZ2VlZWevWrWP9u3Xp0qU3b97s27fP3d29srKSU2dcXFzwbxUREbF58+bXr19zyon3nwUAgK/E+uiHEyaDhNfU8/T6Dp3ngn3zM2bMwE8EWT158sTV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",
"image/svg+xml": [
"\n",
"\n"
],
"text/html": [
"\n",
"\n"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Graphical representations of the coverage\n",
"\n",
"# Table\n",
"summary1 = Table(Block = [string(block) for block in design.Description], Pos_1 = library1[:,1])\n",
"CSV.write(\"1block_assemblies.csv\", summary1)\n",
"\n",
"# Heatmap\n",
"heatmap([\"Pos_1\"], \n",
"[string(block) for block in design.Description], library1\n",
", xlabel = \"Cycle\" , ylabel = \"Building blocks\", clims=(0,0.5), show_empty=false)"
]
},
{
"cell_type": "code",
"execution_count": 66,
"id": "cbc26b6a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1192895, 168)"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Looking at positional composition - 2 block incorporations\n",
"two_cycle = filter(row -> row.block_numbers == 2, analysis_dataset) #creates the subset\n",
"\n",
"# Creates a frequency table\n",
"library2 = zeros(Int64, size(design, 1), 2)\n",
"for i = 1: size(two_cycle.block_array,1)\n",
" for j = 1: size(two_cycle.block_array[i], 1)\n",
" library2[two_cycle.block_array[i][j], j] += two_cycle.Count[i]\n",
" end\n",
"end\n",
"library2 = library2./(sum(library2)/2)\n",
"\n",
"# Gives a warning message is a block is not represented\n",
"if 0 ∈ library2\n",
" println(\"Some blocks are absent\")\n",
"end\n",
"\n",
"# Summary: (total number of reads, number of different sequences)\n",
"Cycle2 = sum(two_cycle.Count), size(two_cycle, 1)"
]
},
{
"cell_type": "code",
"execution_count": 67,
"id": "d57f4d1c",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"image/svg+xml": [
"\n",
"\n"
],
"text/html": [
"\n",
"\n"
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Graphical representations of the coverage\n",
"\n",
"# Table\n",
"summary2 = Table(Block = [string(block) for block in design.Description], Pos_1 = library2[:,1], Pos_2 = library2[:,2])\n",
"CSV.write(\"2block_assemblies.csv\", summary2)\n",
"\n",
"# Heatmap\n",
"heatmap([\"Pos_1\", \"Pos_2\"], \n",
"[string(block) for block in design.Description], library2\n",
", xlabel = \"Cycle\" , ylabel = \"Building blocks\", clims=(0,0.5), show_empty=false)"
]
},
{
"cell_type": "code",
"execution_count": 73,
"id": "6ce04ac7",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1388113, 1469)"
]
},
"execution_count": 73,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Looking at positional composition - 3 blocks\n",
"three_cycle = filter(row -> row.block_numbers == 3, analysis_dataset) #creates subset\n",
"\n",
"# Creates a frequency table\n",
"library3 = zeros(Int64, size(design, 1), 3)\n",
"for i = 1: size(three_cycle.block_array,1)\n",
" for j = 1: size(three_cycle.block_array[i], 1)\n",
" library3[three_cycle.block_array[i][j], j] += three_cycle.Count[i]\n",
" end\n",
"end\n",
"library3 = library3./(sum(library3)/3)\n",
"\n",
"# Gives a warning message is a block is not represented\n",
"if 0 ∈ library3\n",
" println(\"Some blocks are absent\")\n",
"end\n",
"\n",
"# Summary: (total number of reads, number of different sequences)\n",
"Cycle3 = sum(three_cycle.Count), size(three_cycle, 1)"
]
},
{
"cell_type": "code",
"execution_count": 69,
"id": "47270945",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"image/svg+xml": [
"\n",
"\n"
],
"text/html": [
"\n",
"\n"
]
},
"execution_count": 69,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Graphical representations of the coverage\n",
"\n",
"# Table\n",
"summary3 = Table(Block = [string(block) for block in design.Description], \n",
" Pos_1 = library3[:,1], Pos_2 = library3[:,2], Pos_3 = library3[:,3])\n",
"CSV.write(\"3block_assemblies.csv\", summary3)\n",
"\n",
"# Heatmap\n",
"heatmap([\"Pos_1\", \"Pos_2\", \"Pos3\"], \n",
"[string(block) for block in design.Description], library3\n",
", xlabel = \"Cycle\" , ylabel = \"Building blocks\", clims=(0,0.5), show_empty=false)"
]
},
{
"cell_type": "code",
"execution_count": 72,
"id": "3f65d7ae",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1123853, 6176)"
]
},
"execution_count": 72,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Looking at positional composition - 4 blocks\n",
"four_cycle = filter(row -> row.block_numbers == 4, analysis_dataset)\n",
"\n",
"# Creates a frequency table\n",
"library4 = zeros(Int64, size(design, 1), 4)\n",
"for i = 1: size(four_cycle.block_array,1)\n",
" for j = 1: size(four_cycle.block_array[i], 1)\n",
" library4[four_cycle.block_array[i][j], j] += four_cycle.Count[i]\n",
" end\n",
"end\n",
"library4 = library4./(sum(library4)/4)\n",
"\n",
"\n",
"# Gives a warning message is a block is not represented\n",
"if 0 ∈ library4\n",
" println(\"Some blocks are absent\")\n",
"end\n",
"\n",
"# Summary: (total number of reads, number of different sequences)\n",
"Cycle4 = sum(four_cycle.Count), size(four_cycle, 1)"
]
},
{
"cell_type": "code",
"execution_count": 71,
"id": "f86c4c53",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"image/svg+xml": [
"\n",
"\n"
],
"text/html": [
"\n",
"\n"
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Graphical representations of the coverage\n",
"\n",
"# Table\n",
"summary4 = Table(Block = [string(block) for block in design.Description], \n",
" Pos_1 = library4[:,1], Pos_2 = library4[:,2], Pos_3 = library4[:,3], Pos_4 = library4[:,4])\n",
"CSV.write(\"4block_assemblies.csv\", summary4)\n",
"\n",
"# Heatmap\n",
"heatmap([\"Pos_1\", \"Pos_2\", \"Pos3\", \"Pos4\"], \n",
"[string(block) for block in design.Description], library4\n",
", xlabel = \"Cycle\" , ylabel = \"Building blocks\", clims=(0,0.5), show_empty=false)\n"
]
},
{
"cell_type": "code",
"execution_count": 75,
"id": "e161ce23",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(603441, 11546)"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Looking at positional composition - 5 blocks\n",
"five_cycle = filter(row -> row.block_numbers == 5, analysis_dataset)\n",
"\n",
"# Creates a frequency table\n",
"library5 = zeros(Int64, size(design, 1), 5)\n",
"for i = 1: size(five_cycle.block_array,1)\n",
" for j = 1: size(five_cycle.block_array[i], 1)\n",
" library5[five_cycle.block_array[i][j], j] += five_cycle.Count[i]\n",
" end\n",
"end\n",
"library5 = library5./(sum(library5)/5)\n",
"\n",
"\n",
"# Gives a warning message is a block is not represented\n",
"if 0 ∈ library5\n",
" println(\"Some blocks are absent\")\n",
"end\n",
"\n",
"\n",
"# Summary: (total number of reads, number of different sequences)\n",
"Cycle5= sum(five_cycle.Count), size(five_cycle, 1)"
]
},
{
"cell_type": "code",
"execution_count": 76,
"id": "f7846016",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"image/svg+xml": [
"\n",
"\n"
],
"text/html": [
"\n",
"\n"
]
},
"execution_count": 76,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Graphical representations of the coverage\n",
"\n",
"# Table\n",
"summary5 = Table(Block = [string(block) for block in design.Description], \n",
" Pos_1 = library5[:,1], Pos_2 = library5[:,2], Pos_3 = library5[:,3],\n",
" Pos_4 = library5[:,4], Pos_5 = library5[:,5])\n",
"CSV.write(\"5block_assemblies.csv\", summary5)\n",
"\n",
"# Heatmap\n",
"heatmap([\"Pos_1\", \"Pos_2\", \"Pos3\", \"Pos4\", \"Pos5\"], \n",
"[string(block) for block in design.Description], library5\n",
", xlabel = \"Cycle\" , ylabel = \"Building blocks\", clims=(0,0.5), show_empty=false)\n"
]
},
{
"cell_type": "code",
"execution_count": 77,
"id": "23259459",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(125757, 7145)"
]
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Looking at positional composition - 6 blocks\n",
"six_cycle = filter(row -> row.block_numbers == 6, analysis_dataset)\n",
"\n",
"# Creates a frequency table\n",
"library6 = zeros(Int64, size(design, 1), 6)\n",
"for i = 1: size(six_cycle.block_array,1)\n",
" for j = 1: size(six_cycle.block_array[i], 1)\n",
" library6[six_cycle.block_array[i][j], j] += six_cycle.Count[i]\n",
" end\n",
"end\n",
"library6 = library6./(sum(library6)/6)\n",
"\n",
"\n",
"# Gives a warning message is a block is not represented\n",
"if 0 ∈ library6\n",
" println(\"Some blocks are absent\")\n",
"end\n",
"\n",
"\n",
"# Summary: (total number of reads, number of different sequences)\n",
"Cycle6 = sum(six_cycle.Count), size(six_cycle, 1)"
]
},
{
"cell_type": "code",
"execution_count": 78,
"id": "ee71ff75",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdeVzM+f8A8Pc03TqMdKdSqRRCh250Uo5QIblKyLrv3VjWlWP5rpuo5FgVCSGUkghRIZ0o3aX7oJpm5vP74/Pdz2++08zUzE5FXs/H/PGZ97yvGbve3jcJwzAEAAAA/KyE+roCAAAAQF+ChhAAAMBPDRpCAAAAPzVoCAEAAPzUoCEEAADwUxPu6woAAAAA3FRWVoaGhjY2Nk6bNs3S0rJzhKCgIOLZ0NDQysoKf87Pz79y5QqDwfDy8ho+fDin/KFHCAAA4PvV2NhoZmZWUFAgLy8/derUe/fusUTAMGzZsmXZ2dkFBQUFBQU1NTV4+IcPH8zMzGg0mrCwsLm5+fv37zkVQYJ9hAAAAL5bJ06cuH79+uPHjxFCZ8+evXz5cnJyMnMEDMOEhITq6uooFApz+KpVq6hU6tmzZxFC69evb2xsDA4OZlsE9AgBAAB8v5KSkpycnPBnJyenZ8+eUanUztGCg4NPnDiRkZHBKWFSUhKnIqAhBAAA8P0qLy9XUFDAnxUVFTEMq6ysZIkzfvz4qqqq9+/fT5gw4cCBA3hgRUUFc8Ly8nJORcBimf5v9erVCxYsFBYW/J81hmH4oITAc/4HqYfyZTAYPVntntLD1e6pWRL4tXtTj1Z79GijbsRqwhCdp2zz8j7+vv0QS6Cjo6Ofnx9CSEREhEaj4YH4g4iICHNMEomED5wihObPnz9hwoTly5fLysoKCwszJ2RJxQwawv4vODj0+PHTfV0LfggJifd1FX4iGMZmuOkH8GOucsB67J8dPQrDOrqMw8CeYqiep2yzs9M+f/68adMm5sARI0bgDyoqKkRnrqysTFhYmOjndWZhYYEQKikpkZWVVVVVZU6ooqLCKRU0hAAAAASGgdExROMpCYboqqqqHh4ebD+dMmXK/v37t2/fLiIiEhUV5eLiQiaTEUIZGRkKCgqqqqrt7e1iYmJ45Pv374uIiAwdOhRPeP369Xnz5iGEoqKipk6dyqkC0BACAAAQGAzRMYy3oVEMY3D51N3d/eTJkxMmTNDW1r53797Dhw/x8OXLl8+dO3ft2rXh4eF//vnnmDFjGhoaHj9+fPz48QEDBiCEVqxYYWlpOWXKFFFR0bS0tOfPn3MqArZP9H8DBkh/+9bW17XgBwyN9iYYGu1N/XhotINxE8PqeMr29q2MK5dKo6OjOebZ0fHo0aO6ujp7e3tFRUU88P3794MHD1ZSUqJSqa9evSosLJSWljYzM1NWViYStrS0xMXFMRgMR0dHGRkZTvlDQ9j/QUMIugMawt7UjxvCdnoUhtXylG3MrTd/X67g0hD2NBgaBQAAIDgYHcN4niPsobp0EzSEAAAABAZj0HhuCBnc5gh7wY+3SwYAAAAQoL7vER4+fNjT03PIkCEfP378/PkzQohMJqurq2traxNx2traMjMzm5qa7O3t8RA6nZ6YmMicz9ChQ5mTEB48eFBYWLh8+fKqqqodO3acOXMGIeTv779161YNDQ3mmOnp6ZmZmQsXLuRU1bS0NOI4V4SQnJyciYkJ/tzR0ZGUlGRoaMg8T4vLyspqaWkZN24cS3hzc/PLly9NTEwGDhyIh9TV1b1//97W1hZ/W1FRkZWVZWVlJSEhwZI2Pz+/uLgYIUQmkzU1NfG1wgAA0OcwGBrl1evXr69fv75hwwaEUGho6OXLl8eNG9fW1paammpvb3/p0iUhIaHnz59PmDBBQUGhqqqKOGKuo6ODOEcHIZSYmHj69Gm2DWFubm5aWtry5csZDEZTUxMeePfu3eXLl7M0hIaGhnPmzHF0dOS07/LXX38tKysjWp3Ro0cTDeG9e/dmzpzp4+Nz7tw55iQYhk2bNq2ioqKkpEROTo75o5CQkPXr1+/atSsgIAAPefPmjZeXF356UF5enqOjo6+vr4ODQ+eanDlz5ubNmyYmJq2trS9fvpw6der58+dJpJ46hwUAALoJQzw3hIjH7RYC18dDo//5z398fX2JtzY2NpGRkbdv387MzIyMjMzOzkYIjRw5srq6muXqDXFx8bh/BAYGioqKctqMSZCXlz948CBzSH5+/suXL9vb2/G3YmJis2bNwo8q52TJkiV3/rFnzx4iPDQ0dOPGjZGRkS0tLczxHz9+TCaTnZ2d//77b5asLly4sGnTpuDg4M4Ld7Oysuzt7Tds2LBjxw5ONbG3t4+MjIyJiUlPTw8NDS0oKOBSbQAA6B0Yg8b76yduCDs6Om7duuXi4tL5IzqdjhDCN0VKSUlx2f+BEAoJCfHw8CAGGDn5/PmzkdH/H5S3c+dOfIB0zJgxxDE8Li4ukZGRvH6Rqqqq+Pj4TZs2jRkz5saNG8wfhYaGLliwYOHChaGhoczhaWlp5eXlu3btIpFILFeKvHr1ys7Obs+ePWvWrOlO6fjRgp2HTwEAAHRHXzaEWVlZEhISzOOQjx49cnR0tLOzMzIyOnjwYHemvlpbW8PDw318fHgtXUlJ6dGjR4mJiVZWVkTfzsjIKC8vr7GxkVOq06dP2/8Dn25ECF26dMnZ2Xnw4MEsDV5TU9ONGzfmzZvn6upaWlr65s0b4qPQ0FBvb29RUVFvb2/mJA0NDRMnTjxx4sSiRYu41z82Nhb/rUxNTY8dO8blGD3i2FkAAPg3GN1Z3onREUbj7YX6eNVoX84RVldXs9yjaGBgsGXLFoTQ+/fvDx06NGXKlGHDhnHPJCoqikKhEAtMus/T05N4WL9+Pf4sIyNDJpOrq6tlZWXZpnJyciLGYIcMGYI/hIaG7tu3DyHk4eGxZs2ajx8/6ujoIITCw8PNzMzw5nzOnDmhoaFHjx5FCFGp1IiIiPj4eITQokWLRo0adfToUbzXKykpaWRkFBwcPHXqVHFxbtvJR40ahVf7zZs3gYGBLi4umpqavP4IAADQfd06gIWPxTI/8xyhlJTU169fmUOUlZUdHBwcHBzWrl1ramrK6TZhZsHBwUuWLOFjnQhxSKuYmFhb238PXmlvb6fRaNLS0pxSaWtrj/+HlpYWQujly5fZ2dm///67iYnJhAkTGAxGWFgYHjk0NDQnJ8fExMTExOTOnTtXrlzB5yOjo6Pr6up8fX1NTEw8PDza2tquXbuGJxEVFb17925HR8f06dNbW1u51F9VVRX/rTZu3GhgYEAU2llPXMAEAPgJ4adddwGjIwaNt9fP3BAaGBhUV1cTKzmZYRhWWlra5bxXYWHh06dPvb29+Sg9JSWFeBg1ahT+nJeXp6CgwOWOj85CQkIWL14cHR0dGRkZGRl5/vz5sLAwOp2ek5Pz9u3bR48e4eHx8fGKioq3b9/GkwQEBET+IzAwMCQkhMhQUlIyJiaGRqO5ubkRLTQXDAajrKwM5ggBAIA/fdlXkJWVtbCwSE5OdnV1xUNevny5bNkyOp3+5s2bpqamZcuWIYSam5s3btxYV1dHp9OXLVtGoVD279+Pxw8ODnZ2diaGKHly6dKlb9++MRiMkydPxsbG4oGPHz92cXHh0r8MDw9/9+4d/qyiorJt27bIyMh79+7hvUOEkKam5saNGx89ehQXFzd16lQDAwMi7bx580JDQy0sLBITE4ODg9XU1PBwX1/fbdu25ebmEjHxtnDq1KnTp0+/desW2zHSp0+fLlu2jEajpaenYxjGxywpAAAIHoOGGF0fSfq/Sfq4R9jHh25HRETcuHEjIiICIfT+/fucnBw8XElJycLCAh/Ta29vxztSOAkJiSlTpuDPCQkJampqurq6XIrIy8urra21tLRsaWmJjY3FZ/ju3r1rbGwcExNTW1vr5uamr6+PRzY1NT116pSpqSnbrBISEoj1peifhjwpKWnmzJnMbWdKSoq0tHRVVZWmpiY+WYirqal58uSJsbFxVlYWy1rZ+Pj4oUOHSktL45sC8cCvX7/eu3dv7NixnfdHvn37Nj8/H39WUVExNzfnMmQBh26D7oBDt3tTPz50+2vjITq9vMtozO7c+3QtityHh273cUPIYDDs7e2Dg4OJHlUfevLkSVBQ0OXLl/u6IgIGDSHoDmgIe1N/bggb9tNpZTxle+dewbVo0Z/39gkhISGWk9L+jXPnzj148IA5xNXVdfHixd1MbmtrS6w+XbRoEcvW+H379nHvevaQ7du3Ex1lnL+/P3HUHAAAgH+pX60nnDZtmo2NDXPIoEGD+MsqICAA39RPUFdX579m/4Kfn9+3b9+YQzofZwoAAN8LBh0xfrAj1vpVQ6ioqEhcXvwvdbl/sdf0VQMMAAD8wDfU85bkJ95QDwAAoL/BaCQee4Skvu4Rwn2EAAAAfmrQIwQAACA4DAbP+wL7+oZ6aAgBAAAIDIlB/+GGRqEh/CmQ0A95Z+8KhR/yuJzolsy+rgI/yEikr6vAD2Ek2tdV4EdBy/2+rkKPweg89wj7erEMzBECAAD4qUGPEAAAgODwsY+wGz1I/IYGLS0tPu4a6hL0CAEAAAgMiUHn9cV9aBTDsJUrVxoYGLi4uIwePbqiooJTzEOHDpFIJOKYzAMHDoiLiw/6R3FxMaeE0BACAAAQIN5vqOe6WCYhIeHmzZs5OTl5eXnGxsY7duxgGy0/P//KlSvMF/4ghBYsWFD3Dy6Hk0BDCAAA4PsVHh7u6ek5ePBghJC/v394eHjnuyIYDIafn9+RI0c6X1rX0NDQZRHQEAIAABAYEoPB8+go16HRwsJC4io6HR2d5ubm2tpaljgnT540MDCws7NjCb948aKWlpaUlNTmzZsZnHcrwmIZAAAAgsPgZ/vEly9f4uPjmcOGDh2Kt38tLS0SEhJ4oKSkJEKoubkZ7yDiioqKTpw48fLlS5Zcvby8Vq1aJSkpmZeX5+zsrK6uvnLlSrbl92BDmJ+fP2TIEOILCFx5ebmwsLCCgkJzc3NVVZWOjg6DwcjIyBgzZoyQ0P/0dIuLi6WlpSkUSg/VRIDevXtnaGiI37Lb2tr66dMnWVnZIUOG9HW9AACgW0gYg8RjQ0hiMD58+HDgwAHmwOnTp+PtlqKiIjG8WVdXh4cwx9y2bZuRkVFkZCRCqKamJjExUVNT09ramvibU09Pb+nSpXFxcZwawp4aGi0pKfHw8MCvmN+6dauJiYmJiYm5ufn8+fOJ2/UyMzN/+eUXa2tr/NZ4XH5+vsn/YrlikBAYGHj27FmE0LNnz7y9vRFCVCrVxMSkrY31EtrMzMylS5dyr3BERISZmZmsrKyGhsbs2bMzM/+7JzojI2PatGny8vLy8vITJky4efMmPz8HZ7du3crIyCDeGhkZNTU1IYRycnJ0dXXXrl1769atzqmOHDmC/zhmZmaenp6pqamCrRUAAPQmKyuruP9FNFqjR49+8eIF/vzixQs9PT28X0gYN24chUJJS0tLS0v79u1bYWFh5wWi1dXVUlJSnErvqR7hnj17li5dKiIighAqKCiwsrJas2ZNa2vruXPnJk2a9PnzZxKJVFtbq6KiIi0tffv2bSKhpqYm3rAjhLKzs2fNmmVsbMy9LBsbm/DwcC4RXF1dN2/e/O7du1GjRrGNcOzYsT179pw6dcrR0fHbt2/37t27evXqyJEj09LSJk6cuHnz5tOnT8vIyLx48eLkyZNubm68/RZcXb16dfz48WPGjMHfZmdny8rKIoRu3Lgxffr0EydOsE1VWlqqra0dGBjY3t4eHR3t6OhYWloqLS0twIoBAAA/+Boa5fKhr6/vyJEjz58/r6+v/9tvv61atQoP9/T0nDJlyoIFC5j7ea9fv/bx8fHy8kII7d69e+TIkQoKCikpKWfPnr1z5w6nInqkR9ja2nr16lVPT08ihEKhaGlpGRoarl+/vri4GO/0TJgwISAgwMzMjDmtqKio1j8SExOnT5/OPBbM1sePH8+fP0+8ffLkibOzs5OTE3NfytPTMzg4mG3ypqamgICA06dPu7u7y8rKKisr+/r67t27FyH066+/zp07d9u2baqqqtLS0o6OjtHR0WwzuXHjxpkzZ3bs2GFubu7r69vU1BQSEmJjY+Pu7l5UVITHqa2tXblypbW1tZeXV3Z2NkLo7t27KSkp58+f9/T0DAoKQgj98ccfra2tFy9evHz5cnx8vKenZ3p6OtsSZWRktLS0hg8fvmnTppaWFi5bZAAAoPfwsViG66Hb6urq9+7du3fv3vbt2/39/VesWIGHjxo1qvMt5TNnziRukx04cOD58+e3bt367t27hw8fdl5KQ+iRHuHLly+VlZXl5eWJkIKCgvj4eCqVeunSJVdXV7zTwx2VSr18+XJYWFiXMSsqKuLj4/fs2YO//euvv44ePVpSUuLl5aWoqGhubo4QsrKyWrt2Lafatre3s/TzSCRSR0dHUlLS5s2bWcLZZpKTk3Po0KEjR46EhoauWbPG3t7e0dHx3Llzp06dWrFixd27dzEMmzx5spmZ2YULF+Lj462trfPy8kxMTPT19Y2Njd3d3fH2PiIi4vTp03Z2domJiQwGY/Xq1cRyKRZlZWXx8fE0Gi0mJmbs2LF6enpd/lAAANDjMAbPt0l02g7BwsrKysrKiiVw27ZtnWMGBAQQz6tWrSK6j9z1SEP46dMnlq2LaWlpbW1t3759y87OXrNmTXcyiYmJERUVdXR05LX0Xbt26evr6+vrL1++/Ny5c3hDOGTIkE+fPrGNX1NTo6CggK9PYdbU1ESlUpWUlLpZro2NjY+PD0LIz89v/fr1e/fuJZFIa9aswbu8aWlphYWFT58+FRUV1dHRiY6Ovnr16urVqwcNGqSurs4y/KumpqakpMRgMLgMC+fm5gYFBbW1tWVlZXl5eXE5dqitrQ39mIduAwC+KzQaDV/50c/0yFei0+ks6zY9PDx27tyJEGpoaNDR0Rk1atTEiRO5ZxISErJ48eLO7VOXiH7xsGHDiClWYWFhGo2GYVjnBkNOTq66uppOp7OUJSMjIyIiUllZOWLEiO6Uq6amhj9ISUmpqKjgBUlJSTU3NyOEioqKNDU1RUX/e1K+np4eMWTKH3t7+3PnziGE2tvbR44cqaurO3/+fLYxxcXFW7+1/5uyAAAAIdSdVpDEx32E/fL2CTU1taqqKrYfDRw4UFVVNTc3l3sOZWVlDx8+XLhwIR+lEyfRVVRUKCgoEM9qampsu03m5uaioqLMC3YQQhiGiYiI2NraRkVFsYRzKpc5884FKSoqVlZWEsnLy8vxFcAkEolLnt0hJiamo6PT5U8KAAC9Ab+GibdXf2wILSws8vPzv337RoTU19cXFBTk5OScOHEiLy/PxsYGIdTW1lZQUFBVVUWlUgsKCpiPUr1w4YKtrS2n6THu9u3bR6VSS0tLg4KCiAU7r1+/xgvtTEZG5o8//vD394+Ojm5ubq6urr5w4cL27dsRQoGBgZcvXw4MDKysrPz27VtiYqK7uzsfVUIImZmZiYqKnjp1CsOwp0+fPnz4cObMmQghVVXV9PT06upq5p+rO5qamgoKCvLy8i5fvpyYmNhlDxsAAHoD3iPk6dXXPcIeGRqlUCjOzs4xMTGzZ89GCGlpacXHxz979kxISEhDQyM2NhYfbMzLy/P19UUIDRw40NPT08TE5MyZM3gO796947TzkaCqqjpo0CCEkLS0tI6ODkJISEjI2NjY2tp6+PDh7e3tK1asmDZtGh45KioKH5tla/369UpKSvv27fP29qZQKJaWlvg0rKmp6ePHj3fs2HHo0CGEkKGh4bp169jmoKysTIysysrK6uvr488iIiJjx45FCOGdzpUrV+7evVtRUfHvv//G67xmzZqNGze6uLi4ubkFBASMGjUKH3xQVVXlciCQmprakydP8GZeVVX16tWrDg4O3H8uAAAAbP3bcTlOUlNTN2zYkJyc3BOZ8yojI2PFihUpKSk9cZHV92/AAOkfdI7wFyX/vq4CP+CG+t4EN9T3Jgzr6DJOxztP7Fs+T9neftJ45floTpvTekFPrf8xMzNbt25dc3OzQHZ55+XlNTY2ModoamoS839dolKpoaGhJBKJRqN13pY3duxYntZBff78+cuXL8whSkpKXC74+JdycnLw5TaEoUOHMm9NAQCA7wjG+2KZvp4j7MGFsPgcmEDExMTgO9AJ3t7eXHZHshg3bhz+0N7eToy+Eo4dO8bl6J3Onjx58vjxY+YQJyennmsIb926lZ//P/+8WrRoETSEAAAgKD01NAq+HzA02stgaLQ3wdBob+rW0GjGTOxrHk/Z3k5uvpJq3A+HRgEAAPyESAyM16FO7kes9QJoCAEAAAgOJuBDt3sB3FAPAADgpwY9QgAAAILD+9Bol4du9zRoCPu/0QNGmsma9nUt+HG04lRfV4EfP+jyM9KPejL7D/l7027L9XUVegwft08woCEEAADQX5AEfTFvL4A5QgAAAD816BECAAAQHH7mCGH7BAAAgH4D5ggBAAD81H7AHiHMEQIAAPipQY8QAACA4DBgaBQAAMBPjcH7UCc0hAJy4cKFgQMHurm5VVZWEhcCUygUGxsbMTEx/G1zc3N6evqXL1/s7Ozk5P67oTU+Pr6+vp7IR15efsKECZ3z//Tp065du8LCwhBCXl5egYGBGhoagYGBw4cPd3NzY45ZX1+/YcOG4OBg7vcAv337NjExsaWlRVNT08nJSUFB4fr1621tbSzRLCwstLW1O6fF72YikUgaGhqmpj/kfnkAQD/ExxwhHLotEA0NDbt27Xrz5g1C6M2bNz4+Pl5eXhiGZWVllZWVPX/+XFlZmU6nDx48WF9fPycnJykpycLCAk/78uXL4uJi/Dk2NtbJyYltQ9jU1JSUlIQ/KyoqioiIIISysrI632VIoVDa29sjIiLmzJnDtrYMBsPf3z8qKsrDw0NFReXBgwfr16+PiIhISkrC7+C9ceOGiYkJfsehhoZG54YwLCwsNjbW1taWSqU+efJkxIgRN2/e5N7uAgAAYKufNIRhYWEODg4yMjL4WwqFcvbsWfzZ1NQ0Kipq5cqVZDK5oaFBQkJi0KBBzGkDAgLwh69fv4aHh/v4+HRZnI+PD3Mm+fn5WVlZpqamampqeIivr+9vv/3GqSE8c+bM7du3MzMzlZWV8ZDy8vLm5ubjx4/jb589e7Zy5UruNxtbW1vj37GmpkZRUfHjx4/Dhg3rsuYAANCz+Jgj7Oqs0efPn//555+NjY1ubm6//PILp3/0p6ennz171sfHh7iM/datW0FBQQwGw9fX193dnVP+/WTV6I0bN5ydnTuHt7a2NjU1DR48GH8rISHBJZNr164pKysTPUUunJ2dP336RKRatmxZbGzs2LFjY2Nj8UAbG5vMzMyysjK2yYODg1evXk20ggghFRUVPT29Lstl68uXL2QyWVZWlr/kAAAgSPg+Qp5eXBvC0tLSSZMmOTk5bd++/fjx42fOnGEbjUqlLlu27ObNmx8+fMBDUlJSFi1atGTJkl9++WX58uWPHj3iVEQ/6RGmpaUZGhoSb6uqqkxMTBBCBQUFU6ZM8fDw6E4mwcHBvr6+vA4w0mi0x48fCwkJTZ48efXq1fifgYiIiJ6e3uvXr1VVVTsnyc/PNzAwwJ/Ly8srKioQQgoKCkOGDOl+uTdv3szIyOjo6CgsLDx16pSCggKXGvaXP2cAQF+i0+lkMrmLSAzeV4FyjR8cHOzo6Lhs2TKE0L59+7Zt2+bv79852t69e6dNm3bz5k0i5MSJEytWrJgxYwZCaP369cePH7e3t2dbRH/oEba1tX39+nXgwIFEiJycXGRk5NWrV8PDw1NTUy9dutRlJvn5+S9fvvT29ua1dFdXVyEhIfyhoKCgtrYWD6dQKMQzCyEhIcY/Qwfx8fFbt251c3M7cuQIT+Xa2dlFRkaGh4cfO3YsICAgNzeX15oDAABP+mQhQnp6OjFQZ2FhkZub++3bN5Y47969u3PnzpYtW5gDMzIymBOmp6dzKqI/NITi4uJiYmL4MhOcsLCwlpbWsGHDnJyc/P39T58+3WUmISEhrq6uzMOV3UT8l0EikUgkEo1Gw982NTUxt83Mhg8f/u7dO/x5wYIFcXFxU6ZM4bVcGRkZLS2t4cOHL1q0yNjY+O+//+YUU1gY+oMAAAHA/9HfBV7HRbsaGq2qqqJQKPgzvjijqqqKOQKNRvPz8zt+/LioqCinhHJyciyp/ud7df2tfgRGRkacukTZ2dksq2M6o9Foly5d6s4ymc4SExPxh6SkJGVlZUVFRYQQg8HIz88fPXo02yTLly8/fvx4QUEBH8V1RqVSP378SPx5AwBAX8IwxODxhWFxcXHa/2v79u14ftLS0q2trfgz3hck1kXiDh8+bG5ubmlpyVIRKSkpIuHXr19ZUjHrJ32FqVOnJiQkTJ06FX9bW1vr6emJYVhBQUFlZeXt27fxcB8fn5KSkpaWljVr1sjKyl68eBHvAt67d4/BYEyaNImPomtqambOnGloaHj+/Pn//Oc/eOCrV6/U1NS0tLTYJlm0aFFOTs6YMWMmT56soaFRWlqanJx88OBBnsp99OiRp6cnlUp98+aNmprakiVL+Kg8AAAIGF/7CC0tLVlWweCdCoSQhoYG0W0oKCiQkpJi6dskJyffvXv32LFj+Nv58+enpKScOnWKJSG+IY0tEtbVutUfQkVFhaWlZU5Ojri4eG1tbUZGBh4+aNAgQ0NDYkP98+fPv379SqSysrLC15F++PChtbV11KhRXIrAN+OPHz8eIfT48WMTExMpKan379/LysoWFhZmZ2dbWFgYGRnhkf39/UeNGsV2Rpfw+fPnJ0+etLS0DB061NLSknnZZ3Jysq6uLvHfQWf5+fn43kcSiaSqqqqvr8+lICsFSzPhH3LHPdxQ35vghvre1PFj3lBPnlrZZRz6nXFY/Tuesr2VRr9c5BodHc320/j4+MWLF799+3bQoEF+fn4Yhp0/fx4h9Pfff+vr648dO5Y5srGx8bp16/DVHidPnrx06XX50TMAACAASURBVNKTJ0/IZLKDg4OLi8umTZvYFtFPeoTKysp+fn43b96cM2eOnJycg4MD22ictkZ0ZweetLQ03goihIgd9yNGjEAIDRkyxNbWlohZX1//8eNH4p8nnGhqampqarL9yMbGhntaXV1dXV3dLusMAAC9DR8a5S0Jtw/t7e2nTp06fPjwwYMHk8lkYpfa0aNH586dy9IQMvP19b13756Ojg6ZTNbR0VmxYgWnmP2kRyhYjx492r17N3PIsGHDzp07x0dW27Zte/r0KXPIsmXL5s6d2/0cVq1alZmZyRyyadMmV1fX7ucAPcJe9oP+HwU9wt7Un3uEt8ywOh57hOmMy6Uce4S4L1++NDQ0DBs2jFifSKfTSSRSl+t3SkpKGAyGhoYGlzj9pEcoWNbW1tevX2cO4Xvh5ZYtW9auXcscMmDAAJ5y2LNnT0dHB3OItLQ0f5UBAIAeh2FdnhTTOU2XMRQUFFh2S3e9oxEhhFB39mdDQ8iGmJgYMa34L0lLS//LdguOjAEAgB4FDSEAAADBYSDE62USfXz5BDSEAAAABAjjvWHr63leaAgBAAAIDPbj3cvbX06WAQAAAPgDPcL+T5KMKYjT+7oW/IEF/b0H+zGrTSJ1a+ng9yZghWdfV4Ef+6d2IxIfQ6MwRwgAAKD/4GOxTF//GwwaQgAAAILDICEGj2M5WB+P/cAcIQAAgJ8a9AgBAAAIDIaRMB57eH1+0Cc0hAAAAAQHFssAAAD4qTEQzBECAAAAP5J+0hBSqdTnz5/3aBFPnz7FL/XNzc3FL8WtrKwkbgBmlpycTKd3a99eW1sb2/D29vZ/UVMAAOgzGCaEMXh8YX3cEvWThvDo0aP37t3Dn3V1dbW1tbW1tQ0NDZcuXVpfX4+Hnzt3ztnZWVtb+8iRI0TCv/76S5uJnp4elUplW4Snp+fnz58RQocPHw4PD0cIJSQk/Pbbb51jRkREXLhwgUttGxoali1bNmjQoMGDB1MolMmTJz979gz/KDQ0VFNTU1lZWUpKytzcvLS0lG0Oe/fuJepsZ2cXFxfH7dcBAIBeg2+f4O3Vx1XuDw1hW1vbkSNHVq1ahb8tKCgICwt7/fr1zZs3P378uHXrVjxcTEzM19dXT0+PaBoRQsuWLXv9j6lTp+rq6oqKinIv7siRIytXruQSYd26dXv37uXUKaRSqQ4ODuXl5enp6S0tLcXFxQsXLsTvXM7MzFy9enVkZGRdXV1DQ8OuXbs4Vaa2ttbKyur169fPnz+fPXv29OnTGxoauFcbAAAAW/2hIYyJiRkxYgTznY0yMjIUCmXYsGFTp0799OkTHrhgwQJPT085uf+5GFpCQoJCoVAoFFlZ2Rs3bvj6+nZZ3Llz52JiYvBnBoPx22+/6enpOTk5EffIa2try8nJJSQksE0eERFRVlZ29epVTU1NhJC0tPScOXP27NmDEMrKylJTUzMzM0MICQsLOzk5sVxEyUxMTIxCoSgoKCxevLi9vb2srKzLmgMAQI/DSDy/+vowxf6wajQhIcHc3Jw55OHDh3l5edXV1adPn8bbmC7dv3+fSqW6urp2GTMnJ4dGo+HPjx8/njx5clpa2tWrV52dnT99+iQhIYEQMjc3T0xMdHR07Jw8KSnJ1tZWSkqq80fm5ubFxcXe3t7Tpk2ztbVVUlLiUo2CgoJr165RqdQ7d+7Y29sPHz68O18TAAB6FMZAGK+rRnmNL2j9oUdYWFiopqbGHPLy5cv4+PjExEQJCQkZGZnuZBISErJgwQIRERGeih4yZMiaNWukpKT8/PwUFBSIuTo1NbXCwkK2SRoaGoh+XlZWlomJiYmJyYwZMxBCmpqaqampUlJS27ZtU1FRcXNza2pq4lR0eXl5fHx8fHx8fn6+rq4ul+U5nJbkAAAAT4g+ADeYEGLw+Orr7RP9oUdIIpGw/z2ZYPv27aNGjUIIPXz4cPbs2ZWVlWJiYlxyqK2tvXPnTnp6Oq9Fq6urk0j//SPU1NQkxicxDCPCWSgoKJSXlxNJzp49m5ycfOrUKTzE0NDwzJkzCKH8/PwpU6YcPnz4jz/+YJuPtbX12bNnEUJ0Ot3IyCgsLGzJkiVsY4qLi/P6vQAAoDNh4f7QZHTWH3qE6urqFRUVbD/S0NBoaGhobGzknkNYWJixsbGBgQGvReP7KHBFRUWqqqr4c0VFhbq6Otskzs7O8fHx1dXVCKEBAwYYGxtra2t3jqarq+vk5ERMcHJBJpNVVVXxFa0AANDHGCSM11df9wj7Q0M4YcKE1NRU5pDs7Oy0tLQHDx6sWbPGzMwMH4r88OFDfHx8RUVFYWFhfHx8SUkJET8sLMzHx4ePoouLi48dO9ba2hoaGlpZWeng4ICHp6amjh8/nm2SqVOn2traOjk5PXz4sLKysrCw8PHjx3j38eHDh4GBge/fv6+rq0tISIiKirKzs+NUdE1NTVpaWkpKyn/+85+kpCQXFxc+6g8AAALGx2IZOGv035s+ffratWtra2vxFaH29vbBwcEIIUlJSQsLC2KrQ0JCwvXr10kkUlVV1YEDB3755ZchQ4YghIqKipSUlDw9u7gn09raGl/hoq+vj09JKikprV+/vqSkxNDQUENDIzY2VlJSEiFUXFxcVlbGdqUMQkhISOjGjRvHjx///fffKysrFRUVzczM7t+/jxAaOnTo9evX582b19jYqKqqun37dk7Ns66ubmZm5tatW4WEhNTU1OLi4iwtLfn68QAAQJAwjIQxeOti8Rpf4Fhn135Qe/fuZTAY27dv7+uKIITQhg0btLW1V6xY0dcV+S9HZQs7CeO+rgU/AgqD+roK/PhBr3r/Qf2gN9RvVl3a11Xgx/6SY13GaTs9gVGZxVO2MbnUcKpddHQ0pwgdHR0JCQkNDQ0TJ05ku6ksPz8/OzubSqWOGjVKX18fD6ysrGTeVzZy5EhOO7P7Q48QIbR+/frk5GSBZEWj0R4+fMgSaG9vz325DTM7OztnZ2eEUElJCbG5EDdo0CCWnR5devHiRV1dHXPIyJEj8b4sAAB8d/i5mJfbh1Qq1d7enkajaWlprVy5Mi4ubvTo0cwRioqKJk2aZGxsLCoqumLFimXLlu3duxchFBYWdvz4cWJr2eXLlxUVFdkW0U8aQgkJCScnJ4FkRafTHz9+zBJobW3d/YaQ2IxYUVHBktXQoUN5bQgzMjJYdmIMHjwYGkIAwPcJw0i87iPkvljmxo0bDQ0N6enpIiIif/zxxx9//MHSd9TQ0CgoKMCfX716ZWlpGRAQgE9Uubi4BAV1PbDUTxpCARITEzt48KBAsjIzM8OPifk3/P39BVIZAADoBRjG+yHaXBvCmJgYNzc3fJO3h4cHfoAlmcx+SJxGo0lJSRHbPOrr6x89eqSiosL9yBFoCAEAAHy/SktLbW1t8echQ4Z0dHR8+fJFWVmZJZq/v//nz5/z8/Ojo6PxuUASiZSfn3/gwIF3794ZGBjcvn2b7ZFeCBpCAAAAgsTXxbx4i8UcZmxsjG9Io9FoRP8Pf+jo6Oicx7x58yorK8PCwvbs2WNjY0Mmk9etW7d582aE0Ldv3yZOnHjgwIHdu3ezLR8aQgAAAAKD75HnNUlHRwfzvUAIIeJGPGVlZfwEEoTQly9fSCQS23OYra2tEULTp09XVFRMSUmxsbEhjsyUlJR0d3dPTEzkVAFoCAEAAAiQEOL5ol2SoaHh/v372X5ma2t78+bNX3/9FSEUHx9vYWGBj3x++/ZNRESE5YDo1tbW9vb2zkOgb9++JU7+6gwawv7veXNeYnVeX9eCH+UL9fu6CvyQdy3uOtL352vKwL6uAj9y34zo6yrww/zxmb6uAj/2o673EQrcggULDh065O/vr6ent2fPntDQUDx84sSJc+fOXbt2bURExL1790aPHt3e3n716tUJEyYYGRkhhObMmTNs2DB5efmUlJQHDx68ePGCUxH94Yg1AAAA3ws+zhrlOpQ6cODA1NTUIUOGlJaW3rx5c+rUqXj4pk2b8EMo7ezsbG1ty8rKvn79unPnzpiYGCEhIYSQn58fmUz+/PmzpaVlfn6+np4epyKgRwgAAEBg+LmPsKtDt5WVlX/77TeWQHd3d/xBXl6e7Z3q9vb29vb23SkfGkIAAAACROL5fsG+PpQQhkYBAAD81KBHCAAAQGAwhhDPt0/wvMpUwLrVECYlJaWmphobG3O5Hg8AAADAMJ4v2u3zO5DYt8NmZmZbtmzBny9fvjxhwoTNmzfb29v/9ddfvVg3AAAAPxh+lox+hzfUU6nUtLS0KVOm4G/37dvn6OjY2Ni4d+/eXbt2tbe3924NAQAAgB7EZmi0traWwWDgF/18/vw5JyfnwIEDMjIyK1asCAgIKCoq0tXVFVTx0dHRRUVFa9eubWhoOHv2LEJISEhISUnJzs6OOAWgsrLy9evXubm5kyZNGjHiv5tnb9++nZOTQ+QjJSX1yy+/dM6/tbXV2tr65cuXwsLCS5cu9fLymjBhQlBQUFNT08aNG5lj0ul0Dw+PkJCQgQMFsK149+7dQ4cO9fb2ZvtpUVFReHg4QkhSUnLYsGGOjo74AXoYhkVGRmZmZjY3N48YMWLevHn4TSKdJSQkvHr1CiEkISGho6Pj5OREnLYOAAB9CSMhXm+c53W7haCxqa60tDRCCL8M9tatW8LCwvjJ3/hJNi0tLYIqm0ajbdq0aebMmQih2trarVu3VldX19bW3r9/X09PLyUlBY/m5OS0f//+wMDA9PR0Iu3Xr1/r/xEeHn7r1i22RdDp9PT0dAzDEEJjxoyRl5dHCJWXl5eUlLDEJJPJZmZmgrqA6fPnz1VVVZw+/fjx4+7du+vr6z9//rx582ZbW1v8DNmOjo5r167JyMjo6OjgI9IMBoNtDnfu3Pn777/r6+uLi4sDAgImTpxIp9MFUnMAAPhXMBLG6wv1cUPIphshJSVlYGCwd+/etWvXnj171sbGRlZWFiH08eNHhFDnyy/4dvv2bR0dHXV1dSJkz5494uLiCKFFixZdvXrV0tISIfT27VsSiTRu3DjmtHPnzp07dy5CCMOw69evb926tcviTExM8IYQl5WVlZKSMnLkSOKm3IULFxoZGf3+++94HViUlJQ0NjaKi4snJibq6ekR14IghN68eZORkaGqqmpvb898SxaDwUhISLCxsSEu9U1MTMRvKJSSksIP1mtoaFBQUHj9+jV+gN7169fxmIsXL5aVlf306dOwYcPYfh0zMzM8h6amJgqF8uHDB339H/JAMgBAf8Lfods9VJluYt+BPXbsWFxcnK2tbUVFxb59+/DAa9euaWhoCLAhvHXrlqOjY+fw1tbWT58+EZewk0jcfqOEhIT6+vrp06d3WdzGjRuJXubjx49Xr15dXFw8b9484u4PZWVlFRWVp0+fsk0eHR09e/bsxYsXl5SULF++nFhMtH///pkzZ3748GHfvn1OTk7MPTMhIaGdO3dGRUXhb1+8eDFv3jz8uFiCmJiYkJBQ55nX5ORkOTk5FRWVLr9XVlaWqKiogoJClzEBAAB0xn5iyd7evry8/OPHj1paWjIyMnignZ3dpEmTBFh2RkaGp6cnc4iBgQGJRKqoqBg3btyaNWu6k0lISIi3tzfbPhwXLS0tr1+/FhERWbhw4ZgxY5YuXUqhUPAKpKen45dgdVZTU/Pq1StJSclffvlFR0dnxYoVYmJiu3fvfvv2rY6ODp1ONzIyCg8PnzdvHpHE398/KCjIy8sLIXTu3Dk/Pz98hLm1tTUoKKitre3mzZumpqb4BSK4GTNmPH36lEql3rp1a8CAAZy+QkREREJCQnt7e01NzdmzZwcNGsQpZkdHB0IinD4FAIBuotFoXS5HwBDP2yf6HPse4cePH6WkpEaPHk20ggghOzs7AU4QIoQaGhqY80cIpaSkvH79Oi0tTVxcnGUxC1uNjY03b95cvHgxr0WPHz8eb5B0dHQUFBSys7PxcBkZGZY7sZhZWFjgq1cUFRWHDx/+9u3b9+/fDxkyREdHByFEJpMdHByYJzIRQh4eHrm5udnZ2Y2NjdeuXfPx8cHD6XR6QUFBTk5Odnb2mjVrmP/bunjx4tu3b3fv3u3p6VlZWcmpMm5ubvhvFRUVtXHjxjdv3nCKiZ8/CwAA/xLz1A8nGIOE76nn6dULleeCffEzZszAZwSZPX36lDjkVCAoFEpjYyNzyMCBAykUyvDhw1etWnXp0qUuc7h8+fLw4cNHjx7Na9HMA5gMBoNoKhobG7l0rTqnEhISYglk+Q9FVFR00aJFwcHBly9fHj9+vIaGBh6OzxGePn367t27S5YsKS7+/4t7pKWlVVRUVq9erays/OjRI06VERMTo1AoioqKrq6uZmZmxORiZ935bxcAALrEfaIKx/NKme9gsQz7hnDo0KHTpk3DF47iUlJSJk+e3J2puO4bO3Ys0RVj8fLly+5MRgYHBxN9LJ4kJCS0tbUhhLKysurq6gwMDPDwzMxMY2NjTqmePXuGt9zFxcV5eXljxowZNWpURUVFVlYWQohKpd6/fx9fC8Ns2bJlly5dOnPmzNKlSzvnaWxsPG3atF27diGEWltbiWWiVVVVRUVFRMPJRXNzc1ZWlgDnbgEA4KfCviG8cuWKuLi4i4vLt2/fEEJv3ryZMmWKg4NDWFiYAMt2c3OLi4tjDnF1dXV0dNTT0wsJCTl9+jQeuG7dOhMTk6ysrB07dpiYmDx//hwPf/fuXU5ODr52lFfKysp2dnYrV650dnYODAzEl8WWlZXV1NRYWVlxSqWpqenk5LRq1arx48dv2bJFVVV18ODBBw8enDRpkr+/v7m5+YgRI/DdIMyGDh1qamra0NDg4uLCNtvff//9ypUrBQUFT5480dHR8fDwcHd3NzQ0nDt3LvPcIYvY2FhHR0cbGxsNDY3Ro0ezvYUEAAB6GT8ny7DfJtZ7SBiHU94qKiosLCyMjIz++OMPBwcHY2Pj27dvE9sABIJGoxkaGt6/f3/o0KHt7e3v37/HwwcOHKiuro7P4SGEPn78yDyCOmzYMHxmsbq6uqamZvjw4VyKYDAY6enpxsbGJBIpLy9PUVFx4MCB5eXldDqdTqe/evVqxIgRRA579+5ta2vbvXs326yOHTv26tWrAwcOPHv2TFdXF78BGVdYWPjmzRs1NTUTExN86KCoqEhcXFxRURGPsGDBAm1t7R07duBvm5ubCwsLR40aReSQlZWloKAgLy+fl5eXk5NDIpEMDQ3xqUe2SktL8X2KZDJZVVWVeVtIZ1JSg9rauHz+/Sr1VuvrKvADbqjvTT/sDfUP+7oK/GBg1C7j1Gz36CjO4ynb+yVNt2XHREdH81uvf4tjQ4gQys7Otra2/vr1q7W19Z07dyQkJARe/N27d8vKytiOGfYyBoOxePHi48ePs6zfIeANYXdmLpmVl5c/evRo1apV+fn5fbXDARrCXgYNYW+ChrA3dashDPDkpyGkjO7DhvD/Fyt+/vwZP7WL2bx58y5fvjx//vw7d+7gIR4eHgIs3tXVVVBZZWdnz549mzlEUlLy5cuX3UwuJCREDPwePnz4woULzJ/OmjVr3Lhx3ZkoZvHs2bOHDx/euHGD71Zw4cKFLCtRd+7cOWvWLP5yAwAAwOL/e4ShoaHdWXjCpQcJvk/QI+xl0CPsTdAj7E3d6RFW/za7ozifp2zvlzTGDDL6LnqE7u7u48eP76t6AAAA6Af4uY+wr7dP/H9DKC0tjR+3DQAAAPAHw3g+a7TPV42y3z7x+PHju3fvdg6MjY3t+SoBAAAAvYd9Q7h06dK8PNZlP1++fPH29sYvDAIAAAA66ycnyzQ3N3/48KHzfKGtrW1dXV1hYWGvVAwAAMCPB8MQAyPx9OrzQ7rZnCOOn6zd+YhxPKSpqakXqgUECMPoDMYP2Y//T/yEvq4CPyKieFsy953Qw7T6ugr8SKFzPI/3e4YhWH7Pg+Dg4N27dzc1NU2bNu306dMsm9pra2vd3d2zs7Pb29uNjIwOHz5sYmKCf7Rz584zZ85gGObj47Nv3z5OW+DY9Ajl5eWlpaVZDj9DCMXFxQkJCWlqagrgawEAAOiPMIznqye49wjfvXu3YcOGqKioz58/l5SU7N27lyWCmJhYQEBAbm5uaWmpnZ3dtGnT8G1+UVFRYWFhqampb968iY6Ovnz5Mqci2DSEwsLC3t7ev//+e3BwMD4jSKfTr1+/vnr1aldX18GDB/Pz2wAAAPgJ8DNHyLUhDA0NdXd3NzY2lpGR+e2334KDg1kiSElJOTg4UCgUKSkpHx+fioqK5uZmhFBwcPCKFSvU1dWVlZVXr17dOSGB/WKZgwcPmpqaLlmyRFJSUk1NTVJS0sPDQ01N7dy5c7z/LAAAAH4W/LSCXMeJc3NziZOZR40aVVlZyXJ/H+7p06c3btzw9/dfsWIFflJmXl4ec8LOK0AJ7O8alpKSSkxMvHXrVkJCQlVV1aBBgyZMmDBr1iziIGwAAABAUKhUKsul6JKSkvg1D3V1dcQed7yFq62txa8MYobf4ZOfn09cScSSsLa2llPp7BtChJCQkNCMGTNmzJjB8xcCAADws8IYiNcN9RhGiouL09bWZg5ctmxZYGAgQkhOTo5YpIn3BdnO0OE39+Xm5o4ePdrCwkJLS2vQoEHMCbnM63FsCBFC6enpycnJVVVVgwcPNjc3t7S05Om7AQAA+OnwccQaRnJ1deV01qiuri5xSd/79+8VFRU53RGEENLX15eVlS0qKtLS0tLV1c3MzJw0aRKecNiwYZxSsW8Iv379Onfu3JiYGOZAGxubqKgo7lffAQAA+JlhSMD7AhcvXjxhwgR/f/9hw4YFBgYSl5Bv377d0tJy8uTJb968aWlpGTNmTFtb29mzZxkMxpgxYxBCPj4+W7ZsmTNnjoiIyLFjx7Zu3cqpCPaLZdasWfPgwYOdO3fm5OQ0NDR8+PDhyJEjb9++XbRokQC/XndUVla+ePGi5/Lv6OgIDw/Hnx89elReXo4QysrKevv2LUtMOp1O3EXFt7S0tJycnH+ZCQAA/DyMjIwOHTo0c+ZMDQ0NVVXVbdu24eGFhYV1dXUIoZaWlg0bNqioqBgYGCQnJz948GDgwIEIIXd39/nz55uamhoZGbm5uS1YsIBTEWwawvb29r///vvgwYM7duzAu5k6Ojrr1q0LDg6OjY2trKzsmS/L3po1a/Cr2PPz80kkEolEEhISUlFR8fPza21txeOsXr3awMCATCZfuXKFSOjp6Uliwuki+2/fvs2dO5fBYCCEduzYkZaWhhCKiIgg7iYkkMnkoKCgBw8ecKrq33//jZclIyNjYWGRlJTUOU5wcLBArhpZv349XpaEhMTIkSOvXbv27/MEAIB/D8OE+Hhxz3PJkiWfP3+uq6u7cOECsZv+8uXL8+bNQwhZW1u/fPmysbGxqqoqNjZ27NixeAQSifTHH39UVlZWVVUFBgZyuVCWTfE1NTWtra329vYs4Q4ODhiGlZSUdP8X+Zc+fvyYmpo6bdo0IoRKpTIYjNTU1NTU1KNHj+KBpqam58+fNzQ0ZE4bGRmJ/cPFxcXT07PL4pKTk6dOncolwurVqzvv5WRmZGSEYVhNTc20adPc3Ny+fv3KEuHkyZO//fZblzXpjiVLlmAY1tLSsnPnznnz5tXU1AgkWwAA+DcYDBKvL55vqxA0Ng0hhUIRERHJyMhgCcfvSVdUVOyNeiGEELpw4cLMmTM7N+NqamomJiYVFRX42/nz51taWoqKirLNpKysLC4ujkunmLB48WKiG1dXVzdt2jQlJaXx48d/+PABD7Szs8vOzv706RP3fERFRVeuXNnQ0PDp06egoKDff//dw8NDVlb24cOH+/btO3/+PB7t9OnTenp6ampqnp6eX758QQjV19ebmZmFhYVpaWmpqKj8+eefXdaZTCa7urrS6XRoCAEA3wWM962EfV1lNg2hpKTklClTVq9efeXKlfb2doQQjUaLiYlZtGiRubm5urp6r1UuKSnJzMyMOeT8+fNnz57dvHlzSkqKn59fdzK5cOGCra0ty8Jctj5+/EistY2MjNyyZUt5ebmLi4uHhwd+YI+QkJCJicmTJ0+6zOrJkyfCwsKqqqrl5eVHjhzx9/evq6uzsbEpKyvD27zY2Ng9e/bcuXOnsLCQQqHgk680Gu3169cZGRk5OTmJiYm7du0qKCjgVERubm5QUNCxY8dmzpw5Z84cPT09TjHxygMAAGCL/cjs6dOnNTU1vb29JSQk5OXlxcXFp02bJioqeunSpd6sXHFxsbKyMnNIYWFhYWFhTU2NqKgo28MFWGAYduHCBR8fH16LdnZ2trKyEhIS2rBhQ1FRUW5uLh6urKxcVFTEKVV+fr6JiYmRkZGXl9fRo0fl5OQQQpMmTbKzsyOTycwHxV69etXPz2/YsGEiIiJ79+6NjY1taGjAK7xz504xMTE9Pb2xY8dmZmZyKqupqamgoKC4uJhKpdLp9La2Nk4xqVQqr18fAAA66841fPiqUQEesdYL2G+fUFRUTE1NvX37dnJyck1NDYVCMTc3nzVrlri4eG9WTkhICF/GQti7dy9+uk1QUNDy5cu5tBO4pKSk6upqNzc3XosmGmBhYWEFBYWqqip8uQ2dTu98LwdBTU3t7NmzEhISQ4cOJZo9FRWVzjGrqqpsbGzw58GDB4uLi1dWVsrJyZHJZHy9E0JIQkKCWBDUmZmZ2f79+xFCGIYZGxuHhIT88ssvbGOKiYm1tv6Qt08AAL4r3TlcjI+G7TttCBFCIiIis2bNmjVrVm/WhoWWllZpaSnbjwYNGtSd9ashISHe3t6SkpK8Fk1MBLa2tpaVlREDwmVlZc7OzpxSSUpKGhsbswSyXaqkrq5OTD3ivbohQ4Z8+/aN13ri+VMoFHxtLQAA9C38ikGekvT55A23k2X63MSJiej5YQAAIABJREFUE1+8eOHt7U2EPHr0iEwmFxcXHzhwYPbs2Xjg06dPKyoq6uvrU1NTRUVFbW1t8RU9jY2NUVFRycnJfBT97NmzCxcuTJw48cCBA+PGjdPS0kIIdXR0pKend95ZwQc/P79JkyZNmDBh2LBh69ev9/b2HjBgAE8NYVlZWXx8fFtbW0pKSkpKyqFDh/59rQAA4Cf0/w3h1atXV69e3WWC6urqnqzP/1i4cKGlpeVff/0lLCwsLS3t4eEREhKCEBo0aND27duJk1WTk5MzMjKMjY0rKiquXbumr6+PN4RZWVmLFi0i9pSwJSoq6uHhgXfa7Ozs8GFMQ0PDI0eOvHv37uTJk0ZGRsQuvfv375ubm6upqbHNSl1d3dHRkSXQ0NAQv+gYZ2xsPGjQIISQmZlZRETE8ePH6+rqJk6cGBAQgBASExNzd3cnItvY2HBammRkZFRaWhoUFCQsLKymppaamjpy5EguXxMAAHrHjzg0SiKWFL569SoiIqLLBN1Z0y9Ay5cvt7S07M7mh14wceLEPXv2WFlZ9XVFeDNggOwPOke4SWVJX1eBHxGNcEN97/lBb6hvaeO4IPx7hmFd/02Sv3xZK+fl7mwlfqlOGjpUIIeN8Of/e4SmpqampqZ9VQ9ODh06JKg+aE1Nzd27d5lDREVFiW5ll+h0+rFjx/CO16tXr7Kzs5k/1dXVtbCwEEg9Wdy/f59l/s/S0pLL6bEAANCHunNSDGsS9L0ulvlOSEtLExdK/UsdHR34Hj4CftlVN5HJZGL4saWlhSUrlm0eAlRfX89SFpelpAAAAHjFsSF89uzZgQMHMjIyysvLFRUVR44cuXbt2smTJ/dm5QRLWVl506ZNAslq4sSJEydOFEhWXep+nxUAAPocAyMxeL2PsK+PWGPfEEZGRnp5eQ0ePNjV1VVRUbG2tvbhw4cuLi7Hjh1btWpVL1cRAADAj4KfxTI9VJVuY9MQ0un01atXT5o06fr168QOehqNtnz58i1btixcuJDLpYgAAAB+aj/gqlE2U5pfvnypqqrauXMn8zkywsLCu3fvbm1tzc//IVfEAQAAAGyx6RFSKBQxMTGWs80QQniIkpJSb9QLAADAD4iBIZ5PlunrHiGbhlBcXHzp0qXbtm2Ljo4eMGAAHkilUrdu3TpjxgxO28nBd4tEIgsJkfu6FvxopvXx/x78WaHQ9VUn3yF3ozd9XQV+iIoJZlV5L1MP522DwQ8EP3SbxyR97P8bwtevX1+/fh1/FhMTS0tLU1dXd3Z2VlJSqqmpefToUUNDQzdvPgIAAPBzwhCJ932B302PMD8/PygoiOXj+/fvE89iYmIXL17866+/eqlqAAAAQM/7/4bQy8vLy8urD6sCAADgR4fxfvsEr/EF7ns/WQYAAMAPhJ+LdqEhBAAA0G/wsWqU0derZfrtyiUAAACgO6BHCAAAQGD4OmINhkYBAAD0F3wslumy4ayoqAgNDa2vr58+fbq1tTXLp1Qq9dGjRy9evOjo6LCxsSEuh3j79u3Lly+JaHPnzuV0l1H/aQgxDJs+ffqJEyfU1dVjY2OTkpIQQmJiYlpaWu7u7vjJAK2trS9evEhLS2toaNizZw+esL29fceOHcxZOTg4ODg4dC7i/Pnzubm5f/75Z0FBgbu7e3p6OkLIwsIiLCxMV1eXOeaTJ0+uXbt2/Phx7nWOiorKycnZtm0bERIZGYlnKy8vb2VlZW5uzjbhnTt3nj59in9BbW1td3d3SUnJLn4gAADoefxsqOc6R9jY2Dhu3LjJkyfr6+tPnz794sWLrq6uzBEiIyOPHTvm4uIiKyu7dOlSb2/vwMBAhND9+/evXr06adIkPBqNRuNURP+ZI4yKihITE1NXV0cIJSUlxcXFUSgUcXHxixcvjhs3jkqlIoRSU1PXr1//5MmTw4cPM6el/ENaWvrPP/9sa2tjW0RTU1NtbS1CaODAgT4+PnhgcXExnjkzGxubJ0+eZGZmcqkwnU5fu3btwYMH09LSiMC7d+++ePGCQqFUV1dPnjz56NGjbNMmJCQkJCTgXzAkJMTS0pLLnzEAAPy4Ll68qK2tffbs2XXr1gUGBuKNHDN3d/fU1NSdO3du2bIlODj49OnT2D9Nq5mZ2f5/UCgUTkWw7xHq6emxvRdeWVl56NChbm5uPj4+QkLfVyN68uTJDRs2EG9HjBixZcsWhNCGDRukpKRycnKMjIzGjx+fkZHx5s2buLg4IqaYmBgeEyF0+/ZteXl54l8QnAgLCzOfudrW1nb+/PnGxsZp06bhd8eTSCRvb+9Tp06dPn2aUyZxcXGysrLz5s27cOGCsbExEW5ubo7XR0ND46+//lqzZg3b5EZGRni0tWvXSklJ5efnGxgYcK82AAD0NH62T3CdI0xKSnJycsKfnZycli9fTqVSRUVFiQjM90O0t7cPGDCARPpvhvn5+QcPHlRRUZk+fTqXO97ZN2bz5s0jk8lkMtnJycnLy2vixIkdHR0DBw60sbGprq728/NbsWJF979iL2hsbExJSbG1te38UVJSkqioaDePSA0ODl68eLGwcBcjxhUVFcy/gJ+fX2lpaUNDg6Wl5Zs3/z2w0c7O7s6dO1wyCQ0NXbhw4cKFCy9fvsz20nlJScmOjo4u65yQkCAlJaWqqtplTAAA6GkYIjF4f3HJsKKiQl5eHn9WUFDAMKyyspJtzK9fv27dunXz5s3428GDB2tpaTU2NoaEhOjr65eUlHAqgv3f+PX19SYmJtevXycO3a6trXVwcDAwMDhz5syBAwd+/fXXLVu2DB06tMsfpXe8f/9eUVGR+aLE8PDwmJiY1tZWGo126tQpOTm5LjOpqqqKjY09cOAAr6XPnz9//fr1CCFRUdHAwMCIiAiEkL6+fmlpaV1d3aBBgzonqauru3PnzuHDh9XU1IYNG3b79u3Zs2fjH+Xm5l67dg2fxeRyPf2lS5eioqJaW1vpdHpQUJCsrCynmB0dHQiJ8PqlAACABY1G67KfgGG83yaBoVevXnl6ejKHOTg4LF26FCEkIiJCTP3gDyIibP5Co1Kps2fPHjt2LHF7vK+vr6+vL/48Y8aMAwcOnDhxgm35bHqEbW1tZ86c2bVrF9EKIoTk5OR+/fVX/KDRjRs3SkpKvnr1irev2pOam5uZa4sQmjNnTl1dXUtLy/Pnz7dt24avneHuwoULFhYW+vr6vJZuZWWFP1hbW7979w5/lpSUFBISamxsZJvkypUrpqamAwYMqK+vnzlzZkhICPFRXl7etWvXMjIy9u3bt2/fPk6Fzp8/H/+CycnJmzZtSklJ4RSTTP4hr54AAHxvumwF+aaiouLxv4gRPhUVlfLycvy5rKxMREREQUGBJTmVSsXXDIaGhrKdtrOysiooKOBUOptvVV9f39bW1vkLCwsL47Uhk8kqKiqdV4j0ITk5uYaGhs7hZDLZxMTEysoqJiZm/Pjx3DMJCwsjJgt5QvwU7e3tYmJi+HNjYyOGYYMHD2abJDQ09NOnT9ra/72vp7m5uaSkZMiQIQih6dOn79+/v5tFk8nkcePGjRs37s6dO5aWlmzjfG+zuQCAfozB11mjqqqqHh4ebD+dOnVqYGDg9u3bRURErl275uLigv/jPi0tTVFRUU1NjU6nL1iwgEwmX7lyhbnlamtrw6cP6XR6bGzsmDFjOFWAzV+R8vLycnJyBw8epNPpzDn+9ddf+HIMGo1WXl6uqKjI01ftUaNGjWpoaPjy5Uvnj2pqatLS0rS0tLjn8PTp05KSklmzZvFR+rVr1/CH69evE3tc3r17p6enx3Z69t27d/n5+WVlZXX/mDJlSlhYGB9FI4SqqqoyMjK6/IIAANALMIznF3ezZs2SlZUdP368t7f38ePHid1uK1aswK8ODA0NjYiI+PTpk4WFhYmJiYmJSVNTE0II31O4YMECAwODurq6X3/9lVMRbHqEwsLChw4d8vX1ff36tYuLy+DBgysrK6Ojo2tqau7evYsQunv3bltbm5mZGb8/lOCJiYm5uro+ePBg/vz5eMiNGzfwnXZVVVXu7u74TYpfvnyxsLCgUqnt7e3a2tqqqqpPnjzB4wcHB3t5eUlJSfFR+ufPnydNmoT/++DRo0d44IMHDzg1q+fPn3dzc2Mua968eZs3bw4ICOh+oREREQkJCfgXnDNnzqJFi/ioOQAAfOdERUUTEhISExPr6uqOHDlCjIuGhITgiz+mT5/O0tvD91XHxMS8fv26qalp+fLl5ubmXMbGSBiH5vj+/fuHDh169+5dTU2NkpKSqalpQEDAuHHjBPblBO3p06fbtm17/PgxQqiurg4fKRUREVFSUiJmVul0elFREZFEWFgY33eIECotLZWVleWyvhYh1NzcTKVS5eTkaDRaZWUlvhK1qKhIWVn5w4cPzc3NY8aMwYdGqVTqiBEjEhIS2K5WLfs/9u47rqnrbQD4CRD23ggIskEtU0RQcAQHgha34t6litVWbcWqOItWHHWgCEhduAHHT1lqUXEwpYCyRJaCsnfWff84b29TCIFEIKZ9vp/8cXNz77lPsOXh7PJyeXl5zuEtTCazpKTEwMCgurpaQkKC6/gaTtXV1bj3kUql6ujo8G64l5dX7WJi5JdupfoCYYcgCEM5kZzTKbI71LcLOwRBDIzkNcn4i8Umuv9pP563uSHvXbeXcUquK/9zqPrNmzcFjetzdfkLdOLEiXg6XU+GCX0JRo4cOWrUKNzTpqqqyjWXiIuLd9WE2JP5FWSalJCQIK83MDBACA0ePJjzyrS0tPXr13dVZuepDhISEjiwzp3AXKmpqfVkHCwAAPQzgXaoF7LuM5xIZEFs165dvVVUQEAA2fOHLVq0aOPGjT283cnJiVwdzcnJqampifPTyMjIIUOG9LCohQsX4kXXOGMTrC8TAAD6mmCDZfoomB7qMsk9e/YsKiqqrKysw+jQK1eu9H1Uwrd9+/YOC5AK7NmzZ59z+++//94rYQAAAOCKeyLctWvXtm3bFBUVDQwMOFeyAQAAAHgQYEK90JtSuSRCNpu9f//++fPnnz59WkZGpv9jAgAAIKKI7pZM43aLkHFJhB8/fmxqalq3bh1kQQAAAHzpydTAzrcIF5d5FWpqaqqqqlx3nwAAAAD+ZbgkQgkJib179+7YsePTp0/9HxAAAADRhUeN8vXif9umXsZ9sExKSkpJSYmxsbGDg0OH+Wr/kVGj/ybSEiqy0hrCjkIQwZUnhB2CIITdzCOgzV2uSPxFE7EJa3+hiEl3f5FoEmSHemH/M3JPhO/evcOTvuvr67vaPwEAAADoQKDBMl9kIoyNje3nOAAAAAChEJlVYwAAAHz52ATfK8UIfdTo34mwpqamuLhYV1dXS0srKyuLwWBwvcHOzq6/YgMAACBiRHH6xN+JMDo6eunSpXv37v3pp59oNBrXvf0QQl3tVgEAAACIdh/hhAkTYmNjTU1NEUJXr15tbxfJzU0AAAAAvvydCAcMGDBgwAB87OrqKqR4AAAAiDCC/3mBQq8Rdrlj7xcrPj6+vLwcIdTa2lpbW1tbW9thkyOMwWDU1taSbwmCqP2n1tZWruVnZWXFxcUhhBobG0NCQvDJS5cudV5eIC8vLzk5uduAGQzGn3/+mZub2/bP7XFZLFZRUVFWVhZnnAih+vr6V69eFRYWslisrsokv3tzc3O3AQAAQL9hC/QSrr9rhPfv3//111+7vQEnCWEpKytbu3ZtRkYGQmjfvn2BgYFycnIIIQkJCX9//3Xr1iGEcnNzFy1a9OrVKwaDQeYSOp1ubGxMllNfX79v375NmzZ1fsSjR4+Sk5Pd3d1ra2v37du3YsUKhNCWLVvMzc3V1dU5r1RTU/Py8kpNTZWXl+caLUEQgYGBBw4cUFVVVVRUzMvL8/T0PHPmjJycXGZm5syZM8XFxdXU1F6/fr1w4cKgoCCE0I8//nj69OnBgwfX1NRUVlY+f/6cM2ySv7//iRMnZGVlCYKQlpbesWPHqlWrBPqJAgBArxJgpRhhjzzpskaYnp4eHx9fWFjY1NT07t27xMTEz9xXr1ccOXJk/vz5UlJS+O20adNqampqamru3LmzYcOGoqIihJCysvKuXbs6JGwpKamav7x69UpcXHz27Nm8nzVw4EBcICfOwbRqampjxowJDw/vqoQDBw6cPHkyPj4+Pz8/NTX148ePVlZWuA63bt26uXPn5ubmPn78+P379ytXrkQIPXny5NSpUzk5OUlJSdnZ2WlpaR1SL6cFCxbU1NTU1tZGRkb6+vp++PCB99cBAADA1d+JcMKECXF/mTFjhoqKSkpKSlFRUXJycl5eXk5Ojrm5ubOzsxBjJQjiwoUL3t7enT+ytraWlJTEi+Do6OhMmDChw8pwnMLDw0ePHm1gYMD7caWlpZaWluTbqKgoExMTXV1dHx+flpYWfHLatGldbZzLYrECAwP37t1ra2uLz0hLS//888+ampoIobKyMnNzc3yeSqVaWFgghMrLy1VVVfEFCKGBAwcqKSnxDhIhZG9vjxBqbGzs9koAAOhrAqw1+iXuUM9kMrds2XLp0iX8GxYzNzc/e/asnZ3dunXrVFVV+zHCvxUUFDQ0NOCcgeXm5gYGBra2tj58+HD+/Pk2NjbdFkIQRERExJ49e7q9kslkvn//nnz79OnT7OxshJCnp+eBAwfw/vX29vbp6enNzc24hZZTfn5+TU3NqFGjuBY+f/781atXJyYmjhw5csKECTo6OgihsWPHtrW1DR8+3MvLy9XVdeTIkRISXa54kJmZGRgY2NLSkpCQsGbNGjzct6uv3O2XBQCAXiFAn5/Qf0NxaRr9+PFjTU2Nnp5eh/N6enoMBqNza2G/KS8v19DQEBPrGLOUlJSOjk5ubm5NTU23hSQmJtbW1k6dOpXfp/v5+UlJSUlJSa1bty46OhqfVFNTExMT48yXJDwYh6zSeXt7q6qqqqqq4nt37Nhx48YNKSmpoKAgAwODI0eOIITU1dWzsrJ8fHxSUlK8vb2tra3xsCAepKWltbW1//zzz4aGhq6uodPp/H5ZAADorKuFVjjhRbf5ffVD8DxwSYSqqqpycnJnz57tcD4iIkJMTKxzguw3kpKSHf4ZLC0tN2/e/NNPP126dElaWvrEie43KwgLC/Px8ZGW5nvpd7K7TkNDgxxBymazWSyWpKRk5+t1dXUpFEpxcTF+e/PmTfznBZmWaDTa8ePHX716FRYWtnHjRpzJVFVVv/vuu5iYmNLSUnl5eR7Dl6ytrfF3v3btWnNzc2hoaFdXkl2qAADwOahUqrBD6BNcWt6kpKQ2bNiwa9eunJycadOmaWtrf/r06e7du9euXVu6dKm2tnb/R4kZGxt//Pixra2Naxoj+wh5qK+vj4qKevLkiQBPz83NxV2kOTk5RkZG+GRZWZmMjAxu2OxAU1PTxcXl5MmTwcHBvEt2c3NjMBhNTU2KiorkSXl5eTs7uw4zK7rSk+8OAAD9gOibptGqqqq6ujpTU1MKhUv1kSCIiooKBoOhr68vLi7O+VFpaSmbzeY9KIR7F1RAQICysnJgYOCdO3fwGWVl5S1btmzbtq0HAfcVLS0tc3Pzly9fkh1vhYWFp0+fJgji1atXDx8+3L17N0Kora3t999/f//+PUEQp0+flpWVnT9/Pr7+woULFhYWPelK7Ozw4cP6+voUCiUgIICsqD158sTV1bWrv5KCg4PHjBnT1NTk7e2tqamZm5tbXl6O51pMmjRpwoQJ1tbW7e3tQUFBzs7OAwYMuHbtWkxMjJeX14ABAzIzM8+fP3/p0qWu4nn9+jX+7qmpqWlpaadOnRLgSwEAQO8iCMT/hHreBRLffvvttWvX1NTUqFTqvXv3yLVfsKSkJB8fHyaTKSMjw2azL1y4gCstbW1tM2bMyMzMlJCQMDExiYqK6jyYA+OeCCkUyoYNG9avX19eXl5eXq6tra2np9chzQrF8uXLL126hBOhg4NDZWVlamoqlUodOHBgdnb2oEGDEEIsFis1NRUhtGLFitTUVM6BlwwGIyAggPcjvvrqK5yrFBUV8SRChNDcuXMnTZoUFhZWV1f3yy+/zJgxA5+/dOkSeU1ngwcPzsrKCg4OPnv2rJiYmImJSUJCAk7Da9euvXv3blxcnLS09NixY1evXo0QGjVq1Lt3727cuFFbW6urqxsdHT127FiuJY8YMaK5uTk1NVVSUtLU1DQ3N1dfX7+nP0QAAOgzAowC5Z04ExMTY2JicnNz1dTUli1btn37dnKpE0xZWTk6OhqPz9+1a9eSJUvevHmDEAoLC6uqqiosLBQTE6PRaCdPnvzhhx+4PoIiWkMK29ra7O3tExMTtbS0hB0LysnJWbhw4YsXLzqP3/miqCsbizFFcof6T82pwg5BEKL0f5Togx3q+xOL1f00rStTd1W/LuOr2Mym4kpH2Zs3b3L9dPny5YqKinjJkZcvX44dO7ahoYFrAylC6NmzZ+PGjWtqaqJQKKNGjZo/fz5ebOT8+fOHDh3CdaTO/q4Rvnv3rquLOE2bNq3ba/qOtLT0o0ePZGRkeqW0xMTE9PR0zjO2trZdVcI609XVjYuLw1nwxIkTHdZsmzNnjq6u7ucHGRkZ2WHs6Pjx44cOHfr5JQMAQF/g929B3tcXFxeTecfExKSpqam6urqrxUbOnj07efJknCbfvXtnYmJC3vju3buuHvF3IkxMTFy6dGn3EQu7BsljsRV+ycrKdpgTKSsr2/PbORtdVVRUOqRnHlMA+aKoqNghxcIoUADAF0uwptGqqqr4+HjOk4MGDcILTDY1NZEDJPGv2cbGRq6J4OzZs3fu3Hn+/Dl+y3mjrKwsj1VH/v5lPWPGjK5mf/9bOTk5OTk59UpRc+fO7ZVyOvPw8OijkgEAoNcJNqE+Pz8/MDCQ86S3t7evry9CSEtLixw/jyeLc+0au3z5sr+/f0JCAjmUpsONPDrU/k6ECgoKCgoKfMYPAAAAfC4XF5eu+ghtbW3Jla6fPXtmbm7euenuxo0b69evj42N5Vx6zMbG5tmzZ56engih5ORkcrXLznqn+Q4AAABAAu5HyMuyZcuGDBkSEhJibm6+ZcsWPz8/fH7mzJmenp6LFi36448/5syZs2LFiqdPnz59+hQhtGjRIikpqTVr1nh6ejo4OEhKSgYFBfGYjfZ3Irx9+3ZAQMCaNWsWLVo0ceLE6upqrje8fPmSr28IAADgv0OACfW8r9fX1793797BgwcjIyPXrFnzzTff4PM2NjZ4QCKbzV6yZAmTySTHe/r4+EhJSbm4uJw9e/b06dNsNvvkyZM0Gq2rR/ydCOXl5Q0NDfEAEH19fWgmBQAAwC+81iif93Rz/YgRI65du9bhpL+/Pz4YPXr06NGjud44derUnqws/Xci5Cyrw3RFINIUCVUNtpWwoxDERySS8whBfxLRWZuS4t3vsAb6DfQRAgAA6DVsArH5/POE3+t7HfdEeOvWrba2Nq4fzZw5sy/jAQAAIML6aNHtPsU9Ea5YsaKyspLrR0KfUA8AAOCLJdCi21/eDvUIoefPn7NYLPJtbW3to0ePDh8+fPz48f4KDAAAAOgP3BNh562b7O3t1dXVf/jhh8mTJ3/ha0wDAAAQFsFWlhEuPlKau7t7Xl5ebm5u30UDAABApBGEIC/h4iMRFhQUIIQkJSX7LBgAAACgv/Vo1CibzS4qKjp27JiBgQFeDhwAAADojEAUNp+DX4RdIezxqFEKhTJmzJgjR44It4Nw8+bN1tbW8+bNy83NPXz4MD6po6Mzffp0cou++/fvp6SklJSU/PDDD6ampvjkL7/88vbtW7IcY2PjTZs2dS4/Jydn6tSp+fn5CCELC4urV68OHTrU19d36NCh5Lo+WFNT09ixYxMTE/F29ly1tbWFh4fHx8e3tLTo6+t7eXmRPaxsNjsyMjImJqaurs7AwGDOnDljxoxBCOXl5R09erSwsFBWVtbW1nbt2rWcmz2Rrl69ircsoVKpRkZGCxcu7MXdqQAAQGACzCMUetNoj0aNiomJ6ejoCH0bvJKSkqtXr+7evRshVF5efuXKldOnT9Pp9Ozs7OHDhz9+/NjOzg4htH37dnt7+wsXLvj4+JCJ0MLCgtx68ODBg4qKilwfwWazyc3/AgIC8EJ2LS0tnWdVysvL02i0o0ePbtmyhWtROFOKiYn5+fnp6uq+efNm165dTU1Nc+fOJQhiwYIFT58+9ff3NzU1ffPmzdq1ay9evKipqeni4vLNN9/MmzevpqYmNjb206dPXBNhcnJyQUHB6tWrm5ubo6OjT548mZ2dDa3WAAChI3p7Y95+0NNRo1+CM2fOTJ8+nUql4rfS0tLk7P60tLT4+HicCPGGHVevXuW89+uvv8YHnz598vPz68kWxM3NzWz2/49+IggiIiLi1atXzs7O06dPxycXLFgwfvz4H3/8kWsted++fa2trenp6XiHXjc3t+XLl+PNsa5fv37r1q38/Hy8P5abm9vixYsZDMbdu3c1NDR27tyJS8C7h3TFyMgIf/158+bJyMjk5+cPHjy42y8FAACgg+7bOd+/fx8fH//mzRsyKwjL3bt3O6+sSqfT09PTX716hbNgtyIiIuzt7S0tLbu9MiAgoLy8HB8fOXIkOzvb2tp627Ztv/zyCz5paWnJZDL//PNPrrdHRUWtXLmSc596MTExNTU1hNDNmzdnzJjBuUukpKSknJycvr7+27dvIyMjm5qaevJdEEJNTU0XL15UU1P7Mv92AQD81xAEhc3vS9gT6jsmwps3b06ePHnUqFGHDh1CCB05csTQ0NDd3d3CwsLV1ZXHVvf9IDs728TEhHxbVVWlqqqqra3t6Ojo5ubW1erjHYSFhS1btozfR9vZ2e3fv3/hwoUXLlzYt28fk8nE501MTLpKhGVlZYaGhvj46dOngYG8rl+IAAAgAElEQVSBgYGBcXFxCKHS0tJBgwZ1vsXJySkwMPCHH35QVlZ2dHQMDQ3lsY7PuXPnVFVV9fT0Vq5cuWfPHh5dle3t7T3+ogAA0CUGg9HtNQT/MyiE3jb6j0SYkJAwffr0p0+fVlVVff/99zt27Pj+++99fHx+++23JUuWPH36FGdHoWCxWO3t7TIyMuQZTU3Nmpqampqa2tra+vr6zZs3d1vIs2fP3r17J8ByqcOGDcMH1tbWdDq9rKwMv5WVle2q9iYrK1tXV8d5Jjo6Ojo6GiEkJydXX1/P9S4/P7/S0tI///xz7ty569ati4iI6CqkBQsW1NTU1NXV5ebmbt26NSEhoasroe8QANAryJ4pHtgCvYTrH32EJ06csLS0fPbsmYKCwvHjx9etW7do0aLQ0FD8KYVCuXLlyrZt24QRJxIXF1dVVa2pqRk4cGCHj+Tl5adMmXLy5MluCwkNDZ09e7YAWy02NzfjAzqdTqfTyepXdXW1pqYm11scHR2TkpIWLFiAEHJ2dnZ2di4rK8M1vOHDh9+5c4cgCAqFS4MAhUKxsLCwsLDIy8uLj49fvHgx79iMjY2HDRuWkJAwbtw4rhdwfQoAAADsHzXCgoKC6dOn4zyxaNEiFos1atQo8lNXV9fi4uJ+jo/T8OHDMzMzO59vamqKiYmxsupmy73m5uYrV64I0C6KELp+/TrOhefOnRsyZAieq8BgMHJycoYPH871ls2bN587d+7y5cucceKD1atXv337dufOnbjblSCIkJCQ/Pz8nJycrKwsfE1bW1taWhrXFtQOCgoKXrx40ZNeTwAA6HMEheDz1e3GvH3tH4mwvr5eRUUFH8vLy0tKSnL2PCkoKJAVI6GYOXPm3bt3ybe4j1BVVXXAgAGSkpJBQUH4vIuLi6qq6qdPnzw9PVVVVfGCOAihK1euaGtrjxgxQoBHDx482MnJacyYMT///DO5a3FiYqKDg4OOjg7XW5ydna9evbply5YBAwaMGDFi0KBB+fn5Pj4+CCFtbe34+PiYmBgNDQ1HR0c1NbWoqCgVFZWqqqoJEyYYGRm5uLjo6+urqalt3Lixq5BwH6GysrKzs/PSpUtxyQAAIFyi2DRK4RyOYWhouG7duvXr1+O3UlJSFy5cmDFjBn5748aN6dOnC3EbptbWVmtr60ePHuno6DAYDFzBolAoysrKnJc1NDRwToJUVFQUFxdHCLW0tBAEIScnx+MRBEG0tbXhnsjW1lYpKSkxMbHm5mZxcXEmk/n27Vtzc3Oyy2369OkLFy6cOnUq77Dfvn3b1NRkaGjYuUm2vLz806dPhoaG5GRBgiDKyspqamp0dXV5zJFvbW3FUxvxcFPeARgpDdNgDOV9zZfpRes5YYcAQJ+Qomp1f9GXp41e1u01h8cHvs8p56vY/LYiYhT15s2bgsb1uTrOI0xMTKTT6fiYxWJFRUUVFhbit10Nj+w3MjIyR48ezczM1NHRoVKpZOW1g64my8vKynb7CAqFQo7HIQ/ITEMuXoMQamxstLKy6jYLIoR4NG/q6uriOfucAejr6+vr6/MuU0ZGhnPcEAAAAIF1TIS3b9++ffs2+fbChQv9G083Jk6c2FtFxcbGbtiwgfOMqalpz/8kUVBQ2LVrFz7esGFDbGws56d+fn4rV67slTgXLlyYlpbGeSYgIICc1A8AAF8UkV9Z5o8//iBnyP3rjR8/vrfquGT3ZF/4/fff+65wAADoXYRAa40Kd7TMPxJh55kJAAAAQM8JsL+g0BMh7DUPAADgP437otsAAACAANh9sB/hkydPDh48WFtb6+3tvXbt2s6LhMTExKSkpFRWVm7YsMHc3ByfvH///o0bN8hr9u7di1d77gwSIQAAgF5DIL77CNkEEu/609LSUg8Pj19//dXCwmLFihUSEhK+vr4drjly5Ii1tfWlS5fmzJlDJsKMjIzCwsJVq1bht9LS0l09AhIhAACAXtPra2iHhoaOHz9+xYoVCKG9e/du2bKlcyLEiy1funSpw3lyuzreIBH++1WxCkra84UdhSAOmSwXdgiCcDV4K+wQBHG/yKT7i748s23Sur/oy2MaLeRp2SIkPT3d1dUVHzs5Ob1586alpaUn88IRQk+fPp09e7aOjs7y5cuHDBnS1WUwWAYAAECvYRP8v3gWWFlZSS6foqqqis/0JJIhQ4b4+vrOmTOHSqU6Ojq+fPmyqyuhRggAAKDXCNY0GhcXZ2xszHlm3rx5eNESBQWF1tZWfLKlpQV1vXxYB5MnT8YH3t7ejY2Nx44d62pjO0iEAAAAeo0AE+rZBHJ2dg4ODuY8qa2tjQ8MDAzIlT4LCwvl5eVxvZAvgwYNSkpK6upTaBoFAAAgZHJyckb/RPYCzpkz5+rVq9XV1Qih4ODgOXPm4OkTFy5cSE1N5VFmTk4OPvjw4UNERATnroIdQCIEAADQawToI+S9Es24ceOmTp1qaWlpYWGRkpISEBCAzx89epSs5NnY2FAolA8fPowdO5ZCoeAU6Ovrq6mpaWVlZWRk5OTkRG6s1Bk0jQIAAOg1vb7oNoVCOXbs2Pbt2xsaGoyMjMjZ9MnJyeRxRkZG5xsfPnz44cOHhoYGfX193tv1QCIEAADQawRZdLsH12hoaGhoaHCeERPrvkVTW1ub7GvkQTQSIYPBCAkJwZMoy8rK8I6JMjIy2traHdbaKSsro1KpWlr/v+llU1NTVVUV5wW6urpSUlKdHxEREeHo6GhpaZmcnFxVVTV16tTKysqbN2+uXr26w5VRUVE2NjaGhoa8Yy4qKioqKlJRUTEzM+uwJe+HDx9ycnJkZGTMzMw6LPlTX1+fmZlJoVAGDRqkp6fXVeHV1dX19fUIIQkJCbw7I+9gAAAAdEU0+ghPnjxZVFSEjydOnOju7j5r1ixnZ2d9ff24uDh8/siRI6qqqoaGhmvWrCFvTExMdP/LqFGjTExMKioquD4iIiICNyu/fv36xYsXCKHy8vLAwMDOV4qLi//www88oi0rK3Nzc3N2dt6/f/+3335rZGS0Y8cO/FFzc/P8+fMtLCx27tzp7+9vYWExZ84c/BGbzd66devAgQM3bty4Z88eR0fH0aNHf/r0iesj9uzZM3z48FmzZk2cOFFdXX3v3r084gEAgH5DCPQSLhGoEbJYrKCgIDLhIYT27ds3a9YshNCBAwe+++677OxshJC7u7uXl9fFixczMzPJK6dMmTJlyhR8fODAgZiYGB77xWNLlizpcObTp0/y8vLkOnWenp7r1q3Ly8szMzPjGu3kyZNtbGzu37+Pb6muriYX/lmxYkVpaWl+fj6u47e1tR05coQM7/z588+fP7ewsEAIEQRx9uzZtra2ruL8+uuvQ0JCEEIZGRm2trYLFy7kUYMEAID+wRZoP0LhEoEa4ePHjxUUFExNTTt/ZGBgwGAw8DEeGsSjnLNnzy5btqzbxx0+fJjcXJ7FYvn4+NBoNH19/T179uCTFArFw8Oj86J22P3794uLi48ePUomTjU1NVxJLS0tjYyMPHbsGNnSLS0tvXnzZoQQQRBBQUE7d+7EWRA/ZcmSJT3JbQMHDhQTEyN/DgAAIETEX1sS8vUSLhGoET558sTOzo7zTEhISEJCQltbW0pKyqFDh3pSyNOnT0tKSmbMmNHtlSwWi8lk4uPS0tJx48ZduHDh/fv31tbWNBpt+PDhCCE7O7vLly9zvT09Pd3CwkJJSanzRxkZGdLS0l999VXnj0pLS6uqqnDhPfT48eNVq1ax2eznz59v376dR02XzWYjIW97CQAAXy4RqBG+f/++w2AhIyMje3t7R0dHLS2t69ev96SQ0NDQOXPmyMvL8/VoWVnZxYsXI4R0dHS8vb3v3buHz2tqanbV19je3i4nJ4ePGxsbVVVVlZWVKRQKi8Wi0+mysrLk6B5bW1tVVVUxMbG0tLT29naEEHnj/PnzVVVVqVRqeHh4V7Gpq6vb29s7ODiMGDHi5s2bXfUmIoRYLBZf3xoAALgiKwk8EAix+XwJu0IoCjVCGRkZcqE5bNy4cbiPcPHixcrKymvXrrW1teVRQnNz89WrV2NjY/l9tIKCAjlCV0lJqa6uDh+3trZ2tfa5gYHB77//Tt5eU1OTn5+PexMNDAyqq6tra2vxArLp6enor+Snq6tLpVILCgpwW+j58+cRQs7Ozjxis7CwIJtw3dzcQkNDcStrZ1QqlcUU+n9pAACRJyHRfcoQoI+Q96Lb/UAEaoRmZmZv33Lf14ZOp7PZbDybgofLly8PGDDAycmJ30d//PiRrPllZGSQo2OKi4u5jpRBCHl5eX38+PHatWudP7K1tTU1NQ0KCur8kaysrKen56FDhwiBGsvb29u7/SEAAEA/4L9/UPh/potAjdDd3X3Lli1MJpP8YyQ6Ovrt27dtbW3R0dHOzs729vYIoczMzHv37iUlJb1//z4wMNDOzs7d3R1fHxoaijd15JesrOzy5cv9/PySk5Ozs7PJ9Pb48eOuuhs1NTVDQkIWLVqUlJTk5OREEERsbKympiaFQhETEzt37pyHh0dhYaG7u7uCgkJqaqqEhARusP3tt9/GjBkzduzY2bNna2pqvnnzpqCgQF1dvavYMjMzAwMDWSxWampqQUHB/PnzBfiCAAAARCARGhgY2Nvb379/H++psWzZssrKytraWiUlpW3btnl6euIE2d7eXltba2tra2trW1tbi3frQAi1traOGjVq4cKFvJ+yaNEiKysrhJCzs7OJiQlCSEtLa+vWra6urmfOnFFWVn769Cne+6O6uvrly5eRkZFdFTVv3jwHB4fz58/fvn1bTU1t5MiRJ06cwE2sw4cPz83NjYiIePDggaysrLm5eUFBAe4B1dXVzcjIwDMo2Gy2iYnJ06dPcSSdjR07VlJSsra2VkpKysvL68yZM+R+XQAAIESC7T4hXBTB2uL6WUZGhp+f3x9//CHsQBBCaOvWrerq6t99952wA+kpeXmVtlYR+Ffu7FejucIOQRCwQ31/gh3q+xOL1dDtNZtHBr77s5yvYssZRerjqTdv3hQ0rs8lAjVChJCNjc2tW7cIguiwoJpg9u3b19Dwj3/OFStW8J6DyGnz5s14hEtxcfGpU6c4P5KXl/f39//8CDmdOnWquLiY88y0adOGDRvWu08BAIBeweZ/8IvQB8uIRiJECHGdmScYBweHDiu28FU4uXCooqJih4GdXFcx/UxDhw4dMGAA5xlyJVUAAACfT2QSYS8iB9F8JlVVVS8vr14pigfekygAAOCL0ke7T/Sp/2IiBAAA0EcEmBEh9BkUIjCPEAAAAOg7UCMEAADQa9j8T4cQ+twFSIQAAAB6jQD7Cwo7D0Ii/A8YrWQ2WddG2FEI4tu8UGGHIAiiQOj/XwsmQdgBCML/rUjurLJA9Rthh9BXCIJg81nFE/p0dugjBAAA8J8GNUIAAAC9BibUAwAA+E8jCELoTZ38gkQIAACg1xBQIwQAAAB6F4PBSEhIqKmpGTduXFdrTJaWllZVVZmZmZGrYCKEmpqa4uLi2Gy2u7s73j6IK0iEAAAAeg2bQL07apROp48dO5bNZhsbG/v5+cXFxdna2na4Rk9Pr6GhoaWlJS4ubsyYMfjkx48fR4wYYW5uLikpuWHDhuTk5A7rNpNg1CgAAIBeQwj04uH69ev19fWPHj06d+6cn59fQEBA52sSEhLq6urw3q6k48ePDx48+M6dOzdv3hw5cuSRI0e6egQkwn8gCILcmKKtrQ3/ndLc3NxhtwoAAABcEYhg8/nivdbo7du3vb29qVQqQmjmzJl3795lsVgdrjE3N8ebn3e4cdasWfh45syZMTExXT1CxJpGV65cOXr06Hnz5mVlZe3atQuf1NDQmDVrlpubG3574cKFlJSU8vLygIAAS0tLfNLf3z8/P58sx8LCYufOnZ3Lz87OnjhxYllZGULI3Nw8JibG2tr622+/tba2Xr9+PeeVzc3N9vb2T58+VVVV7Sraurq6o0ePxsfHt7e36+rqenp6zps3T1paGiF08eLFc+fOffz4UUNDg0ajff/99/iWnJycoKCgV69eycrK2tnZrV27dtCgQZ1LjoiIuHPnDkJIXFx80KBBq1atMjAw6OkPEQAAREdZWZmrqys+1tPTYzAYVVVVOjo63d5YXl6uq6tL3lhRUdHVlaKUCPPz8x8+fBgcHIwQqqysTEhIuHz5MpPJzMnJ8fDwiIuLwzsWRUZG2tnZhYaGrlmzhkyEY8eOtbH5/9VVfv75ZwsLi24fd+bMGa5JCJOTk5s3b96hQ4fIfNxBTU2Ni4uLoaGhv7+/np7emzdvTp8+LSUl5ePjc+XKlY0bN546dcrc3Ly4uPjRo0f4lqSkpMmTJ/v6+v72228EQSQkJGzevPnKlSudC8/MzGxqatqwYUNra2t0dLSLi0t+fr6MjEy3XwoAAPoUW5CVZVBeXl5gYCDnSTs7O7xlHpPJFBcXxyfxAYPB6EmxHW7kcZcoJcIzZ87MnDmTrP9KSkrSaDSE0MSJE+Pj4x8/fowT4a1btxBCJ0+e5Lx33Lhx+KC8vLywsHDRokXdPi4zM3Po0KF4oBGTyTx48GBmZubIkSNXrFhBoVAQQj4+Pi4uLjt27CB/1pz27NmjoKBw9+5dfPHgwYOnTZvW3NyMELp///7s2bM9PT0RQqampuT+iKtWrVq3bh2ZWZ2cnFpaWroKT1dXl/z60tLSRUVFgwcP7vZLAQBAnxJsGyYGg1FbW8t5kmz/1NHR+fjxIz6uqqqiUCja2to9KVZHR6eqqoq8kUclUpT6CO/fvz9q1CjyLYvFKioqKioqio2NTUtLc3Fx6UkhZ8+edXV1NTY27vbK3377rbKyEh8HBQWxWKy5c+eGhYX5+/vjk8bGxhISEunp6Vxvv3379uLFi3EWJMnJySGEzMzMbt68GR0d3dDQQH5UWFiYm5u7bNkyzutlZWW7Cq+hoaGoqKigoODo0aN6enpGRkbdfiMAAOhrxF+Ly/T8RSA0ePDgX/5p4sSJuEA3N7fY2Fh8HBsb6+zsLCkpiRBqbm6m0+k8InF1dY2Li8PHcXFxZPdZZ6JUI3z9+jVnAqupqcF1qZqamvHjx9vZ2XVbAkEQZ8+e5TroiDc3N7dNmzYhhAYNGmRnZxcQEIB7bo2MjF6/fu3g4ND5lg8fPujr6+PjxMRE/A85YsSIqVOnfvfdd/X19b6+vh8+fHBwcNi2bdvkyZMrKiooFAp5S7f+97//paSkIISqqqr27t3Lo120vb0dyfP5hQEAoBMmkykh0d9ZY+HChQcOHFi1apW5ufnevXvPnj2Lz48dO3bu3LnfffcdQmjXrl1lZWUNDQ1BQUGRkZE7duzQ0dHx8/NzdHRUV1eXlJQ8c+ZMUlJSV48QmRohi8Wi0+n4DwFMQ0OjsLCwsLCwqqqKzWZv2LCh20IePXr08ePHr7/+mt+nW1tb4wMLCwuCIPBoGoSQjIxMV62XCgoKNTU1+FhZWdnIyOjFixf4zxMpKam9e/eWl5e/efPG3d3966+/zs3NVVRUJAiCvKVbs2fPxl+/oKDgl19+wQ3CXHH+0AAAQGA9yYL8DhnFLx4FKikpvXjxwtDQsLKyMiYmBncqIYQ2b95M9nlZWVnZ29sfOnTIy8vL3t4ej0k0MzN7+fIl7h1MTk4eOnRol9+Lj5+BUImLi2tqan769Knz8EgqlTp27Fg8iIa3sLAwHx8fHu2NXamrq8MHLS0t7e3tysrK+G1VVVVXMzSdnZ3j4+NxZ6SdnZ2dnV1WVlaHeaMmJia7d+++fPnyixcv5s2bp6KiEhsb6+Pjw1dsWlpatra2ycnJXl5eXC/o0DwLAAB9h0CI/z7Cbmhra//0008dTk6bNo08nj59OtcbTU1Ne9IEKDI1QoSQk5NTRkZG5/OlpaV4pCjv2+vr669fv7506VIBHn358uXq6mqE0MmTJ4cPH66iooIQam9vf/369fDhw7nesmXLlhs3bhw7dgx3+TKZTLK/NyYmpqCgAB+npaWVlZVZWVlRqdSff/5506ZNT548wR+9evWqqyGpJCaT+fz58ydPnvSkZRgAAPoaG7H5fRHCXm1UZGqECKG5c+deunQJDyehUqnt7e14Dp+CggKNRvv111/xZS4uLrm5uQgh3AT64sULExMThFB0dLSNjY29vT2PR4iJiZGdbdLS0niEqqys7Pjx43FHa3t7e1RUFL7g3r17rq6uHdYyINnY2MTGxm7YsGHjxo26urqNjY3Ozs6rVq1CCJWUlKxatYogCNx8unfv3mHDhiGE1q9fT6VSZ86cSafTxcTEVFRUdu/ezbVwGRmZs2fPXr9+HSGko6OzdevWGTNm8PXDBAAAgFFEaL8MBoNhY2Nz584dQ0PD/n86k8n89OkT57BdDw+PDRs24DkMPDQ2NjY0NAwYMKBDE2VtbS2dTu+8gCxBEJWVlbKysjyWiOWLp+7wyfIiukN9uLBDEAS/7ULgc1CQSLb8i+gO9RHVXa5SRlowfHt+VilfxdaySqw8FG7evCloXJ9LlGqEVCo1ODi4sLCwVxIhg8FoamriPCMuLs5reXIJCc4s2NDQQKPRcBbsPIpXRkYG99YihBQUFDhXQyfh9tXOOsySaWxsZDKZnBfIycnB+BcAwJep28EvXG/po2B6SJQSIUKIcx7hZ3ry5Mm2bds4zxgZGZEDc7ulqKhIjlMNDAx8+PAh56crVqxYsGBBL0SJ0E8//fTq1SvOM5s2bSLHTQEAwBdFgAn1PRgu07dELBH2otGjR//xxx+9UhTXZUt7y7Fjx/qucAAAAP/dRAgAAKDXEYhg8zkKFJpGAQAA/HuwKQSbwuc8Qj6v73WQCAEAAPQaArH5rREKfaC1KE2oBwAAAHod1AgBAAD0GgIR/K4UAyvLgD7XxBIva5USdhT/ISI6xVtUUUTylxhNp6n7i0QTWwSbRkXyvyEAAABfJjaFYFP4HDUq7MEy0EcIAADgPw1qhAAAAHqNQKNGoY8QAADAvwXB/7ZK0EcIAADg34PN/8oyQk+E0EcIAADgPw1qhAAAAHqNAH2E/F7f6/4NiZDNZvv7++/YsUNKSiovL6+xsREhJCkpaWhoyLkRIIPBeP36taSkpLm5OT7T2NiYl5fHWZSJiYmSklLnR0RERBgZGY0aNSolJSUlJWX16tV1dXVbt27tvDXE5cuXBw4cOGLECB4BEwSRnp6en5+voKAwePBgAwMDzk/z8vIyMjLk5OSsra319PS4llBWVlZZWYkQEhMT09fXV1dX5/E4AADoN2wKm9/pE0JvGv03JMKzZ89WV1dLSUkhhL755pvy8nJ9ff2mpqbc3Nz9+/evXLkSIXT69Om1a9dKS0t/9dVXSUlJ+MbXr19/883/7xPd1taWnZ2dmppqZ2fX+RH3798fOXLkqFGjampqCgsLEULNzc1hYWGdE6GVldXixYtTUlI67EdPKi8vnzFjxocPHxwdHel0+suXL11dXS9evIgQamlpWbx48cOHD/G2iy9evFiyZAnXPZ6CgoKuXLliaWnZ1taWlZW1bNmygwcPCvTDAwCA3kQgNoFY/N7SR8H00L8hEQYFBUVERJBvfX19/fz8EEJRUVFLlixZsWIFhUKZPHnyjBkzrl+//vvvv5NXDhs2LCUlBR+fOXPmyJEjXLMgpzFjxowcOZLzTGFhoaSkpL6+Pn47dOhQaWnpxMTEcePGdb6dIIjp06cbGxs/fPgQZ246nX7hwgX86fr164uLi3Nzc9XU1BBCra2t//vf/7qKZNKkSSEhITgAExOTtWvXGhoa8g4eAABAZyKfCLOysmpqauzt7Tt/JCcnJy4ujmtmurq6vMsJDQ1dtmxZt4+7cuXKxYsX79y5gxAiCGL+/Pnl5eXv3r1zcnI6f/68mJgYQsjLyysyMpJrInz+/HlaWtqtW7dwFkQISUpKLlmyBCHU2NgYHh5+//59nAURQjIyMtOmTes2JDk5OTExMXFx8W6vBACAvgbzCIXg2bNnNjY2nGfCw8MfP37c3t6emZkZHh7ek0LevHmTlpYWExPD16Pb2tqcnZ19fX1bWlocHR2vXLkyZ84chJCNjc358+e53pKVlaWvr6+hoYHf1tXVEQSBEFJSUsrNzWUwGA4ODj18ekJCwqxZs5hMZnp6+sGDB8kqaWcsFn/NFAAAwBVBEF11+vx9jSCLbsP0ic9TWVmpqqrKecbFxWXlypWLFy8ePXp0YGAgnU7vtpCQkJApU6aQ+annFi5ciBCSlZWdNWvWgwcP8EkNDY0PHz5wvZ7JZJJ1QRyqnZ2dqqrq+/fvGQwGhUKhUqk9fLSFhcXKlSuXLl3q4+Pz22+/VVRUdHUlmy3kv7YAAP8OwvplEhISMnDgQBUVlYULF7a2tna+ID093cHBQVFR0cnJKTs7G5+MiIhw4MDjl6TIJ0I5Obm2tjbOM2ZmZjQazdvbOzw8PD8///79+7xLYDKZFy5cWLp0Kb+PFhcXl5GRIcNoavr/5eSbm5s5R6tyMjIyKi4uJgPOzs7OzMzExyYmJgihDqNYedDV1aXRaJ6enrt37x40aFBYWFhXV/Y8uQIAAA896YJhEyx+X7xrkJmZmRs3boyOji4pKamoqNi9e3fHJ7LZM2fOXLhwYXV1tbe3N26ZQwh9+PDBxMTkyl80NTW7eoTIJ0JLS8uCggKuH7W0tLS2tnb7LxcTEyMuLj5+/Hh+H81isVJTU/HxixcvrKys8HFBQQF53MHo0aPV1dWDgoI6f6SlpTV+/Pg9e/Zw/s2Vk5PTbRgEQVRXV0MfIQDgS4CbRvl88WoaDQ8Pnzlzpq2trYKCwpYtW0JDQztc8PDhw6ampjVr1lCp1A0bNpSXlz9//hx/pKioaPQXCYkuuwJFvo9w5MiR7969q66uJseY3Lp1q6Kioq2tLSEh4auvvsKDVsvzzQkAAB/HSURBVHJzcyMiIjIzM4uLi3/88cehQ4f6+Pjg68PCwpYsWSJAIqFSqZs2bVq8ePHr16+TkpLIqRRJSUkTJ07keouUlFRkZOSUKVNevnw5atQoSUnJ5ORkPT09XLMMCQmh0Whubm5eXl4UCiUhIUFVVRXPrOjsxYsXP/74I5PJTElJqampWbx4Mb/xAwBAryMQi8339Ale179582bSpEn4eOjQoZWVlfX19ZwTvt+8eTNkyBA8VpFKpVpYWLx582b48OEIoZiYmISEBB0dnW+++Yb8nd+ZyCdCeXn5uXPnRkZGfvvttwih9evX44ZgcXHxKVOmjB49Gv90ZGVl8R8F3t7eCCGyjkwQhLe3t4eHB++nLF68WEdHByE0bNgwRUVFhJCysnJwcPCYMWNCQ0NlZWWfPXuGuxibm5vj4uK41vkwZ2fnvLy8K1euvH79WklJ6euvvw4PD5eUlEQI6evrZ2ZmXr16NT09XVZW9ptvvvHy8uJayMyZMy0sLPDx6NGjaTSatLQ0Xz83AAD4cjQ3NxcVFXGe0dbWlpWVRQjV1NSQnU341291dTVnIqytrZWXlyffKikpVVdXI4RoNNqYMWN0dHSePn26cuVKHuPwKXjUokirrKyk0Wipqak4nQjX/v376XT61q1bhR3I30ZrO7tI9nQw6hdlX2mwsEMAXzzR3KE+wmqusEMQxII/OzZLdjZ2xMLsLO7dVV1pZ9Uwxcu0tLQ4T86bN2/Xrl0IIQ8PjwkTJqxbtw4hVFVVpaWlVV9fjzMiFhwcfPXq1YSEBPx2xIgRvr6+CxYs4CzN398/Pz//ypUrXAMQyf+GOtDS0srKyuqt0nbu3FlSUsJ5ZuXKlY6Ojj28fdOmTfigsrLS39+/w6chISHdDj7uIDAwMD8/n/PMokWL8NIzAADwpWEjNv9No2x3d/ebN29y/dTc3Jz8DZ+VlaWtrc2ZBRFCZmZm2dnZbDZbTEwML6VpZmbWoRAqlcpjItm/IRH2Lm9v7+bmZs4zxsbGApSjpKS0fPnyDif5zYIIIS8vr4aGBs4zRkZGAsQDAAD9gCDYBMHnPEKeDZNLlixxdXVdvXq1qanp3r17yRH+W7dudXFxmTRp0ujRo+Xl5Y8cOeLr6xsUFKSnp4c7CK9evero6KihofHkyZPjx4/z6LGCRNjR0KFDe6UcaWlpJyenzy+nqwGoAADwX/DVV18FBQXNmjWroaFhypQpZMdTSUkJ/vUoJiZ2/fr1VatW7dy5c/DgwWT758OHDzds2NDQ0GBgYBAQENChsZTTv6GPEPAGfYTg3wz6CPtRT/oI3Zzm/pnV0/nQGJ1VR5v0VVdNo/1AJP8bAgAA8GXCc+T5uoXfptReB4kQAABAr4G1RgEAAAARAzXCf7/KVvbLRqawoxCE0P9OBF8+CsEQdgiCWPrmlrBDEESXo004EIhF8Nk0iqBpFAAAwL+IAE2jkAgBAAD8W7AJNpvfeYTCbvuBPkIAAAD/aVAjBAAA0GsIxOa9mwTXW/oomB6CRAgAAKDX9PoSa/0AEiEAAIBexBa5wTLQRwgAAOA/TZQSIYvFKi0t7dNHlJWVMZlMhFB1dXVjYyNCqLGx8cOHD52vLC4u7tNIAABAFBEEgVtHe/5Cwm4aFaVEeObMmUOHDiGEWCyW+1+mTJkSFBREp9PxNdHR0b6+vuPHj79w4QLnje4cJkyY0NXGVNbW1jjDrV+/PiwsDCF07dq11atXd77y+++/v3fvHo9o29vbf/nll2HDhhkYGDg6Oq5bt47cf5kgiPDw8JEjRxoaGg4bNuzHH3/8+PEj/ig5Ofnrr782NDQcPHjwwoULMzMzuRYeHBxMfpeVK1dmZ2fz+sEBAEB/4TcLEgRb6NMnRKaPkMFg7N69+9mzZwghgiDi4+OvX79uYGDw/v37zZs319XV7dy5EyGUlZWlr6+fnp5OZh2E0KRJk2xtbfHxsWPHysvLxcXFeT/u559/lpeX53HBpk2b1qxZM3HiRK6fslisKVOm1NbWBgYGWllZVVRUREdHHz169PDhwwihjRs3Xr169fDhw8OHD6+srLx06dKVK1e+/fbbu3fvzpkzZ9u2bb/++iuFQomPjw8KCoqIiOhcfl5enry8/NatW9vb26Oiotzc3N69eycnJ8f7SwEAQF8TaNQonyvR9DaRSYR37twxNTXV1dUlzwwePNjc3BwhlJ2d/ejRI3wSb1WVnp7Oea+uri6+kSCIpKSkPXv2dPu4J0+eDBw4UEdHB789depUVFSUsbHxtm3bNDU1EULDhw+vra1NS0uzs7PrfPv169dfvnxZWFiooqKCENLW1razs2MwGAihN2/eHD58+MWLF/jGAQMG2NraMplMgiDWrl27ZcuWH374ARdibGy8bNmyriJUV1e3t7dHCDk6Oh48ePDt27dDhgzp9nsBAADoQGSaRmNjY0eOHMl5Jjs7OzU19d69e+fPn58yZUpPCklMTKytrZ06dWpPrszKysLHDx48yMvL27t3r5SUlLu7O5v9/wOcRo4cGRcXx/X2+/fvT5w4EWdBEpVKxR+Zm5t3SJ8SEhJ5eXlFRUXz58/vcL6rCD99+pSamvrs2bNt27aZm5ubmZl1+6UAAKCvCdA0KvQ+QpGpEebl5eEKEOngwYOysrJVVVViYmKjRo3qSSGhoaHz58+Xlpbm69GqqqoHDhwQExOztrY2MjJKSkpyc3NDCBkYGOTn53O9paqqCtdWEUIFBQUHDhxACA0YMGD79u1VVVWc9VrOW8TExMg6aLdevnz5448/tre35+fnr1u3DmdZrtra2kTn3xkA8OViMpk8/jr/CxvxPR0CBsv0DIPB6PC7PiwsLC4uLjMz87vvvvP09Ox2SmZ9fX1UVNSSJUv4fbS5ubmYmBhCSExMzMLCgux9lJSUbG9v53qLiopKVVUVPlZWVqbRaPLy8teuXevwESdlZWU2m02OmunWpEmT4uLi/vjjj/z8/FOnTl29erWrK/lN/AAAwFUPsiAiEN+jRoW+Ma/IJEJdXV2u+QMh5OjoWFxcXFtby7uE8+fPW1lZ2djY8PtozuT08eNHdXV1fFxZWcm1bocQcnNzS0xMbG1tRQipq6vPnDlzxIgR+KPRo0fn5OQUFhZ2uMXKykpLS+vWLb43Z5GXl7eyssrIyOD3RgAAAEiEEqGLi0tqairnmYaGhtra2sLCwv3791tZWamqqiKEWlpaamtr6XR6W1tbbW0tZ40tNDR06dKlAjw6PT09ISEBIRQfH19cXOzq6orPp6SkuLi4cL3Fx8dHTU1t3rx57969QwixWCyyEdXe3t7b23v27NmvXr0iCKKhoeH06dMRERHi4uJ79+796aefoqKiGAwGg8FITEzcuHFjV1G1t7fX1tZWVVXdvn370aNHXUUCAAD9i03w/YKm0Z6ZPXs2WceiUChGRkZz5sxxcHCYMmUKQRBkRWr//v0ODg5ZWVmRkZEODg43b97E5wsKCpqbm+fOncv7Kbq6urgBVk1NTUFBASGkoKDg4+Nz5MgRPT29FStWREZGKikpIYQqKiqKiorGjx/PtRxpaekHDx5oaGjY2dkpKCjo6+s/fvz45MmT+NNz585NnDhx4sSJ8vLygwYNio+Px2ls6dKlx44d27Ztm5ycnLq6+rZt29zd3bmWr6am9uTJEwcHB2dn5/379x8/fnzy5Ml8/kQBAKAPEGy+X8JOhBShr3bac76+vvb29jxmFPSpDr3E27dvl5GR+fHHH7u9kU6nS0pK8vURk8kUFxenUCgCR8vJUslJn8lljseXL64lRNghgC9d7/xP0u/EJVS6v+jLw2Bw75/iZGs7IjMzi8+CWVOnTiTrLf1PlEYTBgQExMbG9kpRLBarcy+diYkJHhTDVYde4gEDBixatAghVFdX16HzUk5OjrPvsKssyOMjzmeVlpbiejBJW1tbUVGxqzIBAADwRZQSoYaGho+PT68U1dzc3Lky9/vvv/NeTYbTqlWr8MHTp0/PnDnD+ZG1tfX27ds/P0gsODg4NzeX84yvry+NRuut8gEAoFcJMH0C9iMUBkVFxRs3bvRKUR4eHh4eHr1SFFc9WQcHAAC+FASB+J4O0U0PXUVFRVhYWG1t7ddff93DWeN8EZnBMgAAAL58BCIEePEosL6+fvjw4eXl5QMHDvT29r59+3avx/wfrRECAAAQCREREaampnjUvays7L59+zw9PXv3EVAjBAAA0IvY/L941Qj/+OMPciKZu7t7cnIyue9eb4FECAAAoBcRAr269P79ew0NDXysqalJEATXzdI/BzSN/vsV0zO1nWR6skggvyoqKmprawcPHtzrJWM0NLoviq2pqXn37h25RaWoaG5ufvXqFblWn6hgMplPnjzB69SLlgcPHri5ufGYUvVlevLkiZ2dnYyMTF8UfuLECV9fX97XZGSk8VtsTEzM8uXLO6wf4u3tjZ9FpVKZTCY+iQ94zEkTDCTCf7/w8HByfdTe1dLS0tjYqKWl1ReF9x06nV5VVaWnpyfsQPjDZrNLS0sNDAyEHQjf3r59O2jQIGFHwbdZs2aJYtjFxcUGBga9tRxHB330A6HRaBcvXuzqWbq6uuXl5fi4rKyMSqWSFcTeIkorywAAAPiviYyM3LNnT1paGpVKDQgIyMjI6PU1aCARAgAA+HLR6XQajUan042MjOLi4uLi4gTYRIg3SIQAAAC+aEwm88GDB3V1dWPGjOmLjh5IhAAAAP7TRGxAFAAAANC7YNQo+Ie8vLySkhKEkJqampmZmZyc3GcWSKfTs7KyWlpa+mKFQFJZWdnr168RQoqKimZmZsrKyp9ZYHZ2dkZGhpycnKurK97zuU+9e/cOb92srKxsZmbG1+4iDAYjLS0tPz+fSqU6OTn157DSoqKioqIihJCKioqZmRnewpNf+N/OxcWlj0b8d9bQ0PDixQuEkLS0tKmpKb/Dnh8+fEiO5tfW1h4yZEjvh8hNbW0t3pxcRkbGzMxMgJGT9fX18fHxzc3N1tbW1tbWfRCjyCIA4LB+/XpdXV0ajebo6Kiqqnrr1q3PKe3WrVuSkpLq6up6enq9FSFXJ06cUFZWptFoo0aNUlBQOHHixOeU9tNPPxkaGs6dO9fDw0NVVfX58+e9FWdXAgMD1dXVaTSai4uLoqLi2bNne35vTEyMg4PDokWLZs2apaioGBER0XdxdrB9+3YtLS0ajTZixAglJaXIyEh+S6DT6Q4ODgihoqKivoiQq+fPn4uLi9NotNGjRysrK/v6+vJ1u6KioouLC41Go9Foe/fu7aMgO0tMTJSUlMRhKykp/fDDD3zd/vLlS01NzYkTJy5atMjW1raPghRRkAjBP6xfv3758uX4ODAw0MjICB83NjampaVVVVVxXlxSUvL8+fO8vLyuSquurq6uro6Li+uHROjq6oqPo6KiJCUlW1paCIJoa2vLyMgoKSnhvLiysvL58+fZ2dksFotraUVFReRH3333nZeXV1/GThAEERgYOHnyZHyMtwNjMpkEQbS0tKSnp5eXl3Ne/P79++fPn+fm5naOPzQ01NLSsq+jJW3fvn3mzJn4ODg4WF1dHR83Nzenp6dXVFRwXlxeXv78+fPXr1+z2Wzy5M6dOzdv3tz/iVBOTg4fFxYWUqlU/LcOk8nMzc3Ny8vj/ME2NDS8fPkyIyOjra0Nn1FUVHz79m2/RUtKTEzE66oQBJGTk0OhUP7880+CIBgMRnZ2dkFBAWfYdXV1L168yMzMbG9vx9cYGxufOnWq/8MWCdA0Crrk4OCwbds2giCuXbu2du1aW1vbrKysuXPnHjhwACG0bt26e/fuWVtbl5SUTJkyZcuWLZ1L6IdGxc7s7e3xlPmysrLZs2dbWVm9ffvWxsbm4sWLVCr16NGjBw8eHDZsWHV1tbGxcYe9JDHOWcM6Ojo5OTn9GD6yt7dvamqqr69PS0tbtGjRkCFD8vPzR40aFR4eLiYmtnfv3pCQEAcHh8rKSjs7u8OHD3Pe29zc3EeLJ/Qk7Orq6tbW1gcPHixbtsza2jo3N3fixInBwcEUCuXnn3++ePGivb19RUXFyJEjf/nlF4TQ69evr1+//uDBg8DAQKHEjBAyMjJSUVEpKyvT1tb29PSUl5dnMBgUCiUmJkZbWzsuLm7JkiUODg7t7e0NDQ1PnjzBd6WkpBQWFlpbWwvrp21paSknJ1dWViYlJeXl5aWhodHU1CQjIxMdHa2urn7r1q3Vq1cPHz68paWFwWAkJCS8fPmyvr5+7ty5jx49UlFR+eqrr4QS9pdL2JkYfFnWr1+/YMGCmpqakpKSqVOnjhkzpqamRklJKSkpiSCI6upqLS2t+Ph4Op0uISHR0NCA72IwGDzK7J8aobOzc01NzYcPH9auXauvr89gMExNTUNDQwmCaGtrs7Ozw+2lJiYmqampPQmbIIjq6mp9ff0rV670afAEQQQGBo4fP76mpqaiomLp0qUWFhbt7e16enpXr14lCKKpqcnCwuLcuXMEQWhpaZFVcDL+uro6Go3m5OQ0dOjQwsLCvo6WtH379qlTp9bU1JSXl8+bN8/Ozq65uVlTU/POnTsEQTQ0NAwaNOj69esEQSgoKJSVlXGGzWKxRo4cmZSU1NLSgvq9RigrK1tTU/Px48fg4GApKani4uJZs2Z9++23+IIFCxYsW7aMIIjZs2eHhIRwhk0QxKBBgzw8PNzc3OTl5cPDw/st7MTERHV1dRz24cOHZWVl379/7+npuWnTJoIg2Gz2jBkz/Pz8CILw9PS8cOECZ9jnzp0zNDS0sbGZPXu2qanptGnTumoO+W+CRAj+Yf369VJSUioqKkZGRnPmzHn37l1iYqKJiQl5wYoVK7Zu3UoQhK2trbu7e1hYWIcWsM76JxFKSEioqKjo6+t7eHhkZGSUlZWJi4vT6XR8wf79+2fNmkUQxOzZsx0cHH777beCggLeZTY3N7u5ua1atapPI8cCAwOpVKqKioqBgcHUqVNzcnJyc3Pl5eXJVsSff/4Z/2r28PAYMWLEyZMni4uLydvpdHpcXNzly5eHDRu2Zs2afggY2759u6SkpIqKiqGh4bRp0/Lz81NTUzU0NMgLvv/++7Vr1xIEMXr0aFdX19OnT5PN1Pv378eJRyiJkEKhqKioaGtrjxw58vbt2wRBaGtrv3z5El+QkJBgbGyMgzQ0NNy9e3dqair5b4FbrQmCuHv3rrS09KdPn/on7MTERBy2jo6Om5tbXFwcQRAKCgrZ2dn4gpiYmK+++oogiO3bt5uYmOzbty89PR1/dPr0aYRQcnIyQRBNTU26urpRUVH9E7ZIgOkToCNcIywsLLx06dLAgQNbWlpkZWXJT2VkZPBvrj/++GPWrFnR0dGmpqb4fzPhwjXCkpKSO3fuWFtbt7S0UKlUcqlxWVlZHPa5c+e+//77Z8+e2dra4t4prtra2ry9vQcOHHjixIn+iR/XCIuLi6OioiwtLVtaWmRkZMgVI8n4b9y44evr+/DhwyFDhuzevRt/SqVSaTTarFmzLl26dPz48YaGhv6JGSGEa4Rv3769fv26iYlJh/9ayLDv3r27ZMmS2NhYS0vLX3/9FSF04MCB6urqVatWrVmzBiHk7+//7Nmzfgsb1wjfv3+flJQ0efJkhBD+gXcIe+PGjadPn66oqJg8efKkSZNYLBZCSFxcHF82adIkKSmp3NzcfgtbQ0MDNxs8fPiQRqOxWKy2trbOYW/fvv3o0aPv3r0bP368t7c3QRADBgyQlpZ2cnJCCMnJyQ0bNiwrK6vfwv7yQSIE3bC0tCwoKPj06RN+++TJEzxeXF5efvny5VFRUeHh4SEhIUKNkQsDAwMJCYm0tP9fCJ8Mm0qlzpkz5/z5848fP8ZbfXZGp9PxCMywsDBhbT5gbGzc2NiYl5eH35LxS0lJzZ8/PzIy8n//+19wcHCHuz5+/CgpKSktLd3f4f7FzMyssrISz8BBHGHLyMgsXrz46tWrN27cwH82hYSETJs2jUajjR07FiHk4uKio6MjrLARQlZWVsnJyfj48ePH5KQId3f348ePFxcXP378GM8VIRUUFDQ0NOjr6/d3rH8RFxe3tLR8+vQpfkv+tCkUyqRJk06ePPn27dvbt29XVFSMGDFCTEystLQUIUQQREFBgRDD/gLBYBnQDSMjowULFnh6ei5btuzBgwd0On3evHnv379fuXLlhAkTlJSUwsLC8O+yzsrLy3fu3FleXl5bW7tq1aqBAwf6+/v3T9iSkpIBAQFz5szZsGHD69evHz16hOdgTZo0yd3dXUtLKyYmpquw/f3979+/P3/+/G+//RYhpKmpuWvXrv4Jm6SkpPTjjz96e3v7+fmlp6dnZWX9/vvvbDbb3d0dD464cuUKjn/Hjh3v3783NTX99OlTRETE5s2be32Tmp7T1NT08/ObMmWKr6/v8+fPS0pKli1b1tzcPG3aNA8PD3V19fPnz+Owp06dim9pbW1FCHl4eAh3Y42AgIAFCxbU1tYyGIxDhw7hZZ1XrVqlr68/aNCgjIwMHR0dAwODe/fuhYWF2dratrS0hIeHr1q1Srhh79q1a+XKlVVVVY2NjUePHr1//z5CaMmSJaampgYGBi9evDAzM9PR0RETE/Pz8/P29l66dOnjx49ZLNasWbOEGPaXBpZYA/+QnJzMYDBcXV05TxIEER0dnZaWpq+v7+PjIysry2Aw7t69m5GRwWL9X3t3G9LUF8cB/Cyac2CbbmI1Q2YPNBxURNQbW4YRlS3mDLvWBMuiRkQGvYroAQuSCHugF+5FGVaj0iIYd1Bmk6R8aK1iSlBDNLk6nQ/LNqfsf/2/uDTGNIvSmXffzyv3u2f3nPNCfpzDzvn9t3bt2l27dk26choYGKiurg59TE5O1uv1MzHstrY2l8ul1Woj4jabrb6+XiaTURTFHUCura1tbm72+XwqlSo/P18kEk18m81mCy3FCCESiYSiqJkYdsiHDx+6u7u3bdsWEX/+/HlDQ8PChQsLCgqSkpIIIVar1W63BwIBtVq9e/duoVDY2dlJ03RnZ6dEIsnKyuK2v6LDbrcPDg5u2bIlIk7TdGNjo0Kh2Lt3r0QiYVnWarW+e/dudHR09erVubm54dUxg8HgrVu3CgoK/uw8/h/o7e21WCwHDhyIiDudTovFIhAIdDrdypUrCSEOh+Ply5e9vb1paWkURclksoGBgadPn7pcLm6nceLcZw7DMC9evCgsLIyIv3//nqZpoVCo1+uXLVtGCHn79q3NZvN4PNxxWKlUSn78Fzc1NSmVSoPB8Pd3ZfAJEiEAAMQ0bI3C9Lh69Sq39xiyZ8+enTt3ztZ4ftODBw8sFkt4RKPRHDp0aLbGAwDRhxUhTI/29vahoaHwSGpqakpKymyN5zcxDON2u8Mjcrk8LS1ttsYDANGHRAgAADENxycAACCmIRECAEBMQyIEAICYhkQIwENjY2ODg4PT9bbq6mquki0ALyERAvBHIBAoKyvLyMgQiUQymSwhIWH79u1Wq/UvX3v8+PG7d+9OywgB/kE4RwjAE9+/f9+6dWtLS4vBYLhw4YJEIunq6qqpqcnJyXG73dzFOgAwERIhAE+UlJQ0NjbW1NTk5uaGgkVFRTRN//7to+Pj4x6PJy4ujruXawo+n294eDg5OTn8vjSAuQhbowB80NPTc+fOnby8vPAsyNmxY4dUKjWbzTKZrK2tLfzRiRMnli9fPjY2RghhWfbSpUsKhSIlJSUxMVGhUFRVVU3aV2tra3Z2tlQqXbx4sVwuP336NFefCGCOQiIE4IP6+vpgMKjT6X7WQKfTCQSC8IJZfr+/srJSq9Vy68WSkpJTp07l5+e/fv3a4XCUlpZyCTJCe3v7xo0bR0ZGaJp2Op3nz5+/cuXKmTNnZmJSANGBPQ0APujo6CCEpKen/6yBWCwuLCysrKy8ePEiVzvXbDYPDQ0dPHiQEOJyuW7evGk0Gq9du8a1X7NmzaTvKS0tjYuLs1qt3N6pWq3u7+8vLy8/d+6cUCic9nkBRAFWhAB8wN2VOHUZ4aNHj3q93sePH3MfTSaTRqNRq9WEkLq6OpZli4uLf9nRs2fPVCpVS0tL7Q8JCQk+ny+iaC3AHIIVIQAfcOXdu7q6pmizYsWKzZs3m0wmg8Hw8ePH5ubme/fucY88Hg8hZMmSJb/syO129/f3R5R1TUpK6uvr42r4Acw5WBEC8EFmZqZAIOAKlE/BaDS+evWqtbW1oqJCLpeH6iQnJiYSQiIKcUxKIpHo9fqBCTIzM/9+FgCzAokQgA+WLl2ak5NTVVUVURWSEOJ0On0+H/e3TqdLTU29cePG/fv3i4qK4uPjubhGoyGEPHz48Jcdbdq0qba2dhqvrQGYdUiEADxRUVGxaNGi7OzssrIyp9PJMExTU9PJkyfXr1/v9/u5NvPnzy8uLjaZTF6vN7z+sFqtpijq8uXL5eXlDMN4vd66uronT55M7OXs2bPDw8NarfbNmzd+v59hGJqmjUZjlCYJMBPGAYAvenp69u/fz/0olKNSqW7fvh0MBkNtvn79Om/evKysrIjvjoyMHD58OPTLz/j4+OvXr3OPFArFsWPHQi0bGhpWrVoV6kIsFu/bty8KswOYISjMC8A3gUDgy5cvo6Oj6enpMpks4qndbl+3bp3ZbKYoauJ3v3379unTJ7FYrFQqFyxYwAVZlhUIBAKBILxlR0eH2+2WSqVKpVIkEs3QXACiAIkQIIawLJuXl+dwOD5//oxjfwAcHJ8AiBVHjhyxWCzd3d2PHj1CFgQIwYoQIFZYLJa+vr4NGzZkZGTM9lgA/iFIhAAAENNwfAIAAGIaEiEAAMQ0JEIAAIhp/wPKZ69iv6MU+gAAAABJRU5ErkJggg==",
"image/svg+xml": [
"\n",
"\n"
],
"text/html": [
"\n",
"\n"
]
},
"execution_count": 78,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## Graphical representations of the coverage\n",
"\n",
"# Table\n",
"summary6 = Table(Block = [string(block) for block in design.Description], \n",
" Pos_1 = library6[:,1], Pos_2 = library6[:,2], Pos_3 = library6[:,3],\n",
" Pos_4 = library6[:,4], Pos_5 = library6[:,5], Pos_6 = library6[:,6])\n",
"CSV.write(\"6block_assemblies.csv\", summary6)\n",
"\n",
"# Heatmap\n",
"heatmap([\"Pos_1\", \"Pos_2\", \"Pos3\", \"Pos4\", \"Pos5\", \"Pos6\"], \n",
"[string(block) for block in design.Description], library6\n",
", xlabel = \"Cycle\" , ylabel = \"Building blocks\", clims=(0,0.5),show_empty=true)\n"
]
},
{
"cell_type": "code",
"execution_count": 82,
"id": "e410e9da",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"6-element Vector{Tuple{Int64, Int64}}:\n",
" (1092492, 13)\n",
" (1192895, 168)\n",
" (1388113, 1469)\n",
" (1123853, 6176)\n",
" (603441, 11546)\n",
" (125757, 7145)"
]
},
"execution_count": 82,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## This creates a convenient summary of the sequence numbers and diversity\n",
"[Cycle1,Cycle2,Cycle3,Cycle4,Cycle5,Cycle6]"
]
},
{
"cell_type": "code",
"execution_count": 96,
"id": "029820f0",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"53×3 DataFrame
28 rows omitted
| 1 | 3 | [2, 2, 2] | 1144 |
| 2 | 3 | [2, 2, 11] | 359 |
| 3 | 3 | [2, 10, 11] | 355 |
| 4 | 3 | [1, 5, 11] | 262 |
| 5 | 3 | [2, 2, 10] | 179 |
| 6 | 3 | [11, 11, 11] | 149 |
| 7 | 3 | [2, 6, 11] | 144 |
| 8 | 3 | [2, 11, 11] | 142 |
| 9 | 3 | [2, 10, 10] | 126 |
| 10 | 3 | [1, 2, 2] | 85 |
| 11 | 3 | [10, 10, 11] | 84 |
| 12 | 3 | [10, 11, 11] | 74 |
| 13 | 3 | [2, 6, 10] | 66 |
| ⋮ | ⋮ | ⋮ | ⋮ |
| 42 | 3 | [5, 10, 10] | 2 |
| 43 | 3 | [2, 6, 6] | 2 |
| 44 | 3 | [5, 5, 10] | 2 |
| 45 | 3 | [2, 3, 10] | 2 |
| 46 | 3 | [1, 1, 3] | 2 |
| 47 | 3 | [1, 1, 1] | 1 |
| 48 | 3 | [5, 6, 10] | 1 |
| 49 | 3 | [3, 6, 10] | 1 |
| 50 | 3 | [1, 3, 11] | 1 |
| 51 | 3 | [1, 6, 10] | 1 |
| 52 | 3 | [5, 5, 11] | 1 |
| 53 | 3 | [2, 3, 3] | 1 |
"
],
"text/latex": [
"\\begin{tabular}{r|ccc}\n",
"\t& block\\_numbers & block\\_array & Count\\\\\n",
"\t\\hline\n",
"\t& Any & Any & Any\\\\\n",
"\t\\hline\n",
"\t1 & 3 & [2, 2, 2] & 1144 \\\\\n",
"\t2 & 3 & [2, 2, 11] & 359 \\\\\n",
"\t3 & 3 & [2, 10, 11] & 355 \\\\\n",
"\t4 & 3 & [1, 5, 11] & 262 \\\\\n",
"\t5 & 3 & [2, 2, 10] & 179 \\\\\n",
"\t6 & 3 & [11, 11, 11] & 149 \\\\\n",
"\t7 & 3 & [2, 6, 11] & 144 \\\\\n",
"\t8 & 3 & [2, 11, 11] & 142 \\\\\n",
"\t9 & 3 & [2, 10, 10] & 126 \\\\\n",
"\t10 & 3 & [1, 2, 2] & 85 \\\\\n",
"\t11 & 3 & [10, 10, 11] & 84 \\\\\n",
"\t12 & 3 & [10, 11, 11] & 74 \\\\\n",
"\t13 & 3 & [2, 6, 10] & 66 \\\\\n",
"\t14 & 3 & [5, 6, 11] & 60 \\\\\n",
"\t15 & 3 & [2, 2, 3] & 48 \\\\\n",
"\t16 & 3 & [1, 1, 10] & 44 \\\\\n",
"\t17 & 3 & [2, 5, 11] & 34 \\\\\n",
"\t18 & 3 & [10, 10, 10] & 32 \\\\\n",
"\t19 & 3 & [6, 11, 11] & 31 \\\\\n",
"\t20 & 3 & [2, 5, 10] & 28 \\\\\n",
"\t21 & 3 & [1, 10, 11] & 27 \\\\\n",
"\t22 & 3 & [6, 10, 11] & 27 \\\\\n",
"\t23 & 3 & [1, 1, 2] & 24 \\\\\n",
"\t24 & 3 & [3, 10, 11] & 24 \\\\\n",
"\t25 & 3 & [5, 10, 11] & 22 \\\\\n",
"\t26 & 3 & [1, 11, 11] & 22 \\\\\n",
"\t27 & 3 & [5, 11, 11] & 21 \\\\\n",
"\t28 & 3 & [1, 1, 11] & 19 \\\\\n",
"\t29 & 3 & [3, 11, 11] & 18 \\\\\n",
"\t30 & 3 & [1, 2, 11] & 16 \\\\\n",
"\t$\\dots$ & $\\dots$ & $\\dots$ & $\\dots$ \\\\\n",
"\\end{tabular}\n"
],
"text/plain": [
"\u001b[1m53×3 DataFrame\u001b[0m\n",
"\u001b[1m Row \u001b[0m│\u001b[1m block_numbers \u001b[0m\u001b[1m block_array \u001b[0m\u001b[1m Count \u001b[0m\n",
" │\u001b[90m Any \u001b[0m\u001b[90m Any \u001b[0m\u001b[90m Any \u001b[0m\n",
"─────┼────────────────────────────────────\n",
" 1 │ 3 [2, 2, 2] 1144\n",
" 2 │ 3 [2, 2, 11] 359\n",
" 3 │ 3 [2, 10, 11] 355\n",
" 4 │ 3 [1, 5, 11] 262\n",
" 5 │ 3 [2, 2, 10] 179\n",
" 6 │ 3 [11, 11, 11] 149\n",
" 7 │ 3 [2, 6, 11] 144\n",
" 8 │ 3 [2, 11, 11] 142\n",
" 9 │ 3 [2, 10, 10] 126\n",
" 10 │ 3 [1, 2, 2] 85\n",
" 11 │ 3 [10, 10, 11] 84\n",
" ⋮ │ ⋮ ⋮ ⋮\n",
" 44 │ 3 [5, 5, 10] 2\n",
" 45 │ 3 [2, 3, 10] 2\n",
" 46 │ 3 [1, 1, 3] 2\n",
" 47 │ 3 [1, 1, 1] 1\n",
" 48 │ 3 [5, 6, 10] 1\n",
" 49 │ 3 [3, 6, 10] 1\n",
" 50 │ 3 [1, 3, 11] 1\n",
" 51 │ 3 [1, 6, 10] 1\n",
" 52 │ 3 [5, 5, 11] 1\n",
" 53 │ 3 [2, 3, 3] 1\n",
"\u001b[36m 32 rows omitted\u001b[0m"
]
},
"execution_count": 96,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#= Comparing the diversity per length above with what is expected, it is clear that some sequence spaces are being sampled\n",
"beyond the expected space. For instance, 3-block assemblies which are expected to have only 1014 variants unless alternative\n",
"assemblies are included, e.g. AAA, BAA. =#\n",
"\n",
"Aset = [1, 2, 3, 5, 6, 10, 11]\n",
"variants = collect(with_replacement_combinations(Aset, 3))\n",
"\n",
"AAA = filter(row -> row.block_array ∈ variants, three_cycle)"
]
},
{
"cell_type": "markdown",
"id": "94acd8ff",
"metadata": {},
"source": [
"### Microcins characterised in this work"
]
},
{
"cell_type": "code",
"execution_count": 83,
"id": "b1b75868",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{tabular}{r|ccc}\n",
"\t& block\\_numbers & block\\_array & Count\\\\\n",
"\t\\hline\n",
"\t& Any & Any & Any\\\\\n",
"\t\\hline\n",
"\t1 & 5 & [10, 12, 12, 9, 11] & 251 \\\\\n",
"\\end{tabular}\n"
],
"text/plain": [
"\u001b[1m1×3 DataFrame\u001b[0m\n",
"\u001b[1m Row \u001b[0m│\u001b[1m block_numbers \u001b[0m\u001b[1m block_array \u001b[0m\u001b[1m Count \u001b[0m\n",
" │\u001b[90m Any \u001b[0m\u001b[90m Any \u001b[0m\u001b[90m Any \u001b[0m\n",
"─────┼───────────────────────────────────────────\n",
" 1 │ 5 [10, 12, 12, 9, 11] 251"
]
},
"execution_count": 83,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# MH10 peptide presence in original library\n",
"mh10 = filter(row -> row.block_array == [10, 12, 12, 9,11], five_cycle)"
]
},
{
"cell_type": "code",
"execution_count": 84,
"id": "02df3761",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/latex": [
"\\begin{tabular}{r|ccc}\n",
"\t& block\\_numbers & block\\_array & Count\\\\\n",
"\t\\hline\n",
"\t& Any & Any & Any\\\\\n",
"\t\\hline\n",
"\t1 & 5 & [3, 9, 7, 12, 11] & 411 \\\\\n",
"\\end{tabular}\n"
],
"text/plain": [
"\u001b[1m1×3 DataFrame\u001b[0m\n",
"\u001b[1m Row \u001b[0m│\u001b[1m block_numbers \u001b[0m\u001b[1m block_array \u001b[0m\u001b[1m Count \u001b[0m\n",
" │\u001b[90m Any \u001b[0m\u001b[90m Any \u001b[0m\u001b[90m Any \u001b[0m\n",
"─────┼─────────────────────────────────────────\n",
" 1 │ 5 [3, 9, 7, 12, 11] 411"
]
},
"execution_count": 84,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mf1 = filter(row -> row.block_array == [3, 9, 7, 12, 11], five_cycle)"
]
},
{
"cell_type": "code",
"execution_count": 98,
"id": "ea04264c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"5526551"
]
},
"execution_count": 98,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"viableAssembly"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "aad73742",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 1.8.3",
"language": "julia",
"name": "julia-1.8"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.8.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}