-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgenerate_bash_scripts.py
85 lines (78 loc) · 2.64 KB
/
generate_bash_scripts.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import sys
grgroup = ['POT','DRG', 'HKL', 'NET', 'TWL', 'TWS', 'MSC', 'TLS']
base_years = [2006, 2010, 2012]
class_years = range(2006,2016)
file_path = '/Users/efuller/Desktop/CNH/processedData/catch/2_defineMetiers/bash_scripts/'
# write base year scripts
for grgrp in grgroup:
if grgrp == "POT":
mem = '100000'
else:
mem = '50000'
for yr in base_years:
f = open(file_path + grgrp + str(yr) + '.sh', 'w')
f.write('#!/bin/sh\n')
f.write('#SBATCH -N 1\n')
f.write('#SBATCH --ntasks-per-node=1\n')
f.write('#SBATCH -J %s_%d\n' % (grgrp, yr))
f.write('#SBATCH -t 1:00:00\n')
f.write('#SBATCH --mail-user=efuller@princeton.edu\n')
f.write('#SBATCH --mail-type=begin\n')
f.write('#SBATCH --mail-type=end\n')
f.write('#SBATCH --mem=%s\n' % (mem))
f.write('\n')
f.write('cd /tigress/efuller/raw_infoMap\n\n')
f.write('Rscript 1_makeLinkList.R "%s" %d' % (grgrp, yr))
f.close()
# write bash scripts to generate infomap clusters for base years
for grgrp in grgroup:
if grgrp == 'POT':
mem='60000'
time = '10:00:00'
elif grgrp == 'HKL':
mem = '12000'
time = '3:00:00'
else:
mem = '50000'
time = '1:00:00'
for yr in base_years:
f = open(file_path + 'im_' + grgrp + str(yr) + '.sh', 'w')
f.write('#!/bin/sh\n')
f.write('#SBATCH -N 1\n')
f.write('#SBATCH --ntasks-per-node=1\n')
f.write('#SBATCH -J %s_%d\n' % (grgrp, yr))
f.write('#SBATCH -t %s\n' %(time))
f.write('#SBATCH --mail-user=efuller@princeton.edu\n')
f.write('#SBATCH --mail-type=begin\n')
f.write('#SBATCH --mail-type=end\n')
f.write('#SBATCH --mem=%s\n\n' % (mem))
f.write('cd /tigress/efuller/raw_infoMap/Infomap\n\n')
f.write('./Infomap -N 10 --clu -2 ../%s%d.txt ..' % (grgrp, yr))
# write scripts to do k-nearest neighbor classification
for grgrp in grgroup:
if grgrp == 'POT':
time = '10:00:00'
mem = '80000'
else:
time = '2:00:00'
mem = '60000'
for cyr in class_years:
for byr in base_years:
if (grgrp == 'NET') and (byr == 2006) and (cyr == 2011):
mem = '80000'
if byr == cyr:
continue
if (grgrp == 'NET') and (byr == 2006) and (cyr == 2011):
mem = 80000
f = open(file_path + 'class_%s%s_%s.sh' % (grgrp, byr, cyr), 'w')
f.write('#!/bin/sh\n')
f.write('#SBATCH -N 1\n')
f.write('#SBATCH --ntasks-per-node=1\n')
f.write('#SBATCH -J %s_%s_%s\n' % (grgrp, byr, cyr))
f.write('#SBATCH -t %s\n' % (time))
f.write('#SBATCH --mail-user=efuller@princeton.edu\n')
f.write('#SBATCH --mail-type=begin\n')
f.write('#SBATCH --mail-type=end\n')
f.write('#SBATCH --mem=%s\n\n' % (mem))
f.write('cd /tigress/efuller/raw_infoMap\n\n')
f.write('Rscript 4_knn_classify.R %s "%s" %s "modified"\n' % (byr, grgrp, cyr))