"AutoTx/Resources/Make-Package.ps1" did not exist on "34e476d5b0ea639d57daabb39a40cbd618792664"
Newer
Older
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
STAR \
--runMode inputAlignmentsFromBAM \
--runThreadN {threads} \
--inputBAMfile {input.bam} \
--outWigType bedGraph \
--outWigStrand {params.stranded} \
--outWigNorm RPM \
--outFileNamePrefix {params.prefix}) \
1> {log.stdout} 2> {log.stderr}"
rule rename_star_rpm_for_alfa:
input:
plus = lambda wildcards:
expand(
os.path.join(
config["output_dir"],
"samples",
"{sample}",
"STAR_coverage",
"{sample}_Signal.{unique}.{plus}.out.bg"),
sample=wildcards.sample,
unique=wildcards.unique,
BIOPZ-Katsantoni Maria
committed
plus=get_sample(
'alfa_plus',
search_id='index',
search_value=wildcards.sample)),
minus = lambda wildcards:
expand(
os.path.join(
config["output_dir"],
"samples",
"{sample}",
"STAR_coverage",
"{sample}_Signal.{unique}.{minus}.out.bg"),
sample=wildcards.sample,
unique=wildcards.unique,
BIOPZ-Katsantoni Maria
committed
minus=get_sample(
'alfa_minus',
search_id='index',
search_value=wildcards.sample))
output:
plus = os.path.join(
config["output_dir"],
"samples",
"{sample}",
"ALFA",
"{unique}",
"{sample}.{unique}.plus.bg"),
minus = os.path.join(
config["output_dir"],
"samples",
"{sample}",
"ALFA",
"{unique}",
"{sample}.{unique}.minus.bg")
params:
orientation = lambda wildcards:
BIOPZ-Katsantoni Maria
committed
get_sample(
'kallisto_directionality',
search_id='index',
search_value=wildcards.sample),
log:
stderr = os.path.join(
config["log_dir"],
"samples",
"{sample}",
"rename_star_rpm_for_alfa__{unique}.stderr.log"),
stdout = os.path.join(
config["log_dir"],
"samples",
"{sample}",
"rename_star_rpm_for_alfa__{unique}.stdout.log")
singularity:
"docker://bash:5.0.16"
shell:
"(cp {input.plus} {output.plus}; \
cp {input.minus} {output.minus};) \
1>{log.stdout} 2>{log.stderr}"
rule generate_alfa_index:
''' Generate ALFA index files from sorted GTF file '''
input:
BIOPZ-Katsantoni Maria
committed
get_sample(
'gtf',
search_id='organism',
search_value=wildcards.organism),
chr_len = os.path.join(
config["star_indexes"],
"{organism}",
"{index_size}",
"STAR_index",
"chrNameLength.txt"),
output:
index_stranded = os.path.join(
config["alfa_indexes"],
"{organism}",
"{index_size}",
"ALFA",
index_unstranded = os.path.join(
config["alfa_indexes"],
"{organism}",
"{index_size}",
"ALFA",
"sorted_genes.unstranded.ALFA_index")
params:
genome_index = "sorted_genes",
out_dir = lambda wildcards, output:
os.path.dirname(output.index_stranded)
log:
os.path.join(
config["log_dir"],
"{organism}_{index_size}_generate_alfa_index.log")
"(alfa -a {input.gtf} \
-g {params.genome_index} \
--chr_len {input.chr_len} \
-p {threads} \
-o {params.out_dir}) &> {log}"
'''
Run ALFA from stranded bedgraph files
'''
input:
plus = os.path.join(
config["output_dir"],
gtf = lambda wildcards:
os.path.join(
config["alfa_indexes"],
BIOPZ-Katsantoni Maria
committed
get_sample(
'organism',
search_id='index',
search_value=wildcards.sample),
get_sample(
'index_size',
search_id='index',
search_value=wildcards.sample),
"ALFA",
"sorted_genes.stranded.ALFA_index")
output:
biotypes = os.path.join(
config["output_dir"],
"ALFA_plots.Biotypes.pdf"),
categories = os.path.join(
config["output_dir"],
"ALFA_plots.Categories.pdf"),
table = os.path.join(
config["output_dir"],
out_dir = lambda wildcards, output:
os.path.dirname(output.biotypes),
BIOPZ-Katsantoni Maria
committed
get_sample(
'alfa_directionality',
search_id='index',
search_value=wildcards.sample),
genome_index = lambda wildcards, input:
os.path.abspath(
os.path.join(
os.path.dirname(input.gtf),
"sorted_genes")),
"samples",
"{sample}",
"alfa_qc.{unique}.log")
"(cd {params.out_dir}; \
alfa \
-g {params.genome_index} \
--bedgraph {params.plus} {params.minus} {params.name} \
'''
Run ALFA from stranded bedgraph files on all samples
'''
tables = lambda wildcards:
expand(
os.path.join(
config["output_dir"],
"samples",
"{sample}",
"ALFA",
"{unique}",
BIOPZ-Katsantoni Maria
committed
sample=pd.unique(samples_table.index.values),
output:
biotypes = os.path.join(
config["output_dir"],
"ALFA",
"ALFA_plots.Biotypes.pdf"),
categories = os.path.join(
config["output_dir"],
"ALFA",
out_dir = lambda wildcards, output:
os.path.dirname(output.biotypes)
log:
os.path.join(
config["log_dir"],
"alfa_qc_all_samples.{unique}.log")
"(alfa -c {input.tables} -o {params.out_dir}) &> {log}"
expand(
os.path.join(
config["output_dir"],
"ALFA",
"{unique}",
"ALFA_plots.{annotation}.pdf"),
unique=["Unique", "UniqueMultiple"],
annotation=["Categories", "Biotypes"])
log:
os.path.join(
config["log_dir"],
"alfa_qc_all_samples.concat.log")
"docker://zavolab/imagemagick:7.0.8"
"(convert -append -density {params.density} \
{input} {output}) &> {log}"
rule prepare_multiqc_config:
'''
Prepare config for the MultiQC
'''
input:
script = os.path.join(
workflow.basedir,
"workflow",
"scripts",
output:
multiqc_config = os.path.join(
config["output_dir"],
"multiqc_config.yaml")
logo_path = config['report_logo'],
multiqc_intro_text = config['report_description'],
url = config['report_url']
log:
stderr = os.path.join(
config["log_dir"],
"prepare_multiqc_config.stderr.log"),
stdout = os.path.join(
config["log_dir"],
"prepare_multiqc_config.stdout.log")
shell:
--intro-text '{params.multiqc_intro_text}' \
--custom-logo {params.logo_path} \
--url '{params.url}') \
BIOPZ-Katsantoni Maria
committed
sample=pd.unique(samples_table.index.values),
mate="fq1"),
fastqc_pe = expand(
os.path.join(
config['output_dir'],
"samples",
"{sample}",
"fastqc",
"{mate}"),
BIOPZ-Katsantoni Maria
committed
sample=[i for i in pd.unique(
samples_table[samples_table['seqmode'] == 'pe'].index.values)],
mate="fq2"),
pseudoalignment = expand(
os.path.join(
config['output_dir'],
BIOPZ-Katsantoni Maria
committed
sample=[i for i in pd.unique(samples_table.index.values)],
seqmode=[get_sample('seqmode', search_id='index', search_value=i)
for i in pd.unique(samples_table.index.values)]),
config["output_dir"],
"multiqc_config.yaml")
output:
multiqc_report = directory(
os.path.join(
config["output_dir"],
"multiqc_summary"))
results_dir = os.path.join(
config["output_dir"]),
log_dir = config["log_dir"]
stderr = os.path.join(
config["log_dir"],
stdout = os.path.join(
config["log_dir"],
singularity:
"docker://ewels/multiqc:1.7"
shell:
"(multiqc \
--outdir {output.multiqc_report} \
--config {input.multiqc_config} \
{params.results_dir} \
{params.log_dir};) \
1> {log.stdout} 2> {log.stderr}"
sort bedGraphs in order to work with bedGraphtobigWig
config["output_dir"],
"samples",
"{sample}",
"ALFA",
"{unique}",
sorted_bg = os.path.join(
config["output_dir"],
"samples",
"{sample}",
"bigWig",
"{unique}",
"{sample}_{unique}_{strand}.sorted.bg")
singularity:
"docker://cjh4zavolab/bedtools:2.27"
stderr = os.path.join(
config["log_dir"],
"sort_bg_{unique}_{strand}.stderr.log")
"(sortBed \
-i {input.bg} \
> {output.sorted_bg};) 2> {log.stderr}"
bedGraphtobigWig, for viewing in genome browsers
sorted_bg = os.path.join(
config["output_dir"],
"samples",
"{sample}",
"bigWig",
"{unique}",
"{sample}_{unique}_{strand}.sorted.bg"),
chr_sizes = lambda wildcards:
os.path.join(
config['star_indexes'],
BIOPZ-Katsantoni Maria
committed
get_sample(
'organism',
search_id='index',
search_value=wildcards.sample),
get_sample(
'index_size',
search_id='index',
search_value=wildcards.sample),
"STAR_index",
"chrNameLength.txt")
bigWig = os.path.join(
config["output_dir"],
"samples",
"{sample}",
"bigWig",
"{unique}",
"{sample}_{unique}_{strand}.bw")
singularity:
"docker://zavolab/bedgraphtobigwig:4-slim"
stderr = os.path.join(
config["log_dir"],
"samples",
"{sample}",
"bigwig_{unique}_{strand}.stderr.log"),
stdout = os.path.join(
config["log_dir"],
"samples",
"{sample}",
"bigwig_{unique}_{strand}.stdout.log")
"(bedGraphToBigWig \
{input.sorted_bg} \
{input.chr_sizes} \
{output.bigWig};) \
1> {log.stdout} 2> {log.stderr}"