Skip to content

Commit 6a19796

Browse files
author
Ubuntu
committed
modify immune infiltration
1 parent 4b69175 commit 6a19796

File tree

4 files changed

+410
-263
lines changed

4 files changed

+410
-263
lines changed
Lines changed: 56 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,30 @@
11
#!/usr/bin/env python
22

3+
metadata = pd.read_csv(config["metasheet"], index_col=0, sep=',')
4+
options = [config["Treatment"],config["Control"]]
5+
design = config["design"]
6+
treatment = config["Treatment"]
7+
control = config["Control"]
8+
batch = config["batch"]
9+
310
############################Immune Infiltration by Immunedeconv######################3
411
def immune_infiltration_targets(wildcards):
512
ls = []
6-
ls.append("files/immune_infiltration/quantiseq.txt")
7-
ls.append("files/immune_infiltration/xcell.txt")
8-
ls.append("files/immune_infiltration/mcp_counter.txt")
9-
ls.append("files/immune_infiltration/cibersort_abs.txt")
10-
ls.append("files/immune_infiltration/timer.txt")
11-
ls.append("files/immune_infiltration/epic.txt")
12-
ls.append("files/immune_infiltration/B_cell_corr.png")
13-
ls.append("files/immune_infiltration/DC_corr.png")
14-
ls.append("files/immune_infiltration/NK_corr.png")
15-
ls.append("files/immune_infiltration/CD4_T_cell_corr.png")
16-
ls.append("files/immune_infiltration/Neutrophil_corr.png")
17-
ls.append("files/immune_infiltration/CD8_T_cell_corr.png")
18-
ls.append("files/immune_infiltration/Macrophage_corr.png")
19-
ls.append("files/immune_infiltration/Treg_corr.png")
20-
ls.append("files/immune_infiltration/ImmuneDeconv_heatmap.png")
21-
ls.append("files/multiqc/immune_infiltration/cibersort_abs_immune_multiqc.txt")
13+
ls.append("analysis/immune_infiltration/%s_%s_quantiseq.txt" % (design,batch))
14+
ls.append("analysis/immune_infiltration/%s_%s_xcell.txt" % (design,batch))
15+
ls.append("analysis/immune_infiltration/%s_%s_mcp_counter.txt" % (design,batch))
16+
ls.append("analysis/immune_infiltration/%s_%s_cibersort_abs.txt" % (design,batch))
17+
ls.append("analysis/immune_infiltration/%s_%s_timer.txt" % (design,batch))
18+
ls.append("analysis/immune_infiltration/%s_%s_epic.txt" % (design,batch))
19+
ls.append("analysis/immune_infiltration/%s_%s_B_cell_corr.png" % (design,batch))
20+
ls.append("analysis/immune_infiltration/%s_%s_DC_corr.png" % (design,batch))
21+
ls.append("analysis/immune_infiltration/%s_%s_NK_corr.png" % (design,batch))
22+
ls.append("analysis/immune_infiltration/%s_%s_CD4_T_cell_corr.png" % (design,batch))
23+
ls.append("analysis/immune_infiltration/%s_%s_Neutrophil_corr.png" % (design,batch))
24+
ls.append("analysis/immune_infiltration/%s_%s_CD8_T_cell_corr.png" % (design,batch))
25+
ls.append("analysis/immune_infiltration/%s_%s_Macrophage_corr.png" % (design,batch))
26+
ls.append("analysis/immune_infiltration/%s_%s_Treg_corr.png" % (design,batch))
27+
#ls.append("analysis/immune_infiltration/%s_%s_ImmuneDeconv_heatmap.png" % (design,batch))
2228
return ls
2329

2430
rule immune_infiltration__all:
@@ -27,64 +33,63 @@ rule immune_infiltration__all:
2733

2834
rule ImmuneDeconv_infiltration:
2935
input:
30-
"analysis/salmon/tpm.genesymbol.txt"
31-
#"analysis/batchremoval/tpm_matrix.batch"
36+
"analysis/batchremoval/{design}_{batch}_tpm.genesymbol.batchremoved.csv"
3237
output:
33-
"files/immune_infiltration/quantiseq.txt",
34-
"files/immune_infiltration/xcell.txt",
35-
"files/immune_infiltration/mcp_counter.txt",
36-
"files/immune_infiltration/cibersort_abs.txt",
37-
"files/immune_infiltration/timer.txt",
38-
"files/immune_infiltration/epic.txt"
38+
"analysis/immune_infiltration/{design}_{batch}_quantiseq.txt",
39+
"analysis/immune_infiltration/{design}_{batch}_xcell.txt",
40+
"analysis/immune_infiltration/{design}_{batch}_mcp_counter.txt",
41+
"analysis/immune_infiltration/{design}_{batch}_cibersort_abs.txt",
42+
"analysis/immune_infiltration/{design}_{batch}_timer.txt",
43+
"analysis/immune_infiltration/{design}_{batch}_epic.txt"
3944
log:
40-
"logs/immune_infiltration/deconv.log"
45+
"logs/immune_infiltration/{design}_{batch}_deconv.log"
4146
params:
4247
perm = 100,
4348
qn = "FALSE",
4449
absl = "TRUE",
4550
abs_method = "sig.score",
46-
out_dir = "files/immune_infiltration",
51+
out_dir = "analysis/immune_infiltration/{design}_{batch}_",
4752
path="set +eu;source activate %s" % config['stat_root']
4853
message:
4954
"Running immunedeconv on the expression data"
5055
benchmark:
51-
"benchmarks/immune_infiltration/deconv.benchmark"
56+
"benchmarks/immune_infiltration/{design}_{batch}_deconv.benchmark"
5257
conda: "../envs/stat_perl_r.yml"
5358
shell:
54-
"{params.path}; Rscript src/immune_infiltration/immune_infiltration.R -e {input} -t {config[cancer_type]} -p {params.perm} -q {params.qn} -a {params.absl} -m {params.abs_method} -o {params.out_dir}"
59+
"{params.path}; Rscript src/immune_infiltration/immune_infiltration.R -e {input} -t {config[cancer_type]} -p {params.perm} -q {params.qn} \
60+
-a {params.absl} -m {params.abs_method} -o {params.out_dir}"
61+
5562

5663
rule ImmuneDeconv_plot:
5764
input:
58-
"files/immune_infiltration/quantiseq.txt",
59-
"files/immune_infiltration/xcell.txt",
60-
"files/immune_infiltration/mcp_counter.txt",
61-
"files/immune_infiltration/cibersort_abs.txt",
62-
"files/immune_infiltration/timer.txt",
63-
"files/immune_infiltration/epic.txt"
65+
"analysis/immune_infiltration/{design}_{batch}_quantiseq.txt",
66+
"analysis/immune_infiltration/{design}_{batch}_xcell.txt",
67+
"analysis/immune_infiltration/{design}_{batch}_mcp_counter.txt",
68+
"analysis/immune_infiltration/{design}_{batch}_cibersort_abs.txt",
69+
"analysis/immune_infiltration/{design}_{batch}_timer.txt",
70+
"analysis/immune_infiltration/{design}_{batch}_epic.txt"
6471
output:
65-
"files/immune_infiltration/B_cell_corr.png",
66-
"files/immune_infiltration/DC_corr.png",
67-
"files/immune_infiltration/NK_corr.png",
68-
"files/immune_infiltration/CD4_T_cell_corr.png",
69-
"files/immune_infiltration/Neutrophil_corr.png",
70-
"files/immune_infiltration/CD8_T_cell_corr.png",
71-
"files/immune_infiltration/Macrophage_corr.png",
72-
"files/immune_infiltration/Treg_corr.png",
73-
"files/immune_infiltration/ImmuneDeconv_heatmap.png",
74-
"files/multiqc/immune_infiltration/cibersort_abs_immune_multiqc.txt"
72+
"analysis/immune_infiltration/{design}_{batch}_B_cell_corr.png",
73+
"analysis/immune_infiltration/{design}_{batch}_DC_corr.png",
74+
"analysis/immune_infiltration/{design}_{batch}_NK_corr.png",
75+
"analysis/immune_infiltration/{design}_{batch}_CD4_T_cell_corr.png",
76+
"analysis/immune_infiltration/{design}_{batch}_Neutrophil_corr.png",
77+
"analysis/immune_infiltration/{design}_{batch}_CD8_T_cell_corr.png",
78+
"analysis/immune_infiltration/{design}_{batch}_Macrophage_corr.png",
79+
"analysis/immune_infiltration/{design}_{batch}_Treg_corr.png",
80+
#"analysis/immune_infiltration/{design}_{batch}_ImmuneDeconv_heatmap.png",
7581
log:
76-
"logs/immune_infiltration/deconv_plot.log"
82+
"logs/immune_infiltration/{design}_{batch}_deconv_plot.log"
7783
message:
7884
"Running immunedeconv plot"
7985
benchmark:
80-
"benchmarks/immune_infiltration/deconv_plot.benchmark"
86+
"benchmarks/immune_infiltration/{design}_{batch}_deconv_plot.benchmark"
8187
conda: "../envs/stat_perl_r.yml"
8288
params:
8389
meta = config["metasheet"],
84-
inputdir = "files/immune_infiltration/",
85-
outdir = "files/immune_infiltration/",
86-
multiqc = "files/multiqc/immune_infiltration/",
87-
clinic_phenotype = config["immune_infiltration_clinical_phenotype"],
90+
inputdir = "analysis/immune_infiltration/{design}_{batch}_",
91+
outdir = "analysis/immune_infiltration/{design}_{batch}_",
92+
clinic_phenotype = config["design"],
8893
path="set +eu;source activate %s" % config['stat_root']
8994
shell:
90-
"{params.path}; Rscript src/immune_infiltration/immune_infiltration_plot.R --meta {params.meta} --input_dir {params.inputdir} --output_dir {params.outdir} --clinic_col {params.clinic_phenotype} --multiqc {params.multiqc}"
95+
"{params.path}; Rscript src/immune_infiltration/immune_infiltration_plot.R --meta {params.meta} --input_dir {params.inputdir} --output_dir {params.outdir} --clinic_col {params.clinic_phenotype}"

src/immune_infiltration/immune_infiltration.R

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11

22
#############################Script to process immune infiltration #####################
3-
library(rlang)
4-
library(R.utils)
5-
library(dplyr)
6-
library(immunedeconv)
7-
library(optparse)
3+
suppressMessages(library(rlang))
4+
suppressMessages(library(R.utils))
5+
suppressMessages(library(dplyr))
6+
suppressMessages(library(immunedeconv))
7+
suppressMessages(library(optparse))
88

99

1010
# make option list and parse command line
@@ -42,39 +42,34 @@ cibersort_abs_method <- opts$abs_method
4242

4343
###read in data
4444
df <- read.table(input, sep = ",", row.names = 1,header = TRUE, check.names = FALSE)
45-
print(df)
46-
45+
df <- 2^df -1
46+
print(head(df))
4747
#quantiseq
4848
res_quant = as.data.frame(deconvolute(df, "quantiseq"))
49-
write.table(res_quant,paste0(output,'/quantiseq.txt'),sep='\t',row.names=FALSE, quote = FALSE)
49+
write.table(res_quant,paste0(output,'quantiseq.txt'),sep='\t',row.names=FALSE, quote = FALSE)
5050
print("run quantiseq")
5151

5252

5353
#xcell
5454
res_xcell = as.data.frame(deconvolute(df, "xcell"))
55-
write.table(res_xcell,paste0(output,'/xcell.txt'),sep='\t',row.names=FALSE, quote = FALSE)
55+
write.table(res_xcell,paste0(output,'xcell.txt'),sep='\t',row.names=FALSE, quote = FALSE)
5656
print("run xcell")
5757

5858

5959
#epic
6060
res_epic = as.data.frame(deconvolute(df, "epic"))
61-
write.table(res_epic,paste0(output,'/epic.txt'),sep='\t',row.names=FALSE, quote = FALSE)
61+
write.table(res_epic,paste0(output,'epic.txt'),sep='\t',row.names=FALSE, quote = FALSE)
6262
print("run epic")
6363

6464
#mcp_counter
6565
res_mcp = as.data.frame(deconvolute(df, "mcp_counter"))
66-
write.table(res_mcp,paste0(output,'/mcp_counter.txt'),sep='\t',row.names=FALSE, quote = FALSE)
66+
write.table(res_mcp,paste0(output,'mcp_counter.txt'),sep='\t',row.names=FALSE, quote = FALSE)
6767
print('run mcp_counter')
6868

69-
#cibersort##removing this as it is replaced by cibersort_abs
70-
#print('s')
71-
#results <- CIBERSORT("LM22.txt",tempfile,100)
72-
#write.table(results, file = paste0(output,'/cibersort.txt'),col.names=NA, quote = FALSE, sep="\t")
73-
#cibersort_abs
7469
source('src/immune_infiltration/CIBERSORT.R')
7570
res_ciber <- CIBERSORT("static/cibersort/LM22.txt",input,perm = cibersort_perm, QN = cibersort_qn, absolute = cibersort_abs, abs_method = cibersort_abs_method)
76-
write.table(res_ciber, file = paste0(output,'/cibersort_abs.txt'), sep="\t", quote = FALSE)
71+
write.table(res_ciber, file = paste0(output,'cibersort_abs.txt'), sep="\t", quote = FALSE)
7772
print("run cibersort absolution mode")
7873

7974
res_timer = as.data.frame(deconvolute(df, "timer",indications=rep(tolower(cancertype),ncol(df))))
80-
write.table(res_timer,paste0(output,'/timer.txt'),sep='\t', row.names=FALSE, quote = FALSE)
75+
write.table(res_timer,paste0(output,'timer.txt'),sep='\t', row.names=FALSE, quote = FALSE)

0 commit comments

Comments
 (0)