Louis BECQUEY

archive/ folder

...@@ -1510,13 +1510,9 @@ class Pipeline: ...@@ -1510,13 +1510,9 @@ class Pipeline:
1510 1510
1511 setproctitle("RNANet.py output_results()") 1511 setproctitle("RNANet.py output_results()")
1512 1512
1513 - time_str = time.strftime("%Y%m%d")
1514 -
1515 # Prepare folders: 1513 # Prepare folders:
1516 if not os.path.isdir(path_to_3D_data + "datapoints/"): 1514 if not os.path.isdir(path_to_3D_data + "datapoints/"):
1517 os.makedirs(path_to_3D_data + "datapoints/") 1515 os.makedirs(path_to_3D_data + "datapoints/")
1518 - if not os.path.isdir(runDir + "/results/archive/"):
1519 - os.makedirs(runDir + "/results/archive/")
1520 1516
1521 # Save to by-chain CSV files 1517 # Save to by-chain CSV files
1522 p = Pool(initializer=init_worker, initargs=(tqdm.get_lock(),), processes=3) 1518 p = Pool(initializer=init_worker, initargs=(tqdm.get_lock(),), processes=3)
...@@ -1551,28 +1547,20 @@ class Pipeline: ...@@ -1551,28 +1547,20 @@ class Pipeline:
1551 "--seq-folder", path_to_seq_data, "-r", str(self.CRYSTAL_RES)]) 1547 "--seq-folder", path_to_seq_data, "-r", str(self.CRYSTAL_RES)])
1552 1548
1553 # Save additional informations 1549 # Save additional informations
1554 - os.makedirs(runDir + "/archive", exist_ok=True)
1555 with sqlite3.connect(runDir+"/results/RNANet.db") as conn: 1550 with sqlite3.connect(runDir+"/results/RNANet.db") as conn:
1556 pd.read_sql_query("""SELECT rfam_acc, description, idty_percent, nb_homologs, nb_3d_chains, nb_total_homol, max_len, comput_time, comput_peak_mem 1551 pd.read_sql_query("""SELECT rfam_acc, description, idty_percent, nb_homologs, nb_3d_chains, nb_total_homol, max_len, comput_time, comput_peak_mem
1557 FROM family ORDER BY nb_3d_chains DESC;""", 1552 FROM family ORDER BY nb_3d_chains DESC;""",
1558 - conn).to_csv(runDir + f"/archive/families_{time_str}.csv", float_format="%.2f", index=False) 1553 + conn).to_csv(runDir + f"/results/families.csv", float_format="%.2f", index=False)
1559 pd.read_sql_query("""SELECT eq_class, structure_id, chain_name, pdb_start, pdb_end, rfam_acc, inferred, date, exp_method, resolution, issue 1554 pd.read_sql_query("""SELECT eq_class, structure_id, chain_name, pdb_start, pdb_end, rfam_acc, inferred, date, exp_method, resolution, issue
1560 FROM structure 1555 FROM structure
1561 JOIN chain ON structure.pdb_id = chain.structure_id 1556 JOIN chain ON structure.pdb_id = chain.structure_id
1562 ORDER BY structure_id, chain_name, rfam_acc ASC;""", 1557 ORDER BY structure_id, chain_name, rfam_acc ASC;""",
1563 - conn).to_csv(runDir + f"/archive/summary_{time_str}.csv", float_format="%.2f", index=False) 1558 + conn).to_csv(runDir + f"/results/summary.csv", float_format="%.2f", index=False)
1564 1559
1565 - # Update shortcuts to latest versions
1566 - subprocess.run(["rm", "-f", runDir + "/results/RNANET_datapoints_latest.tar.gz",
1567 - runDir + "/results/summary_latest.csv",
1568 - runDir + "/results/families_latest.csv"
1569 - ])
1570 if self.ARCHIVE: 1560 if self.ARCHIVE:
1561 + os.makedirs(runDir + "/archive", exist_ok=True)
1571 subprocess.run(["tar", "-C", path_to_3D_data + "/datapoints", "-czf", 1562 subprocess.run(["tar", "-C", path_to_3D_data + "/datapoints", "-czf",
1572 - runDir + f"/archive/RNANET_datapoints_{time_str}.tar.gz", "."]) 1563 + runDir + f"/archive/RNANET_datapoints_{time.strftime('%Y%m%d')}.tar.gz", "."])
1573 - subprocess.run(['ln', "-s", runDir + f"/archive/RNANET_datapoints_{time_str}.tar.gz", runDir + "/results/RNANET_datapoints_latest.tar.gz"])
1574 - subprocess.run(['ln', "-s", runDir + f"/archive/summary_{time_str}.csv", runDir + "/results/summary_latest.csv"])
1575 - subprocess.run(['ln', "-s", runDir + f"/archive/families_{time_str}.csv", runDir + "/results/families_latest.csv"])
1576 1564
1577 def sanitize_database(self): 1565 def sanitize_database(self):
1578 """Searches for issues in the database and correct them""" 1566 """Searches for issues in the database and correct them"""
......
1 # This is a script supposed to be run periodically as a cron job 1 # This is a script supposed to be run periodically as a cron job
2 2
3 cd /home/lbecquey/Projects/RNANet 3 cd /home/lbecquey/Projects/RNANet
4 -rm -f latest_run.log errors.txt 4 +rm -rf latest_run.log errors.txt
5 5
6 # Run RNANet 6 # Run RNANet
7 bash -c 'time ./RNAnet.py --3d-folder /home/lbecquey/Data/RNA/3D/ --seq-folder /home/lbecquey/Data/RNA/sequences/ -r 20.0 -s --archive' &> latest_run.log 7 bash -c 'time ./RNAnet.py --3d-folder /home/lbecquey/Data/RNA/3D/ --seq-folder /home/lbecquey/Data/RNA/sequences/ -r 20.0 -s --archive' &> latest_run.log
8 -touch results/RNANet.db # update last modification date 8 +touch results/RNANet.db # update last modification date
9 -rm -f results/RNANet.db-wal results/RNANet.db-shm # SQLite temporary files 9 +gzip -k /home/lbecquey/Projects/RNANet/results/RNANet.db # compress it
10 +rm -f results/RNANet.db-wal results/RNANet.db-shm # SQLite temporary files
10 11
11 -# Compress 12 +# Save the latest results
12 -rm -f /home/lbecquey/Projects/RNANet/results/RNANet.db.gz 13 +export DATE=`printf '%(%Y%m%d)T'`
13 -echo 'Deleted results/RNANet.db.gz (if existed)' >> latest_run.log 14 +cp /home/lbecquey/Projects/RNANet/results/summary.csv /home/lbecquey/Projects/RNANet/archive/summary_latest.csv
14 -gzip -k /home/lbecquey/Projects/RNANet/results/RNANet.db 15 +cp /home/lbecquey/Projects/RNANet/results/summary.csv /home/lbecquey/Projects/RNANet/archive/summary_$DATE.csv
15 -echo 'Recreated it.' >> latest_run.log 16 +cp /home/lbecquey/Projects/RNANet/results/families.csv /home/lbecquey/Projects/RNANet/archive/families_latest.csv
17 +cp /home/lbecquey/Projects/RNANet/results/families.csv /home/lbecquey/Projects/RNANet/archive/families_$DATE.csv
18 +cp /home/lbecquey/Projects/RNANet/results/frequencies.csv /home/lbecquey/Projects/RNANet/archive/frequencies_latest.csv
19 +cp /home/lbecquey/Projects/RNANet/results/pair_types.csv /home/lbecquey/Projects/RNANet/archive/pair_types_latest.csv
20 +mv /home/lbecquey/Projects/RNANet/results/RNANet.db.gz /home/lbecquey/Projects/RNANet/archive/
16 21
17 # Sync in Seafile 22 # Sync in Seafile
18 seaf-cli start >> latest_run.log 2>&1 23 seaf-cli start >> latest_run.log 2>&1
......