summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLan Hui <lanhui@zjnu.edu.cn>2024-08-26 16:20:34 +0800
committerLan Hui <lanhui@zjnu.edu.cn>2024-08-26 16:20:34 +0800
commit965c52946eef4cd76f0a4119be63d82348cfee23 (patch)
tree7aba7ea456daa9abdedae049b3ea98c3c7fee177
parentf312d8bbef849370aacefba1f6e8b1b420047cbb (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.py19
-rw-r--r--Code/slice_TPM_to_JSON.R20
-rw-r--r--Code/slice_TPM_to_JSON.py4
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)
}