diff options
author | Lan Hui <lanhui@zjnu.edu.cn> | 2025-09-29 17:32:53 +0800 |
---|---|---|
committer | Lan Hui <lanhui@zjnu.edu.cn> | 2025-09-29 17:32:53 +0800 |
commit | 358d0c1b764abea15aa732c6c982219be2bc8370 (patch) | |
tree | f5ca00e4aabab6a7c7cf6a2cf8e9fb66ad0da23a /Code/publish_mapped_data.py | |
parent | e4190efc2efb8267a1dede57a6c75d34060ac68e (diff) | |
parent | 7447e7d86240ef6e61574d53e819dc33ceab527e (diff) |
Merge branch 'master' of 118.25.96.118:~/BRAINCL
Diffstat (limited to 'Code/publish_mapped_data.py')
-rw-r--r-- | Code/publish_mapped_data.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Code/publish_mapped_data.py b/Code/publish_mapped_data.py new file mode 100644 index 0000000..2bd655c --- /dev/null +++ b/Code/publish_mapped_data.py @@ -0,0 +1,33 @@ +import redis +from configure import DAILY_MAP_NUMBER, MIN_FASTQ_FILE_SIZE, RNA_SEQ_INFO_FILE, DOWNLOADED_SRA_ID_LOG_FILE, IGNORED_SRA_ID_LOG_FILE, UPDATE_NETWORK_LOG_FILE, MAPPED_RDATA_DIR, RAW_RDATA_DIR, SALMON_MAP_RESULT_DIR, REDIS_CHANNEL +import json, glob, os, time +from datetime import datetime +def publish(mapped_files): + redis_host = os.getenv('REDIS_HOST', '127.0.0.1') + redis_password = os.getenv('REDIS_PASSWORD', '123456') + print(redis_password) + r = redis.Redis(host=redis_host, port=6379, password=redis_password, db=0) + r.publish(REDIS_CHANNEL, json.dumps({'filename':'REDIS_START.txt', 'data':str(datetime.now())})) + for fname in mapped_files: + print(fname) + try: + file_basename = os.path.basename(fname) + with open(fname, 'r') as f: + data = f.read() + r.publish(REDIS_CHANNEL, json.dumps({'filename':file_basename, 'data':data})) + time.sleep(3) + except Exception as e: + print(f'ERROR {e}') + r.publish(REDIS_CHANNEL, json.dumps({'filename':'REDIS_ERROR.txt', 'data':str(e)})) + + +# after mapping is finished, move all resulting files to MAPPED_RDATA_DIR +mapped_files = glob.glob('%s/*_quant.txt' % (SALMON_MAP_RESULT_DIR.rstrip('/'))) +print(mapped_files) +publish(mapped_files) +if mapped_files != []: + cmd = 'mv %s/*_quant.txt %s' % (SALMON_MAP_RESULT_DIR.rstrip('/'), MAPPED_RDATA_DIR) + os.system(cmd) + print('[download_and_map.py] Done. Check directory %s.' % (os.path.abspath(MAPPED_RDATA_DIR))) +else: + print('[download_and_map.py] No quant files to move.') |