MAGECK FLUTEMLE
CRISPR integrative analysis pipeline using the gene summary table in MAGeCK MLE results
URL: https://bioconductor.org/packages/3.20/bioc/html/MAGeCKFlute.html
Example
This wrapper can be used in the following way:
rule test_mageck_flute_mle:
input:
"gene_summary.txt",
output:
directory("test_mageck_flute_mle"),
log:
"test_mageck_flute_mle.log",
params:
treatname="Pmel1",
ctrlname="Pmel1_Input",
organism="mmu",
omitEssential=True,
wrapper:
"v9.9.0/bio/mageckflute/flutemle"
Note that input, output and log file paths can be chosen freely.
When running with
snakemake --use-conda
the software dependencies will be automatically deployed into an isolated environment before execution.
Notes
The output directory content depends on optional parameters and the content of the CRISPR data.
Software dependencies
bioconductor-mageckflute=2.9.0
Input/Output
Input:
Path to the MLE gene summary table
Output:
Path to the directory holding results
Params
A:n:y:`` ``:
n:a:m:e:d:`` ``:
a:r:g:u:m:e:n:t:`` ``:
p:r:e:s:e:n:t:`` ``:
i:n:`` ``:
M:A:G:e:C:K:F:l:u:t:e:::F:l:u:t:e:M:L:E:`` ``:
f:u:n:c:t:i:o:n:`` ``:
(:s:e:e:`` ``:
U:R:L:`` ``:
a:b:o:v:e:):.:`` ``:
R:e:m:e:m:b:e:r:`` ``:
`:t:r:e:a:t:n:a:m:e:`:`` ``:
*:*:M:U:S:T:*:*:`` ``:
b:e:`` ``:
i:n:c:l:u:d:e:d:,:`` ``:
w:h:i:l:e:`` ``:
`:g:e:n:e:_:s:u:m:m:a:r:y:`:`` ``:
a:n:d:`` ``:
`:o:u:t:d:i:r:`:`` ``:
a:r:e:`` ``:
a:u:t:o:m:a:t:i:c:a:l:l:y:`` ``:
d:e:t:e:r:m:i:n:e:d:`` ``:
f:r:o:m:`` ``:
I:O:`` ``:
a:n:d:`` ``:
t:h:e:r:e:f:o:r:e:`` ``:
m:u:s:t:`` ``:
*:*:n:o:t:*:*:`` ``:
b:e:`` ``:
i:n:c:l:u:d:e:d:.:
Code
# This wrapper performs Mageck flute mle downstream analysis
# __author__ = "Thibault Dayris"
# __copyright__ = "Copyright 2026, Thibault Dayris"
# __email__ = "thibault.dayris@gustaveroussy.fr"
# __license__ = "MIT"
# Sink the stderr and stdout to the snakemake log file
# https://stackoverflow.com/a/48173272
log_file <- base::file(description = snakemake@log[[1]], open = "wt")
base::sink(file = log_file)
base::sink(file = log_file, type = "message")
base::library(package = "MAGeCKFlute", character.only = TRUE)
# Running MaGeCK flute
base::message("Building command line")
outdir <- base::as.character(x = snakemake@output[[1]])
base::dir.create(
outdir,
showWarnings = FALSE,
recursive = TRUE
)
# Build command line extra parameters
flute_mle_extra <- base::list(
gene_summary = snakemake@input[[1]],
outdir = outdir
)
if (base::length(snakemake@params) > 0) {
extra <- snakemake@params[base::names(snakemake@params) != ""]
flute_mle_extra <- c(extra, flute_mle_extra)
}
# Run command line
base::message("Running command line:")
base::do.call(MAGeCKFlute::FluteMLE, flute_mle_extra)
utils::sessionInfo()
# Proper syntax to close the connection for the log file
# but could be optional for Snakemake wrapper
base::sink(type = "message")
base::sink()