summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHui Lan <lanhui@zjnu.edu.cn>2024-08-05 14:44:44 +0800
committerHui Lan <lanhui@zjnu.edu.cn>2024-08-05 14:44:44 +0800
commitdf4af8751a5c1e1465159083100b82e58e7778f7 (patch)
tree4962f84f789520f3e3be54e94ff11f06d5e35e8f
parent0d5e23b870ef9fa21cc90e31150dc1c27d56b3f8 (diff)
Update write_log_file() so that it put the most recent message on the top; remove duplicate write_log_file()
-rw-r--r--Code/backup_files.py13
-rw-r--r--Code/local_network.py10
-rw-r--r--Code/log.py19
-rw-r--r--Code/make_parameter_rnaseq.py10
-rw-r--r--Code/merge_edges.py14
-rw-r--r--Code/testlog.txt2
-rwxr-xr-xCode/update_network.py12
-rw-r--r--Code/update_network_by_force.py20
8 files changed, 32 insertions, 68 deletions
diff --git a/Code/backup_files.py b/Code/backup_files.py
index 6105525..0b044f1 100644
--- a/Code/backup_files.py
+++ b/Code/backup_files.py
@@ -9,21 +9,10 @@
import os, sys
from configure import UPDATE_NETWORK_LOG_FILE
from datetime import datetime
+from log import write_log_file
MINIMUM_SPACE_REQUIREMENT = 1 # Gigabytes
-def write_log_file(s, fname):
- if not os.path.exists(fname):
- return None
- f = open(fname, 'a')
- curr_time = datetime.now().strftime('%Y-%m-%d %H:%M')
- s = '[' + curr_time + ']: ' + s
- if not '\n' in s:
- s += '\n'
- f.write(s)
- f.close()
-
-
def make_paths(s):
if not os.path.isdir(s):
os.makedirs(s)
diff --git a/Code/local_network.py b/Code/local_network.py
index 216832f..beb04ac 100644
--- a/Code/local_network.py
+++ b/Code/local_network.py
@@ -30,6 +30,7 @@ import time
import subprocess
from datetime import datetime
from param4net import make_global_param_dict, get_key_value
+from log import write_log_file
FORCE_MAKE_EDGES = 'NO'
@@ -110,15 +111,6 @@ def record_new_or_updated_chip_ids(lst, fname):
f.write('%s\t%s\n' % (x, curr_time))
f.close()
-def write_log_file(s, fname):
- f = open(fname, 'a')
- print(s)
- curr_time = datetime.now().strftime('%Y-%m-%d %H:%M')
- s = '[' + curr_time + ']: ' + s
- if not '\n' in s:
- s += '\n'
- f.write(s)
- f.close()
def write_sample_size_file(sample_size_file, curr_date, tpm_sample_size):
if not os.path.exists(sample_size_file):
diff --git a/Code/log.py b/Code/log.py
new file mode 100644
index 0000000..396acdd
--- /dev/null
+++ b/Code/log.py
@@ -0,0 +1,19 @@
+import os
+from datetime import datetime
+
+def write_log_file(s, fname):
+ ''' Write s to fname, the most recent on the top'''
+ curr_time = datetime.now().strftime('%Y-%m-%d %H:%M')
+ print('Log at %s: %s' % (curr_time, s.strip()))
+ content = ''
+ if os.path.exists(fname):
+ with open(fname) as f:
+ content = f.read()
+ with open(fname, 'w') as f:
+ f.write('[' + curr_time + ']: ' + s.strip() + '\n' + content)
+
+
+
+if __name__ == '__main__':
+ write_log_file('hello', 'testlog.txt');
+ write_log_file('logger', 'testlog.txt');
diff --git a/Code/make_parameter_rnaseq.py b/Code/make_parameter_rnaseq.py
index 18ef568..f9c7d26 100644
--- a/Code/make_parameter_rnaseq.py
+++ b/Code/make_parameter_rnaseq.py
@@ -9,6 +9,7 @@
import sys, os, glob, json
import fnmatch, re
from datetime import datetime
+from log import write_log_file
from configure import RNA_SEQ_INFO_FILE, UPDATE_NETWORK_LOG_FILE
NON_ZERO_RATIO = 0.2 # omit *_quant.txt files with too many zeros.
@@ -102,15 +103,6 @@ def read_ena_data_info_json(fname):
return d
-def write_log_file(s, fname):
- f = open(fname, 'a')
- curr_time = datetime.now().strftime('%Y-%m-%d %H:%M')
- s = '[' + curr_time + ']: ' + s
- if not '\n' in s:
- s += '\n'
- f.write(s)
- f.close()
-
### main
if not os.path.exists(RNA_SEQ_INFO_FILE):
print('make_parameter_rnaseq.py: you must provide %s. See parse_ena_xml.py on how to make it.' % (RNA_SEQ_INFO_FILE))
diff --git a/Code/merge_edges.py b/Code/merge_edges.py
index 3b20468..2fc034c 100644
--- a/Code/merge_edges.py
+++ b/Code/merge_edges.py
@@ -21,22 +21,10 @@
import os, operator, sys, math, datetime, glob
+from log import write_log_file
from configure import EDGE_POOL_DIR, MERGED_EDGE_FILE, UPDATE_NETWORK_LOG_FILE
import sqlite3
-
-def write_log_file(s, fname):
- if not os.path.exists(fname):
- return None
- f = open(fname, 'a')
- curr_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M')
- s = '[' + curr_time + ']: ' + s
- if not '\n' in s:
- s += '\n'
- f.write(s)
- f.close()
-
-
def get_number_of_RNAseq_ids(s):
if s == '.':
return 1
diff --git a/Code/testlog.txt b/Code/testlog.txt
new file mode 100644
index 0000000..fae738f
--- /dev/null
+++ b/Code/testlog.txt
@@ -0,0 +1,2 @@
+[2024-08-05 14:36]: logger
+[2024-08-05 14:36]: hello
diff --git a/Code/update_network.py b/Code/update_network.py
index e8d5a1d..d5aed9b 100755
--- a/Code/update_network.py
+++ b/Code/update_network.py
@@ -47,6 +47,7 @@ import time
import subprocess
from datetime import datetime
from param4net import make_global_param_dict, get_key_value
+from log import write_log_file
from configure import HISTORY_DIR, HISTORY_DIR2, FILE_TIMESTAMP, SAMPLE_SIZE_FILE, TEMP_DIR, \
PARAMETER_FOR_BUILDCMATRIX, PARAMETER_FOR_BUILDRMATRIX, \
PARAMETER_FOR_NET, PARAMETER_FOR_NET_TRAVADB_STRESS, PARAMETER_FOR_NET_TRAVADB_MAP, PARAMETER_FOR_NET_MILD_DROUGHT, PARAMETER_FOR_NET_WIGGELAB_DIURNAL, \
@@ -123,17 +124,6 @@ def num_ids(fname):
return len(lines[0].split('\t')) - 1
-def write_log_file(s, fname):
- f = open(fname, 'a')
- curr_time = datetime.now().strftime('%Y-%m-%d %H:%M')
- s = '[' + curr_time + ']: ' + s
- if not '\n' in s:
- s += '\n'
- f.write(s)
- f.close()
- print('Log: %s' % (s.strip()))
-
-
def write_sample_size_file(sample_size_file, curr_date, tpm_sample_size):
if not os.path.exists(sample_size_file):
f = open(sample_size_file, 'w')
diff --git a/Code/update_network_by_force.py b/Code/update_network_by_force.py
index 079f677..fae2965 100644
--- a/Code/update_network_by_force.py
+++ b/Code/update_network_by_force.py
@@ -1,8 +1,9 @@
# Usage: python3 update_network_by_force.py
-# Purpose: update_network.py could take a few days (even weeks) to run. Run this script to harvest new edges everyday.
+# Purpose: update_network.py could take a few days (even weeks) to run. Run this script to harvest new edges before update_network.py finishes.
#
# Revision history:
-# Last modified: 24 Nov 2019, hui <lanhui@zjnu.edu.cn>
+# 24 Nov 2019, hui <lanhui@zjnu.edu.cn>
+# Last modified: 5 Aug 2024, hui <lanhui@zjnu.edu.cn>
import os, sys
import glob
@@ -12,21 +13,11 @@ from configure import HISTORY_DIR, HISTORY_DIR2, UPDATE_NETWORK_LOG_FILE, MERGED
from configure import PARAMETER_FOR_BUILDCMATRIX, PARAMETER_FOR_BUILDRMATRIX, PARAMETER_FOR_NET
from configure import DIFF_EDGE_FILE
from backup_files import copy_and_backup_file
+from log import write_log_file
from overlap import Overlap
import utils
########## Helper functions #######################
-def write_log_file(s, fname):
- f = open(fname, 'a')
- curr_time = datetime.now().strftime('%Y-%m-%d %H:%M')
- s = '[' + curr_time + ']: ' + s
- if not '\n' in s:
- s += '\n'
- f.write(s)
- f.close()
- print('Log: %s' % (s.strip()))
-
-
def num_line(fname):
''' Return number of lines in file fname. '''
if not os.path.exists(fname):
@@ -52,6 +43,7 @@ def age_of_file_in_seconds(fname):
seconds = time.time() - st.st_mtime
return seconds
+
def concatenate_edge_files(fname_lst, dir_out, fname_out):
fout = open(os.path.join(dir_out, fname_out), 'w')
for fname in fname_lst:
@@ -78,7 +70,7 @@ def concatenate_edge_files(fname_lst, dir_out, fname_out):
else:
write_log_file('[update_network_by_force.py] In function concatenate_edge_files(). Check file %s. It has no rows with 10 fields.' % (fname), UPDATE_NETWORK_LOG_FILE)
fout.close()
-
+
def delete_edge_files(fname_lst):
age_in_hours = 6