Skip to content

Commit b38a513

Browse files
author
Jorge Roel
committed
Added script to rank per swarm
1 parent bdf1030 commit b38a513

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

bin/post/lgd_rank_swarm.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/usr/bin/env python
2+
3+
"""Calculates the ranking file by scoring intra-swarm"""
4+
5+
from __future__ import print_function
6+
import sys
7+
import os
8+
import argparse
9+
from lightdock.util.logger import LoggingManager
10+
from lightdock.constants import DEFAULT_SWARM_FOLDER, GSO_OUTPUT_FILE
11+
from lightdock.util.analysis import read_ranking_file
12+
from lightdock.util.analysis import read_lightdock_output
13+
from lightdock.util.analysis import write_ranking_to_file
14+
15+
16+
log = LoggingManager.get_logger('lgd_rank_swarm')
17+
18+
19+
def parse_command_line():
20+
parser = argparse.ArgumentParser(prog='lgd_rank_swarm')
21+
parser.add_argument("num_swarms", help="number of swarms to consider", type=int, metavar="num_swarms")
22+
parser.add_argument("steps", help="steps to consider", type=int, metavar="steps")
23+
return parser.parse_args()
24+
25+
26+
if __name__ == '__main__':
27+
28+
try:
29+
CURRENT_FOLDER = os.getcwd()
30+
args = parse_command_line()
31+
32+
for swarm_id in range(args.num_swarms):
33+
os.chdir(os.path.join(DEFAULT_SWARM_FOLDER + str(swarm_id)))
34+
result_file_name = os.path.join(GSO_OUTPUT_FILE % args.steps)
35+
lightdock_output = read_lightdock_output(result_file_name)
36+
write_ranking_to_file(lightdock_output, order_by="scoring")
37+
os.chdir(CURRENT_FOLDER)
38+
except IOError:
39+
log.warning("Either num_clusters or steps not found. Exiting...")
40+
raise SystemExit()

0 commit comments

Comments
 (0)