diff options
author | Hui Lan <lanhui@zjnu.edu.cn> | 2024-08-05 14:44:44 +0800 |
---|---|---|
committer | Hui Lan <lanhui@zjnu.edu.cn> | 2024-08-05 14:44:44 +0800 |
commit | df4af8751a5c1e1465159083100b82e58e7778f7 (patch) | |
tree | 4962f84f789520f3e3be54e94ff11f06d5e35e8f | |
parent | 0d5e23b870ef9fa21cc90e31150dc1c27d56b3f8 (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.py | 13 | ||||
-rw-r--r-- | Code/local_network.py | 10 | ||||
-rw-r--r-- | Code/log.py | 19 | ||||
-rw-r--r-- | Code/make_parameter_rnaseq.py | 10 | ||||
-rw-r--r-- | Code/merge_edges.py | 14 | ||||
-rw-r--r-- | Code/testlog.txt | 2 | ||||
-rwxr-xr-x | Code/update_network.py | 12 | ||||
-rw-r--r-- | Code/update_network_by_force.py | 20 |
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 |