@@ -15,16 +15,27 @@ Here, we present the **DeepMeta** framework to predict the metabolic gene depend
1515
1616Two functions ` PreEnzymeNet ` and ` PreDiffExp ` can be used for preparing DeepMeta inputs.
1717
18+ ``` shell
19+ git clone git@github.com:XSLiuLab/DeepMeta.git
20+ # #download OmicsExpressionProteinCodingGenesTPMLogp1.csv from DeepMap and place in current dir.
21+ mkdir pre_test
22+ mkdir example_test
23+ ```
24+
25+ Then set working path to DeepMeta in R:
26+
1827``` R
28+ setwd(" path/to/DeepMeta" )
1929# ##cell gene expression
20- gene_exp <- data.table :: fread(" /home/data/sdb/wt/model_data/OmicsExpressionProteinCodingGenesTPMLogp1.csv" ,data.table = F )
30+ gene_exp <- data.table :: fread(" ../OmicsExpressionProteinCodingGenesTPMLogp1.csv" ,
31+ data.table = F )
2132rownames(gene_exp ) <- gene_exp $ V1
2233gene_exp <- gene_exp %> % select(- V1 )
2334colnames(gene_exp ) <- gsub(" [(].+" ," " ,colnames(gene_exp ))
2435gene_exp <- as.data.frame(t(gene_exp ))
2536
2637# ##cell info
27- cell_mapping <- read.csv(" /home/data/sdc/wt/update/ data/Model.csv" )
38+ cell_mapping <- read.csv(" data/Model.csv" )
2839cell_mapping <- cell_mapping %> %
2940 filter((OncotreeLineage != " Normal" ) & (OncotreePrimaryDisease != " Non-Cancerous" ))
3041net_cell_mapping <- data.frame (origin_net = NA ,
@@ -55,8 +66,8 @@ cell_mapping <- cell_mapping %>%
5566 mutate(net = paste0(gsub(" .xml" ," " ,origin_net )," _enzymes_based_graph.tsv" ))
5667
5768# ###gene mapping and CPG features, The code that generates this data is in `scripts/help_data.R`
58- enz_gene_mapping <- readRDS(" ~/DeepMeta/ data/enz_gene_mapping.rds" )
59- cpg_gene <- readRDS(" ~/DeepMeta/ data/cpg_gene.rds" )
69+ enz_gene_mapping <- readRDS(" data/enz_gene_mapping.rds" )
70+ cpg_gene <- readRDS(" data/cpg_gene.rds" )
6071```
6172
6273We used 76 test cell lines as the example:
@@ -83,7 +94,8 @@ foreach(
8394 cell_net <- read.table(paste0(" data/meta_net/EnzGraphs/" ,cell_net ))
8495 PreDeepMeta :: PreEnzymeNet(gene_exp , network = cell_net ,
8596 gene_mapping = enz_gene_mapping , gene_feature = cpg_gene ,
86- cell_name = i , save_path = " /home/data/sdb/wt/model_data/enzyme_net_test/" )
97+ cell_name = i ,
98+ save_path = " ../pre_test/" )
8799}
88100parallel :: stopCluster(cl = my.cluster )
89101
@@ -94,28 +106,22 @@ gtex <- data.table::fread("data/GTEx_Analysis_2017-06-05_v8_RNASeQCv1.1.9_gene_m
94106 select(- Name )
95107data(" model_gene_order" )
96108
109+ gtex [,2 : ncol(gtex )] <- apply(gtex [,2 : ncol(gtex )],2 ,function (x ){log2(x + 1.01 )})
97110cell_mapping <- cell_mapping %> % filter(ModelID %in% test_cell $ cell )
98111gene_exp <- gene_exp %> % select(all_of(cell_mapping $ ModelID ))
99112PreDiffExp(tumor_exp = gene_exp , normal_exp = gtex ,
100113 tumor_normal_mapping = cell_mapping ,
101114 gene_order = model_gene_order ,
102115 save_file = TRUE ,
103- save_path = " /home/data/sdb/wt/model_data/test_diff_exp.csv" )
104-
116+ save_path = " ../test_diff_exp.csv" )
117+ # ##save cell info
118+ write.csv(test_cell ," ../test_cell_info.csv" ,quote = F ,row.names = F )
105119```
106120
107121Then we can use python script ` pred_enzyme.py ` (which in ` scripts/model ` fold) to predict metabolic dependency:
108122
109123``` R
110- python ~ / DeepMeta / scripts / model / pred_enzyme.py
111- - e / home / data / sdb / wt / model_data / test_diff_exp.csv
112- - g / home / data / sdb / wt / model_data / tmp / example_test /
113- - c / home / wt / DeepMeta / data / test_cell_info.csv
114- - n / home / data / sdb / wt / model_data / enzyme_net_test /
115- - t 30
116- - m / home / data / sdc / wt / model_data / new_model / enzyme_model_filterV2.pt
117- - o / home / wt / DeepMeta / data / example_test.csv
118- - d val - b 1
124+ python DeepMeta / scripts / model / pred_enzyme.py - e . / test_diff_exp.csv - g . / example_test - c . / test_cell_info.csv - n . / pre_test / - t 10 - m . / DeepMeta.pt - o . / res.csv - d val - b 1
119125```
120126
121127The arguments are :
@@ -133,7 +139,7 @@ The arguments are :
133139The output is the csv file with predicted dependency probability (` preds_raw ` column) and lable (using cutoff probability 0.5, ` preds ` column):
134140
135141``` R
136- dt <- read.csv(" data/example_test .csv" ) %> % select(- X )
142+ dt <- read.csv(" ../res .csv" ) %> % select(- X )
137143View(dt )
138144```
139145
0 commit comments