This is the R Markdown for Supplementary Table 14, which consists of 1 part.

Prepare data:

library(readr)
library(maftools)
library(foreach)
#mutation
mut=as.data.frame(readr::read_delim("Somatic_mutation.filter.208.maf","\t"))
nonsys=c("Missense_Mutation","Nonsense_Mutation","Nonstop_Mutation","Splice_Site","Frame_Shift_Del","Frame_Shift_Ins","In_Frame_Ins","In_Frame_Del")
cd_mut=mut[is.element(mut$Variant_Classification,nonsys),]
cd_mut=cd_mut[!is.element(as.character(cd_mut$Tumor_Sample_Barcode),c("T13_WGS","T502_WGS")),]

cd_tab=table(cd_mut[,c("Hugo_Symbol","Tumor_Sample_Barcode")])
cd_tab[cd_tab!=0]=1
sig_dt=cd_tab

freq_dt=rowSums(sig_dt)/206
names(freq_dt)=rownames(sig_dt)
write.table(freq_dt,"Mut_freq.xls",sep="\t",quote = F,col.names=F)

rownames(sig_dt)=paste(rownames(sig_dt),"Mutation",sep="_")

#cnv
cnv=read.table("PC_WGS_208pairs_filt_js100.all_thresholded.by_genes.txt",stringsAsFactors = F,header = T,sep="\t",row.names = 1)
#sub_cnv=cnv[intersect(smg_pth,rownames(cnv)),colnames(sig_dt)]
sub_cnv=cnv[,colnames(sig_dt)]

sub_amp=sub_cnv
sub_amp[sub_amp!=2]=0
sub_amp[sub_amp>=2]=1
rownames(sub_amp)=paste(rownames(sub_amp),"Amp",sep="_")
amp_freq=rowSums(sub_amp)/206
names(amp_freq)=rownames(sub_amp)
write.table(amp_freq,"Amp_freq.xls",sep="\t",quote = F,col.names=F)

sub_del=sub_cnv
sub_del[sub_del!=(-2)]=0
sub_del[sub_del<=(-2)]=1
rownames(sub_del)=paste(rownames(sub_del),"Del",sep="_")
del_freq=rowSums(sub_del)/206
names(del_freq)=rownames(sub_del)
write.table(del_freq,"Del_freq.xls",sep="\t",quote = F,col.names=F)

#Fusion
sp=sub("_WGS","",colnames(sub_amp))
fs_ct=read.table("Fusion_sampleID_genepair_validate_134_Arv.xls",sep="\t",stringsAsFactors=F,header=T)
colnames(fs_ct)[1]="Gene_pair"
fs_dt=fs_ct[,c(1,2)]
fs_tab=table(fs_dt)
fs_oth=matrix(0,ncol=length(setdiff(sp,colnames(fs_tab))),nrow=nrow(fs_tab))
colnames(fs_oth)=setdiff(sp,colnames(fs_tab))
fs_Tab=as.data.frame(cbind(fs_tab,fs_oth))

fs_dt=fs_Tab[,sp]
colnames(fs_dt)=paste(colnames(fs_dt),"WGS",sep="_")
rownames(fs_dt)=paste(rownames(fs_dt),"Fusion",sep="_")

fs_dt[fs_dt!=0]=1
fs_freq=rowSums(fs_dt)/206
names(fs_freq)=sub("_Fusion","",rownames(fs_dt))
write.table(fs_freq,"Fusion_freq.xls",sep="\t",quote = F,col.names=F)

#merge data
sp=paste(sp,"WGS",sep="_")
CNV=rbind(sub_amp[,sp],sub_del[,sp])
dt=rbind(rbind(rbind(sig_dt[,sp]),CNV[,sp]),fs_dt[,sp])
write.table(t(dt),"mrt.matrix_206.xls",sep="\t",quote = F)

#add sv and high_expression to ETS
sv_dt=read.delim("Gene_pair_sv_annotation_TAD_summary_208.xls",sep="\t",header=T,stringsAsFactors=F)
fs_dt=read.delim("Fusion_fusionhub_sv_validated_Arv.xls",sep="\t",header=T,stringsAsFactors=F)

sv_sp=list()
fs_sp=list()
sv_sp[[1]]=unique(unlist(strsplit(sv_dt$Sample[sv_dt$Pair1_Gene=="ERG"|sv_dt$Pair2_Gene=="ERG"],split=",")))
fs_sp[[1]]=unique(unlist(strsplit(fs_dt$Sample[fs_dt$Fusion=="TMPRSS2--ERG"],split=";")))
sv_sp[[2]]=unique(unlist(strsplit(sv_dt$Sample[sv_dt$Pair1_Gene=="ETV1"|sv_dt$Pair2_Gene=="ETV1"],split=",")))
fs_sp[[2]]=unique(unlist(strsplit(fs_dt$Sample[grep("ETV1",fs_dt$Fusion)],split=";")))
sv_sp[[3]]=unique(unlist(strsplit(sv_dt$Sample[c(grep("ETV4",sv_dt$Pair1_Gene),grep("ETV4",sv_dt$Pair2_Gene))],split=",")))
fs_sp[[3]]=unique(unlist(strsplit(fs_dt$Sample[grep("ETV4",fs_dt$Fusion)],split=";")))
sv_sp[[4]]=unique(unlist(strsplit(sv_dt$Sample[sv_dt$Pair1_Gene=="FLI1"|sv_dt$Pair2_Gene=="FLI1"],split=",")))
fs_sp[[4]]=unique(unlist(strsplit(fs_dt$Sample[grep("FLI1",fs_dt$Fusion)],split=";")))

SV_sp=unique(unlist(sv_sp))
FS_sp=unique(unlist(fs_sp))

dt=read.table("mrt.matrix_206.xls",header=T,row.names=1,check.names = F)
rownames(dt)=sub("_WGS","",rownames(dt))

dt$ETS_Fusion=dt$`TMPRSS2--ERG_Fusion`+dt$`HMGN2P46--ETV1_Fusion`+dt$`CLTC--ETV4_Fusion`+dt$`UBTF--ETV4_Fusion`
#ERG+sv
dt[union(SV_sp,FS_sp),"ETS_Fusion"]=1

dt=dt[,colSums(dt)!=0]
dt[dt!=0]=1
dt=dt[,colSums(dt)>4]
write.table(dt,"mrt_matrix_206_input.xls",sep="\t",quote=F)

select

library(foreach)
require("select")
library(scales)
dt1=read.table("mrt_matrix_206_input.xls",header=T,check.names = F)
ets=c("TMPRSS2--ERG_Fusion","HMGN2P46--ETV1_Fusion","CLTC--ETV4_Fusion","UBTF--ETV4_Fusion")
dt1=dt1[,!is.element(colnames(dt1),ets)]#3708

smg=read.table("Our_sig_SMG_206.xls",sep="\t")
our_smg=rownames(smg)
#pathway gene
pth_dt=read.table("Pathway_gene_tab.xls",header=T,sep="\t",stringsAsFactors = F)
pth_smg=pth_dt$Gene
smg_pth=union(our_smg,pth_smg)

pth_smg_alter=c(paste(smg_pth,"_Mutation",sep=""),paste(smg_pth,"_Amp",sep=""),paste(smg_pth,"_Del",sep=""))
dt=dt1[,c(intersect(pth_smg_alter,colnames(dt1)),colnames(dt1)[grep("Fusion",colnames(dt1))])]
dt_new=dt==1

sp.class=rep("Prad",nrow(dt_new))
names(sp.class)=rownames(dt_new)

al.class=foreach(i=1:ncol(dt_new),.combine = c) %do% strsplit(colnames(dt_new)[i],split="_")[[1]][2]
names(al.class)=colnames(dt_new)
#75 alterations
#dir.create("select_prad_seed.104")
alpi = select(M=dt_new, sample.class=sp.class, alteration.class=al.class, folder='select_prad_seed.104/', r.seed = 104, n.cores=2)
colnames(alpi)[25]="ASC"
write.table(alpi[,c(3,1,2,6:8,11:12,20:ncol(alpi))],"SELECT_result_mutual_Exclusive.xls",row.names = F,quote = F,sep="\t")