Skip to content

Commit

Permalink
updated plotting paths
Browse files Browse the repository at this point in the history
  • Loading branch information
farchaab committed Aug 2, 2024
1 parent a66778f commit 709bbc1
Showing 1 changed file with 192 additions and 43 deletions.
235 changes: 192 additions & 43 deletions zamp/rules/5_visualization/General_plotting.rules
Original file line number Diff line number Diff line change
Expand Up @@ -2,125 +2,274 @@
### Build stat table for raw reads and processed reads
rule raw_to_processed_reads_stats:
conda:
"../../envs/amplicons_r_utils.yml"
os.path.join(dir.envs, "amplicons_r_utils.yml")
container:
singularity_envs["r_utils"]
input:
phyloseq_object="{denoiser}/4_physeq/{classifier}_{tax_DB}/nofiltering/norarefaction/no_collapse/base.rds",
multi_QC_report_path="QC/multiqc_raw_reads_report_data/multiqc_general_stats.txt",
phyloseq_object=os.path.join(
dir.out.base,
"{denoiser}",
"4_physeq",
"{classifier}_{tax_DB}",
"nofiltering",
"norarefaction",
"no_collapse",
"base.rds",
),
multi_QC_report_path=os.path.join(
dir.out.qc, "multiqc_raw_reads_report_data", "multiqc_general_stats.txt"
),
output:
raw_to_filtered_reads_stats=report(
"{denoiser}/5_visualization/{classifier}_{tax_DB}/reads/raw_to_filtered_reads_stats.tsv"
os.path.join(
dir.out.base,
"{denoiser}",
"5_visualization",
"{classifier}_{tax_DB}",
"reads",
"raw_to_filtered_reads_stats.tsv",
),
),
log:
logging_folder
+ "{denoiser}/5_visualization/{classifier}_{tax_DB}/reads/raw_to_filtered_reads_stats.txt",
os.path.join(
dir.logs,
"{denoiser}",
"5_visualization",
"{classifier}_{tax_DB}",
"reads",
"raw_to_filtered_reads_stats.txt",
),
script:
"scripts/raw_to_processed_reads_stats.R"


### Plot stat table for raw reads and processed reads
rule raw_to_processed_reads_plot:
conda:
"../../envs/amplicons_r_utils.yml"
os.path.join(dir.envs, "amplicons_r_utils.yml")
container:
singularity_envs["r_utils"]
input:
raw_to_filtered_reads_stats="{denoiser}/5_visualization/{classifier}_{tax_DB}/reads/raw_to_filtered_reads_stats.tsv",
Metadata_table=config["local_samples"],
multi_QC_report_path="QC/multiqc_raw_reads_report_data/multiqc_general_stats.txt",
raw_to_filtered_reads_stats=os.path.join(
dir.out.base,
"{denoiser}",
"5_visualization",
"{classifier}_{tax_DB}",
"reads",
"raw_to_filtered_reads_stats.tsv",
),
Metadata_table=METADATA,
multi_QC_report_path=os.path.join(
dir.out.qc, "multiqc_raw_reads_report_data", "multiqc_general_stats.txt"
),
output:
reads_plot_with_filtered=report(
"{denoiser}/5_visualization/{classifier}_{tax_DB}/reads/reads_plot_with_filtered.png",
caption="report/fig1.rst",
os.path.join(
dir.out.base,
"{denoiser}",
"5_visualization",
"{classifier}_{tax_DB}",
"reads",
"reads_plot_with_filtered.png",
),
caption=os.path.join("report", "fig1.rst"),
category="Step 1",
),
params:
grouping_column=config["grouping_column"],
sample_label=config["sample_label"],
grouping_column="sample_group",
sample="sample",
log:
logging_folder
+ "{denoiser}/5_visualization/{classifier}_{tax_DB}/reads/reads_plot_with_filtered.txt",
os.path.join(
dir.logs,
"{denoiser}",
"5_visualization",
"{classifier}_{tax_DB}",
"reads",
"reads_plot_with_filtered.txt",
),
script:
"scripts/raw_to_processed_reads_plot.R"


### Build stat table for raw reads, processed reads and taxonomically filtered reads
rule raw_to_tax_filtered_reads_stats:
conda:
"../../envs/amplicons_r_utils.yml"
os.path.join(dir.envs, "amplicons_r_utils.yml")
container:
singularity_envs["r_utils"]
input:
read_filtering="{denoiser}/4_physeq/{classifier}_{tax_DB}/nofiltering/norarefaction/no_collapse/base.rds",
taxonomic_filtering="{denoiser}/4_physeq/{classifier}_{tax_DB}/{filter_lineage}_in_{filter_tax_rank}/norarefaction/no_collapse/base.rds",
multi_QC_report_path="QC/multiqc_raw_reads_report_data/multiqc_general_stats.txt",
read_filtering=os.path.join(
dir.out.base,
"{denoiser}",
"4_physeq",
"{classifier}_{tax_DB}",
"nofiltering",
"norarefaction",
"no_collapse",
"base.rds",
),
taxonomic_filtering=os.path.join(
dir.out.base,
"{denoiser}",
"4_physeq",
"{classifier}_{tax_DB}",
"{filter_lineage}_in_{filter_tax_rank}",
"norarefaction",
"no_collapse",
"base.rds",
),
multi_QC_report_path=os.path.join(
dir.out.qc, "multiqc_raw_reads_report_data", "multiqc_general_stats.txt"
),
output:
raw_to_filtered_reads_stats="{denoiser}/5_visualization/{classifier}_{tax_DB}/reads/reads_stats_with_{filter_lineage}_in_{filter_tax_rank}_filtered.tsv",
raw_to_filtered_reads_stats=os.path.join(
dir.out.base,
"{denoiser}",
"5_visualization",
"{classifier}_{tax_DB}",
"reads",
"reads_stats_with_{filter_lineage}_in_{filter_tax_rank}_filtered.tsv",
),
log:
logging_folder
+ "{denoiser}/5_visualization/{classifier}_{tax_DB}/reads/reads_stats_with_{filter_lineage}_in_{filter_tax_rank}_filtered.txt",
os.path.join(
dir.logs,
"{denoiser}",
"5_visualization",
"{classifier}_{tax_DB}",
"reads",
"reads_stats_with_{filter_lineage}_in_{filter_tax_rank}_filtered.txt",
),
script:
"scripts/raw_to_tax_filtered_reads_stats.R"


### Plot stat table for raw reads, processed reads and taxonomically filtered reads
rule raw_to_tax_filtered_reads_plots:
conda:
"../../envs/amplicons_r_utils.yml"
os.path.join(dir.envs, "amplicons_r_utils.yml")
container:
singularity_envs["r_utils"]
input:
raw_to_filtered_reads_stats="{denoiser}/5_visualization/{classifier}_{tax_DB}/reads/reads_stats_with_{filter_lineage}_in_{filter_tax_rank}_filtered.tsv",
Metadata_table=config["local_samples"],
multi_QC_report_path="QC/multiqc_raw_reads_report_data/multiqc_general_stats.txt",
raw_to_filtered_reads_stats=os.path.join(
dir.out.base,
"{denoiser}",
"5_visualization",
"{classifier}_{tax_DB}",
"reads",
"reads_stats_with_{filter_lineage}_in_{filter_tax_rank}_filtered.tsv",
),
Metadata_table=METADATA,
multi_QC_report_path=os.path.join(
dir.out.qc, "multiqc_raw_reads_report_data", "multiqc_general_stats.txt"
),
output:
reads_plot_with_filtered="{denoiser}/5_visualization/{classifier}_{tax_DB}/reads/reads_plot_with_{filter_lineage}_in_{filter_tax_rank}_filtered.png",
reads_plot_with_filtered=os.path.join(
dir.out.base,
"{denoiser}",
"5_visualization",
"{classifier}_{tax_DB}",
"reads",
"reads_plot_with_{filter_lineage}_in_{filter_tax_rank}_filtered.png",
),
params:
sample_label=config["sample_label"],
sample="sample",
log:
logging_folder
+ "{denoiser}/5_visualization/{classifier}_{tax_DB}/reads/reads_plot_with_{filter_lineage}_in_{filter_tax_rank}_filtered.txt",
os.path.join(
dir.logs,
"{denoiser}",
"5_visualization",
"{classifier}_{tax_DB}",
"reads",
"reads_plot_with_{filter_lineage}_in_{filter_tax_rank}_filtered.txt",
),
script:
"scripts/raw_to_processed_reads_plot.R"


### Plot interactive KRONA plots
rule KRONA_plots:
conda:
"../../envs/amplicons_r_utils.yml"
os.path.join(dir.envs, "amplicons_r_utils.yml")
container:
singularity_envs["r_utils"]
input:
phyloseq_melted_table="{denoiser}/4_physeq/{classifier}_{tax_DB}/nofiltering/norarefaction/no_collapse/base_melted.tsv",
phyloseq_melted_table=os.path.join(
dir.out.base,
"{denoiser}",
"4_physeq",
"{classifier}_{tax_DB}",
"nofiltering",
"norarefaction",
"no_collapse",
"base_melted.tsv",
),
output:
output="{denoiser}/5_visualization/{classifier}_{tax_DB}/KRONA/{grouping_column}/{grouping_col_value}.html",
output=os.path.join(
dir.out.base,
"{denoiser}",
"5_visualization",
"{classifier}_{tax_DB}",
"KRONA",
"{grouping_column}",
"{grouping_col_value}.html",
),
params:
grouping_column=lambda wildcards: wildcards.grouping_column,
grouping_col_value=lambda wildcards: wildcards.grouping_col_value,
sample_label=config["sample_label"],
sample_label="sample",
log:
logging_folder
+ "{denoiser}/5_visualization/{classifier}_{tax_DB}/KRONA/{grouping_column}/{grouping_col_value}.txt",
os.path.join(
dir.logs,
"{denoiser}",
"5_visualization",
"{classifier}_{tax_DB}",
"KRONA",
"{grouping_column}",
"{grouping_col_value}.txt",
),
script:
"scripts/KRONA_plots.R"


### Generate rarafaction curves to observe the effect of coverage on alpha-diversity metrics
rule rarefaction_curve:
conda:
"../../envs/amplicons_r_utils.yml"
os.path.join(dir.envs, "amplicons_r_utils.yml")
container:
singularity_envs["r_utils"]
input:
phyloseq_object="{denoiser}/4_physeq/{classifier}_{tax_DB}/{filtration_or_not}/{raref_or_not}/no_collapse/base.rds",
Metadata_table=config["local_samples"],
phyloseq_object=os.path.join(
dir.out.base,
"{denoiser}",
"4_physeq",
"{classifier}_{tax_DB}",
"{filtration_or_not}",
"{raref_or_not}",
"no_collapse",
"base.rds",
),
Metadata_table=METADATA,
output:
rarefaction_curve="{denoiser}/5_visualization/{classifier}_{tax_DB}/rarefaction_curve/{filtration_or_not}/{raref_or_not}_rarefaction_curve_{grouping_column}.png",
rarefaction_curve=os.path.join(
dir.out.base,
"{denoiser}",
"5_visualization",
"{classifier}_{tax_DB}",
"rarefaction_curve",
"{filtration_or_not}",
"{raref_or_not}_rarefaction_curve_{grouping_column}.png",
),
params:
grouping_column=lambda wildcards: wildcards.grouping_column,
log:
logging_folder
+ "{denoiser}/5_visualization/{classifier}_{tax_DB}/rarefaction_curve/{filtration_or_not}/{raref_or_not}_rarefaction_curve_{grouping_column}.txt",
os.path.join(
dir.logs,
"{denoiser}",
"5_visualization",
"{classifier}_{tax_DB}",
"rarefaction_curve",
"{filtration_or_not}",
"{raref_or_not}_rarefaction_curve_{grouping_column}.txt",
),
script:
"scripts/rarefaction_curve.R"

0 comments on commit 709bbc1

Please sign in to comment.