Skip to content

Commit 3b6fc87

Browse files
authored
Merge pull request #4 from cchu70/master
remove weird blank characters
2 parents e2a988c + 0438836 commit 3b6fc87

File tree

1 file changed

+53
-57
lines changed

1 file changed

+53
-57
lines changed

src/get_CN_Absolute.Phylogic_SinglePatientTiming.R

Lines changed: 53 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -5,43 +5,43 @@ option.list <- list(
55
make_option("--pair_id", dest="pair_id"),
66
make_option("--abs_lib_dir", dest="abs_lib_dir"),
77
make_option("--pcawg", dest="pcawg", default="FALSE"))
8-
8+
99
opt <- parse_args(OptionParser(option_list=option.list))
1010
print(opt)
11-
11+
1212
Called_Absolute= opt[["Called_Absoute"]]
1313
CGA_DIR_ABS= opt[["abs_lib_dir"]]
1414
pair_id= opt[["pair_id"]]
1515
PCAWG= opt[["pcawg"]]
16-
16+
1717
Out_Name=file.path(paste(pair_id,"tsv",sep="."))
18-
18+
1919
print( paste("sourcing files in ", CGA_DIR_ABS, sep=""))
20-
20+
2121
rr = dir(CGA_DIR_ABS,full.names=TRUE )
2222
for( i in 1:length(rr) ) {
2323
source(rr[i])}
2424
load(Called_Absolute)
2525
input_purity=seg.obj$mode.res$mode.tab[[1]]
26-
26+
2727
allele.segs= get_hom_pairs_segtab(seg.obj)
28-
28+
2929
ExtractSampleObs <<- AllelicExtractSampleObs
3030
GetCopyRatioComb <<- AllelicGetCopyRatioComb
3131
SCNA_model = seg.obj[["mode.res"]][["mode_SCNA_models"]][[1]]
3232
tree_clust = resort_tree_clusters( SCNA_model, SCNA_model[["seg_CCF_DP"]][["tree_clust"]] )
33-
33+
3434
SCNA_model[["seg_CCF_DP"]][["tree_clust"]] = tree_clust
3535
SCNA_model[["seg_CCF_DP"]][["seg_clust_tab"]] = get_seg_clust_tab( SCNA_model )
3636
mut_cols = SCNA_model[["seg_CCF_DP"]][["tree_clust"]][["assign"]]
37-
37+
3838
mode.tab <- seg.obj[["mode.res"]][["mode.tab"]]
39-
39+
4040
res = get_b_and_delta( mode.tab[1, "alpha"], mode.tab[1, "tau"] )
4141
delta = res$delta
4242
b = res$b
4343
segs_d0 = deconstruct_SCNAs( SCNA_model, seg.obj, allele.segs, b, delta )
44-
44+
4545
AS.seg.ix = allele.segs[, c("seg.ix.1", "seg.ix.2")]
4646
d0.allele.segs = allele.segs
4747
d0.allele.segs[,"A1.Seg.CN"] =segs_d0[ AS.seg.ix[,1] ]
@@ -52,34 +52,34 @@ d0.allele.segs["seg.ix.2"] = NULL
5252
d0.allele.segs["W"] = NULL
5353
d0.allele.segs=rename(d0.allele.segs, c("Start.bp"="Start",
5454
"End.bp"="End","n_probes"="N_probes","length"="Length","A1.Seg.sem"="A1.Sigma","A2.Seg.sem"="A2.Sigma"))
55-
55+
5656
write.table(d0.allele.segs, file = Out_Name, append = FALSE, quote = FALSE, sep = "\t",
5757
eol = "\n", na = "NA", dec = ".", row.names = FALSE,
5858
col.names = TRUE)
5959
if(PCAWG=="TRUE"){
6060
Out_Name=file.path(paste(pair_id,"segments.txt",sep="_"))
6161
load(Called_Absolute)
6262
input_purity=seg.obj$mode.res$mode.tab[[1]]
63-
63+
6464
ExtractSampleObs <<- AllelicExtractSampleObs
6565
GetCopyRatioComb <<- AllelicGetCopyRatioComb
6666
SCNA_model = seg.obj[["mode.res"]][["mode_SCNA_models"]][[1]]
6767
tree_clust = resort_tree_clusters( SCNA_model, SCNA_model[["seg_CCF_DP"]][["tree_clust"]] )
68-
68+
6969
SCNA_model[["seg_CCF_DP"]][["tree_clust"]] = tree_clust
7070
SCNA_model[["seg_CCF_DP"]][["seg_clust_tab"]] = get_seg_clust_tab( SCNA_model )
7171
mut_cols = SCNA_model[["seg_CCF_DP"]][["tree_clust"]][["assign"]]
72-
72+
7373
mode.tab <- seg.obj[["mode.res"]][["mode.tab"]]
74-
74+
7575
res = get_b_and_delta( mode.tab[1, "alpha"], mode.tab[1, "tau"] )
7676
delta = res$delta
7777
b = res$b
7878
segs_d0 = deconstruct_SCNAs( SCNA_model, seg.obj, allele.segs, b, delta )
79-
80-
79+
80+
8181
sc_tab = seg.obj[["mode.res"]][["subclonal_SCNA_res"]][["subclonal_SCNA_tab"]][1,,]
82-
82+
8383
nc = ncol(SCNA_model[["collapsed_CCF_dens"]])
8484
GRID = cumsum( c(0, rep(1/(nc-1),(nc-1))))
8585
clust_dens = SCNA_model[["seg_CCF_DP"]][["tree_clust"]][["CCF_dens"]]
@@ -88,53 +88,49 @@ input_purity=seg.obj$mode.res$mode.tab[[1]]
8888
#clust_dens_str = paste(as.character(one), collapse=", ")
8989
ccf_hats=max.col(clust_dens)/100
9090
mut_cols = SCNA_model[["seg_CCF_DP"]][["tree_clust"]][["assign"]]
91-
91+
9292
sc_ix=mut_cols != which(clust_dens[,1]==1)
9393
sc_ix[is.na(sc_ix) & sc_tab[,"subclonal_ix"]==0]=0
9494
sc_ix[sc_ix==FALSE]=0
9595
sc_ix[sc_ix==TRUE]=1
96-
96+
9797
#sc_ix_noNA=sc_ix
9898
#sc_ix_noNA[is.na(sc_ix)]=-1
9999
#segs_d0[sc_ix_noNA==0]=round(segs_d0[sc_ix_noNA==0])
100-
100+
101101
AS.seg.ix = allele.segs[, c("seg.ix.1", "seg.ix.2")]
102102
d0.allele.segs = allele.segs
103103
d0.allele.segs[,"A1.Seg.CN"] = round(segs_d0[ AS.seg.ix[,1] ])
104104
d0.allele.segs[,"A2.Seg.CN"] = round(segs_d0[ AS.seg.ix[,2] ])
105-
105+
106106
d0.allele.segs["W"] = NULL
107107
d0.allele.segs=rename(d0.allele.segs, c("Start.bp"="Start",
108108
"End.bp"="End","n_probes"="N_probes","length"="Length","A1.Seg.sem"="A1.Sigma","A2.Seg.sem"="A2.Sigma"))
109-
109+
110110
d0.allele.segs["seg.ix.1"] = NULL
111111
d0.allele.segs["seg.ix.2"] = NULL
112112
d0.allele.segs["A1.Sigma"] = NULL
113113
d0.allele.segs["A2.Sigma"] = NULL
114-
115-
116-
114+
117115
A1.Subclonal.ix = sc_ix[AS.seg.ix[,1]]
118116
A2.Subclonal.ix = sc_ix[AS.seg.ix[,2]]
119117
A1.Subclonal.CN = sc_tab[,"qs"][AS.seg.ix[,1]]
120118
A2.Subclonal.CN = sc_tab[,"qs"][AS.seg.ix[,2]]
121119
A1.Clonal.CN = sc_tab[,"qc"][AS.seg.ix[,1]]
122120
A2.Clonal.CN = sc_tab[,"qc"][AS.seg.ix[,2]]
123-
124-
125-
121+
126122
A1.CCF_hat = ccf_hats[mut_cols[AS.seg.ix[,1]]]
127123
A2.CCF_hat = ccf_hats[mut_cols[AS.seg.ix[,2]]]
128124
A1.CCF_dens = clust_dens_str[mut_cols[AS.seg.ix[,1]]]
129125
A2.CCF_dens = clust_dens_str[mut_cols[AS.seg.ix[,2]]]
130-
131-
126+
127+
132128
A1.CCF_hat[is.na(A1.CCF_hat)]=sc_tab[,"CCF_hat"][AS.seg.ix[,1]][is.na(A1.CCF_hat)]
133129
A2.CCF_hat[is.na(A2.CCF_hat)]=sc_tab[,"CCF_hat"][AS.seg.ix[,2]][is.na(A2.CCF_hat)]
134-
130+
135131
d0.allele.segs[,"CCF"]=1
136132
d0.allele.segs[,"CCF_dens"]=clonal_clust_dens_str
137-
133+
138134
clonal.ix=intersect(which(A1.Subclonal.ix == 0),which(A2.Subclonal.ix == 0))
139135
a1.sub.ix=intersect(which(A1.Subclonal.ix != 0),which(A2.Subclonal.ix == 0))
140136
a2.sub.ix=intersect(which(A1.Subclonal.ix == 0),which(A2.Subclonal.ix != 0))
@@ -143,49 +139,49 @@ input_purity=seg.obj$mode.res$mode.tab[[1]]
143139
A1_Sub_Clonal_Seg=d0.allele.segs[intersect(which(A1.Subclonal.ix != 0),which(A2.Subclonal.ix == 0)),]
144140
A2_Sub_Clonal_Seg=d0.allele.segs[intersect(which(A1.Subclonal.ix == 0),which(A2.Subclonal.ix != 0)),]
145141
Both_Sub_Clonal_Seg=d0.allele.segs[intersect(which(A1.Subclonal.ix != 0),which(A2.Subclonal.ix != 0)),]
146-
147-
142+
143+
148144
d0.allele.segs[,"Historically.Clonal"]=0
149-
145+
150146
if (length(a1.sub.ix) > 0){
151147
d0.allele.segs[a1.sub.ix,"A1.Seg.CN"]=A1.Clonal.CN[a1.sub.ix]
152148
d0.allele.segs[a1.sub.ix,"CCF"]=1#-A1.CCF_hat[a1.sub.ix]
153149
d0.allele.segs[a1.sub.ix,"CCF_dens"]=clonal_clust_dens_str
154150
d0.allele.segs[a1.sub.ix,"Historically.Clonal"]=1
155-
156-
151+
152+
157153
a1_segs=d0.allele.segs[a1.sub.ix,]
158154
a1_segs["A1.Seg.CN"]=A1.Subclonal.CN[a1.sub.ix]
159155
a1_segs["CCF"]=A1.CCF_hat[a1.sub.ix]
160156
a1_segs["CCF_dens"]=A1.CCF_dens[a1.sub.ix]
161157
a1_segs["Historically.Clonal"]=0
162-
158+
163159
}else{
164160
a1_segs=NULL}
165161
if (length(a2.sub.ix) > 0){
166162
d0.allele.segs[a2.sub.ix,"A2.Seg.CN"]=A2.Clonal.CN[a2.sub.ix]
167163
d0.allele.segs[a2.sub.ix,"CCF"]=1#-A2.CCF_hat[a2.sub.ix]
168164
d0.allele.segs[a2.sub.ix,"CCF_dens"]=clonal_clust_dens_str
169165
d0.allele.segs[a2.sub.ix,"Historically.Clonal"]=1
170-
166+
171167
a2_segs=d0.allele.segs[a2.sub.ix,]
172168
a2_segs["A2.Seg.CN"]=A2.Subclonal.CN[a2.sub.ix]
173169
a2_segs["CCF"]=A2.CCF_hat[a2.sub.ix]
174170
a2_segs["CCF_dens"]=A2.CCF_dens[a2.sub.ix]
175171
a2_segs["Historically.Clonal"]=0
176172
}else{
177-
173+
178174
a2_segs=NULL}
179175
if (length(all.sub.ix) > 0){
180-
176+
181177
d0.allele.segs[all.sub.ix,"A1.Seg.CN"]=A1.Clonal.CN[all.sub.ix]
182178
d0.allele.segs[all.sub.ix,"A2.Seg.CN"]=A2.Clonal.CN[all.sub.ix]
183179
matched= A1.CCF_hat[all.sub.ix] == A2.CCF_hat[all.sub.ix]
184-
180+
185181
d0.allele.segs[all.sub.ix[!matched],"CCF"]=1#-A1.CCF_hat[all.sub.ix[!matched]]-A2.CCF_hat[all.sub.ix[!matched]]
186182
d0.allele.segs[all.sub.ix[!matched],"CCF_dens"]=clonal_clust_dens_str
187183
d0.allele.segs[all.sub.ix[!matched],"Historically.Clonal"]=1
188-
184+
189185
d0.allele.segs[all.sub.ix[matched],"CCF"]=1#-A1.CCF_hat[all.sub.ix[matched]]
190186
d0.allele.segs[all.sub.ix[matched],"CCF_dens"]=clonal_clust_dens_str
191187
d0.allele.segs[all.sub.ix[matched],"Historically.Clonal"]=1
@@ -195,17 +191,17 @@ input_purity=seg.obj$mode.res$mode.tab[[1]]
195191
all_sub_a1_segs["CCF"]=A1.CCF_hat[all.sub.ix[!matched]]
196192
all_sub_a1_segs["CCF_dens"]=A1.CCF_dens[all.sub.ix[!matched]]
197193
all_sub_a1_segs["Historically.Clonal"]=0
198-
194+
199195
all_sub_a2_segs=d0.allele.segs[all.sub.ix[!matched],]
200196
all_sub_a2_segs["A2.Seg.CN"]=A2.Subclonal.CN[all.sub.ix[!matched]]
201197
all_sub_a2_segs["CCF"]=A2.CCF_hat[all.sub.ix[!matched]]
202198
all_sub_a2_segs["CCF_dens"]=A2.CCF_dens[all.sub.ix[!matched]]
203199
all_sub_a2_segs["Historically.Clonal"]=0
204200
}else{
205-
201+
206202
all_sub_a1_segs=NULL
207203
all_sub_a2_segs=NULL
208-
204+
209205
}
210206
if (length(all.sub.ix[matched])> 0){
211207
euqal_sub_seg=d0.allele.segs[all.sub.ix[matched],]
@@ -214,30 +210,30 @@ input_purity=seg.obj$mode.res$mode.tab[[1]]
214210
euqal_sub_seg["CCF"]=A1.CCF_hat[all.sub.ix[matched]]
215211
euqal_sub_seg["CCF_dens"]=A1.CCF_dens[all.sub.ix[matched]]
216212
euqal_sub_seg["Historically.Clonal"]=0
217-
213+
218214
}else{
219-
215+
220216
euqal_sub_seg=NULL}}
221-
217+
222218
else{
223-
219+
224220
all_sub_a1_segs=NULL
225221
all_sub_a2_segs=NULL
226222
euqal_sub_seg=NULL
227223
}
228-
224+
229225
comb_segtab=rbind(d0.allele.segs,a1_segs,a2_segs,all_sub_a1_segs,all_sub_a2_segs,euqal_sub_seg)
230-
226+
231227
comb_segtab=comb_segtab[with(comb_segtab, order(as.integer(comb_segtab[["Chromosome"]]), as.integer(comb_segtab[["Start"]]))), ]
232-
228+
233229
comb_segtab[,"copy_number"]=comb_segtab[["A1.Seg.CN"]]+comb_segtab[["A2.Seg.CN"]]
234230
comb_segtab["N_probes"]=NULL
235231
comb_segtab["Length"]=NULL
236-
232+
237233
comb_segtab=rename(comb_segtab, c("Chromosome"="chromosome","Start"="start",
238234
"End"="end","A1.Seg.CN"="minor_cn","A2.Seg.CN"="major_cn","CCF"="ccf","Historically.Clonal"="historically_clonal"))
239235
comb_segtab=comb_segtab[,c(1,2,3,9,4,5,6,8)]
240-
236+
241237
write.table(comb_segtab, file = Out_Name, append = FALSE, quote = FALSE, sep = "\t",
242238
eol = "\n", na = "NA", dec = ".", row.names = FALSE,
243239
col.names = TRUE)

0 commit comments

Comments
 (0)