# General configuration:

# Path to library design file (csv or tab-separated txt format, columns: id, sequence, gene)
library: ../library.csv
# Species to use for linkouts in VISPR (e.g. mus_musculus, homo_sapiens, ...)
species: homo_sapiens
# Genome assembly to use for linkouts in VISPR (e.g. hg19, hg38, mm9, mm10, ...)
assembly: hg38

# Configuration of knockout target display in VISPR
targets:
    # if screening genes, set this to true for proper linkouts to GeneMANIA and Ensembl in VISPR
    genes: true
    # file with genes to hide per default in VISPR (optional, one gene per line)
    #controls: ribosomal_genes.txt

# Configuration of sgRNAs
sgrnas:
    # estimate sgRNA knockout efficiency during EM-procedure of MAGeCK-MLE
    update-efficiency: false
    # trim the 5 prime end to get rid of barcode sequences in the reads
    # if a number (instead of AUTO) is specified, use quotes; for example: 
    # trim-5: "0"
    trim-5: AUTO
    # specify the length of the sgRNAs (without PAM sequence)
    len: AUTO
    # sequencing adapter that shall be removed from reads before processing with MAGeCK (optional)
    #adapter: ACGGCTAGCTGA

# ATTENTION: You should and only should choose one type of input file between "samples" and "counts".
# Configuration of samples (Cannot set "counts" as valid at the same time!)
samples:
    # The following sample information was inferred from the given FASTQ files.
    # Adjust it according to your needs (e.g. providing descriptive sample names and grouping replicates together).
    GSC_0131_Day0_Rep1:
        - ../../fastq/GSC_0131_Day0_Rep1.fastq.gz
    GSC_0131_Day0_Rep2:
        - ../../fastq/GSC_0131_Day0_Rep2.fastq.gz
    GSC_0131_Day23_Rep1:
        - ../../fastq/GSC_0131_Day23_Rep1.fastq.gz
    Gsc_0131_Day23_Rep2:
        - ../../fastq/GSC_0131_Day23_Rep2.fastq.gz

# Provide your own normalized count matrix (Cannot set "samples" as valid at the same time!).
# Support QC from count matrix
# counts: rawcount/rawcount.txt

# Provide mageck count --day0-label (optional). Multiple labels should be seperated with comma.
# day0label: plasmid


# Provide normalization methods and a list of negative control sgrnas. These parameters will be applied to mageck_count, mageck_rra and mageck_mle modules.
# norm_method: control
# control_sgrna: lib/hg19_library_1.aavs1.txt

# Run mle with multi-thread. Default thread number is 1.
# When this parameter is set (e.g., threads: 4), make sure to specify the cores in running snakemake (snakemake --cores 4)
# threads: 1

# Provide a batch matrix if the samples need to be batch corrected (optional).
# The format should be as follows (tab-separated):
# sample          batch   covariate 1 ...
# Sample 1        1       0           ...
# Sample 2        2       0           ...
# Sample 3        2       1           ...
#
# The first column must refer to the samples defined above.
# batchmatrix: path/to/batchmatrix.txt

# Additional parameters to run MLE or RRA
# additional_mle_rra_parameter: --remove-zero both 

# Configuration of experiments.
# An experiment defines the comparison that shall be analyzed with MAGeCK.
# You can define as many experiments as you want.
# You can define either MAGeCK-RRA or MAGeCK-MLE experiments, but cannot define both in a single configuration file.
experiments:
    # provide a descriptive name for your experiment (it will show up in VISPR)
    "mle":
        # This is a MAGeCK-MLE experiment.
        # Here, users can either specify a day0label, or a design matrix file (see http://mageck.sourceforge.net for details).
        # if day0label is specified, use an empty file (like /dev/null) as a design matrix file.
        # Sample names in the design matrix must refer to the samples defined above.
        designmatrix: ../designmatrix.txt
    "rra":
        # This is a MAGeCK-RRA experiment.
        # You must specify treatment and control samples.
        # The sample names must refer to the samples defined above in the
        # samples section.
        treatment:
            - GSC_0131_Day23_Rep1
            - GSC_0131_Day23_Rep2
        control:
            - GSC_0131_Day0_Rep1
            - GSC_0131_Day0_Rep2