diff options
author | Lan Hui <lanhui@zjnu.edu.cn> | 2024-08-26 16:20:34 +0800 |
---|---|---|
committer | Lan Hui <lanhui@zjnu.edu.cn> | 2024-08-26 16:20:34 +0800 |
commit | 965c52946eef4cd76f0a4119be63d82348cfee23 (patch) | |
tree | 7aba7ea456daa9abdedae049b3ea98c3c7fee177 | |
parent | f312d8bbef849370aacefba1f6e8b1b420047cbb (diff) |
Use R package jsonlite instead of rjson, to support the 'digits' option, which allows keeping fewer digits after decimal, thus saving disk storage space
-rw-r--r-- | Code/getTF.py | 19 | ||||
-rw-r--r-- | Code/slice_TPM_to_JSON.R | 20 | ||||
-rw-r--r-- | Code/slice_TPM_to_JSON.py | 4 |
3 files changed, 41 insertions, 2 deletions
diff --git a/Code/getTF.py b/Code/getTF.py new file mode 100644 index 0000000..1090bd2 --- /dev/null +++ b/Code/getTF.py @@ -0,0 +1,19 @@ +import json + +tfs = set() + +with open('../Data/information/target_tf.txt') as f: + for line in f: + line = line.strip() + lst = line.split('\t') + tf = lst[1] + tfs.add(tf) + +with open('../Data/information/target_tf_agris.txt') as f: + for line in f: + line = line.strip() + lst = line.split('\t') + tf = lst[1] + tfs.add(tf) + +print(json.dumps(sorted(list(tfs)))) diff --git a/Code/slice_TPM_to_JSON.R b/Code/slice_TPM_to_JSON.R new file mode 100644 index 0000000..e7021ef --- /dev/null +++ b/Code/slice_TPM_to_JSON.R @@ -0,0 +1,20 @@ + +#library(rjson) +library(jsonlite) +dir.name <- '../Data/history/expr/json' +tpm.file <- '../Data/history/expr/assemble/TPM.6604.txt' +take.log <- 'YES' +X <- read.table(tpm.file, header=T, check.names=FALSE, sep="\t") +gene.id <- as.vector(X[,1]) +X[,1] <- NULL # remove first column +if (take.log == 'YES') { + X <- log(X+1) +} +if (!dir.exists(dir.name)) { + dir.create(dir.name) +} +for (i in 1:dim(X)[1]) { + y <- toJSON(X[i,], digits=I(3)) + file.name = paste(dir.name, paste(gene.id[i], 'json', sep='.'), sep='/') + cat(y, file=file.name) +} diff --git a/Code/slice_TPM_to_JSON.py b/Code/slice_TPM_to_JSON.py index e597b78..618310f 100644 --- a/Code/slice_TPM_to_JSON.py +++ b/Code/slice_TPM_to_JSON.py @@ -127,7 +127,7 @@ def make_json_file(expr_dict, dir_name, glb_param_dict): def make_json_file_using_r(dir_name, glb_param_dict): # use r script to make it faster r_code = ''' - library(rjson) + library(jsonlite) dir.name <- '%s' tpm.file <- '%s' take.log <- '%s' @@ -141,7 +141,7 @@ def make_json_file_using_r(dir_name, glb_param_dict): # use r script to make it dir.create(dir.name) } for (i in 1:dim(X)[1]) { - y <- toJSON(X[i,]) + y <- toJSON(X[i,], digits=I(3)) file.name = paste(dir.name, paste(gene.id[i], 'json', sep='.'), sep='/') cat(y, file=file.name) } |