Skip to content
Snippets Groups Projects
Commit f31261b5 authored by Alex Kanitz's avatar Alex Kanitz
Browse files

Merge branch 'generate_gene_count_tables_from_salmon' into 'master'

Generate gene and transcript count tables from salmon

Closes #51

See merge request zavolan_group/pipelines/rnaseqpipeline!33
parents 0c039203 357ed828
Branches
Tags
1 merge request!33Generate gene and transcript count tables from salmon
Pipeline #10383 passed
...@@ -102,10 +102,8 @@ rule finish: ...@@ -102,10 +102,8 @@ rule finish:
for i in list(samples_table.index.values) for i in list(samples_table.index.values)
] ]
), ),
salmon_merge_genes = os.path.join(config["output_dir"], "summary_salmon", "quantmerge", "genes_tpm.tsv"), salmon_merge_genes = expand(os.path.join(config["output_dir"], "summary_salmon", "quantmerge", "genes_{salmon_merge_on}.tsv"), salmon_merge_on=["tpm", "numreads"]),
salmon_merge_tr = os.path.join(config["output_dir"], "summary_salmon", "quantmerge", "tr_tpm.tsv"), salmon_merge_transcripts = expand(os.path.join(config["output_dir"], "summary_salmon", "quantmerge", "transcripts_{salmon_merge_on}.tsv"), salmon_merge_on=["tpm", "numreads"])
rule create_index_star: rule create_index_star:
"""Create index for STAR alignments""" """Create index for STAR alignments"""
...@@ -311,32 +309,33 @@ rule calculate_TIN_scores: ...@@ -311,32 +309,33 @@ rule calculate_TIN_scores:
2> {log}" 2> {log}"
rule salmon_quantmerge_genes_tpm: rule salmon_quantmerge_genes:
''' Merge gene quantifications into a single file. ''' ''' Merge gene quantifications into a single file. '''
input: input:
salmon_in = expand(os.path.join( salmon_in = expand(os.path.join(
config["output_dir"], config["output_dir"],
"{seqmode}", "{seqmode}",
"{sample}", "{sample}",
"salmon_quant", "salmon_quant",
"quant.genes.sf"), "quant.genes.sf"),
zip, zip,
sample= list(samples_table.index.values), sample= list(samples_table.index.values),
seqmode= list(samples_table["seqmode"])), seqmode= list(samples_table["seqmode"])),
output: output:
salmon_out = os.path.join(config["output_dir"], "summary_salmon", "quantmerge", "genes_tpm.tsv") salmon_out = os.path.join(config["output_dir"], "summary_salmon", "quantmerge", "genes_{salmon_merge_on}.tsv")
params: params:
salmon_dir = expand(os.path.join( salmon_dir = expand(os.path.join(
config["output_dir"], config["output_dir"],
"{seqmode}", "{seqmode}",
"{sample}", "{sample}",
"salmon_quant"), "salmon_quant"),
zip, zip,
sample= list(samples_table.index.values), sample= list(samples_table.index.values),
seqmode= list(samples_table["seqmode"])), seqmode= list(samples_table["seqmode"])),
sample_name_list = expand("{sample}", sample= list(samples_table.index.values)) sample_name_list = expand("{sample}", sample= list(samples_table.index.values)),
salmon_merge_on = "{salmon_merge_on}"
log: log:
os.path.join(config["log_dir"], "salmon_quantmerge_genes_tpm.log") os.path.join(config["log_dir"], "salmon_quantmerge_genes_{salmon_merge_on}.log")
threads: 1 threads: 1
singularity: singularity:
"docker://zavolab/salmon:1.1.0-slim" "docker://zavolab/salmon:1.1.0-slim"
...@@ -345,41 +344,42 @@ rule salmon_quantmerge_genes_tpm: ...@@ -345,41 +344,42 @@ rule salmon_quantmerge_genes_tpm:
--quants {params.salmon_dir} \ --quants {params.salmon_dir} \
--genes \ --genes \
--names {params.sample_name_list} \ --names {params.sample_name_list} \
--column tpm \ --column {params.salmon_merge_on} \
--output {output.salmon_out}) &> {log}" --output {output.salmon_out}) &> {log}"
rule salmon_quantmerge_tr_tpm: rule salmon_quantmerge_transcripts:
''' Merge gene quantifications into a single file. ''' ''' Merge gene quantifications into a single file. '''
input: input:
salmon_in = expand(os.path.join( salmon_in = expand(os.path.join(
config["output_dir"], config["output_dir"],
"{seqmode}", "{seqmode}",
"{sample}", "{sample}",
"salmon_quant", "salmon_quant",
"quant.sf"), "quant.sf"),
zip, zip,
sample= list(samples_table.index.values), sample= list(samples_table.index.values),
seqmode= list(samples_table["seqmode"])), seqmode= list(samples_table["seqmode"])),
output: output:
salmon_out = os.path.join(config["output_dir"], "summary_salmon", "quantmerge", "tr_tpm.tsv") salmon_out = os.path.join(config["output_dir"], "summary_salmon", "quantmerge", "transcripts_{salmon_merge_on}.tsv")
params: params:
salmon_dir = expand(os.path.join( salmon_dir = expand(os.path.join(
config["output_dir"], config["output_dir"],
"{seqmode}", "{seqmode}",
"{sample}", "{sample}",
"salmon_quant"), "salmon_quant"),
zip, zip,
sample= list(samples_table.index.values), sample= list(samples_table.index.values),
seqmode= list(samples_table["seqmode"])), seqmode= list(samples_table["seqmode"])),
sample_name_list = expand("{sample}", sample= list(samples_table.index.values)) sample_name_list = expand("{sample}", sample= list(samples_table.index.values)),
salmon_merge_on = "{salmon_merge_on}"
log: log:
os.path.join(config["log_dir"], "salmon_quantmerge_tr_tpm.log") os.path.join(config["log_dir"], "salmon_quantmerge_transcripts_{salmon_merge_on}.log")
threads: 1 threads: 1
singularity: singularity:
"docker://zavolab/salmon:1.1.0-slim" "docker://zavolab/salmon:1.1.0-slim"
shell: shell:
"(salmon quantmerge \ "(salmon quantmerge \
--quants {params.salmon_dir} \ --quants {params.salmon_dir} \
--names {params.sample_name_list} \ --names {params.sample_name_list} \
--column tpm \ --column {params.salmon_merge_on} \
--output {output.salmon_out}) &> {log}" --output {output.salmon_out}) &> {log}"
This diff is collapsed.
This diff is collapsed.
...@@ -8,6 +8,7 @@ dependencies: ...@@ -8,6 +8,7 @@ dependencies:
- unzip=6.0 - unzip=6.0
- pip=20.0.2 - pip=20.0.2
- pip: - pip:
- pandas==1.0.1
- biopython==1.76 - biopython==1.76
- labkey==1.2.0 - labkey==1.2.0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment