Mercurial > repos > padge > mcdoe
diff report.jmd @ 0:cc0957c46408 draft
"planemo upload for repository https://github.com/kirstvh/MultiplexCrisprDOE commit b6c1b1860eee82b06ed4a592d1f9eee6886be318-dirty"
author | padge |
---|---|
date | Thu, 12 May 2022 17:39:18 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/report.jmd Thu May 12 17:39:18 2022 +0000 @@ -0,0 +1,102 @@ +--- +title: MultiplexCrisprDOE +--- + +<!-- this setup dependencies, but doesn't appear in the generated document --> +```julia; echo = false; results = "hidden" +using Pkg +"Plots" ∉ keys(Pkg.project().dependencies) && Pkg.add("Plots") +#"DSP" ∉ keys(Pkg.project().dependencies) && Pkg.add("DSP") +#"Images" ∉ keys(Pkg.project().dependencies) && Pkg.add("Images") +"DataStructures" ∉ keys(Pkg.project().dependencies) && Pkg.add("DataStructures") +"PrettyTables" ∉ keys(Pkg.project().dependencies) && Pkg.add("PrettyTables") +"DataFrames" ∉ keys(Pkg.project().dependencies) && Pkg.add("DataFrames") +"Latexify" ∉ keys(Pkg.project().dependencies) && Pkg.add("Latexify") +``` +## Tool + +* **Method:** `j println(WEAVE_ARGS.tool_info["method"])` + +* **Description:** `j println(WEAVE_ARGS.tool_info["description"])` + +* **Mode:** `j println(WEAVE_ARGS.tool_info["mode"])` + +* **Mode description:** `j println(WEAVE_ARGS.tool_info["mode_description"])` + +## Variables + +```julia; echo = false +using DataFrames +using PrettyTables +df = DataFrame("Argument" => collect(keys(WEAVE_ARGS.args_info)), "Value" => collect(values(WEAVE_ARGS.args_info))) +#pt = pretty_table(df, nosubheader=true; alignment=:l) +``` + +```julia; echo = false + using Plots + if haskey(WEAVE_ARGS.grna_dict,"p_gRNA_reads") + h1 = histogram(WEAVE_ARGS.grna_dict["p_gRNA_reads"], label="", + xlabel="Number of reads per gRNA", + linecolor="white", + normalize=:probability, + xtickfontsize=10,ytickfontsize=10, + color=:mediumturquoise, size=(600,350), bins = 25, + ylabel="Relative frequency", + title="gRNA frequency distribution") + display(h1) + end +``` + +```julia; echo = false + using Plots + if haskey(WEAVE_ARGS.grna_dict,"p_gRNA_edit") + h2 = histogram(WEAVE_ARGS.grna_dict["p_gRNA_edit"], + normalize = :probability, + linecolor = "white", + label="", + color=:turquoise4, + xtickfontsize=10,ytickfontsize=10, xlim = (0, 1), + xticks=(0:0.1:1), + bins = 150, + xlabel="gRNA editing efficiency", + ylabel="Relative frequency", + title="gRNA genome editing effiency distribution") + display(h2) + end +``` + +```julia; echo = false + using Plots + if haskey(WEAVE_ARGS.output,"output file") + println("Output written to:") + println(WEAVE_ARGS.output["output file"]) + elseif haskey(WEAVE_ARGS.output,"E_sim") + E_sim = WEAVE_ARGS.output["E_sim"] + sd_sim = WEAVE_ARGS.output["sd_sim"] + k = WEAVE_ARGS.args_info["# of gRNAs / combi gRNA/Cas construct"] + x = WEAVE_ARGS.args_info["# of target genes in the experiment"] + println("**How many plants need to be included in the plant library (on average) to obtain full coverage of all k-combinations of gene knockouts?**") + println("On average, ", Int(ceil(E_sim)), " plants need to be sampled at random to observe all ", k, "-combinations of ", x, " gene knockouts. Standard deviation = ", Int(ceil(sd_sim)), " plants") + elseif haskey(WEAVE_ARGS.output,"P_sim") + p = plot(WEAVE_ARGS.output["pls"], WEAVE_ARGS.output["P_sim"], label="Pₓ₂", + title="Probability of full combinatorial coverage with respect to plant library size", + xlabel="N", ylabel="Pₓₖ", + xticks = (0:500:50000, string.(0:500:50000)), + size=(900,400), color=:turquoise4, linewidth=2) + hline!([0.95], linestyle=:dash, color=:grey, label="Pₓₖ = 0.95", legend=:bottomright) + display(p) + println("At a given number of plants, what is the probability that all pairwise combinations of gene knockouts are observed?") + println("N_95_P: ", WEAVE_ARGS.output["N_95_P"]) + elseif haskey(WEAVE_ARGS.output,"E_cov") + p = plot(WEAVE_ARGS.output["pls"], WEAVE_ARGS.output["E_cov"], + label="E[γₓ₂]", title="Expected combinatorial coverage w.r.t. plant library size", + xlabel="N", ylabel="E[γₓₖ]", + xticks = (0:500:50000, string.(0:500:50000)), + size=(800,400), color=:turquoise4, linewidth=2) + hline!([0.95], linestyle=:dash, color=:grey, label="E[γₓₖ] = 0.95", legend=:bottomright) + display(p) + println("At a given number of plants, what is the expected coverage of pairwise gene knockout combinations?") + println("N_95: ", WEAVE_ARGS.output["N_95"]) + end +``` +